WalkerDown 1 Posted May 26, 2013 Why all this long tutorial and the copying of those files? You only need to copy the server exe and the config to the main game path subfolders: Example with 3 servers: [arma3_path]/folder_1/arma3server_1.exe [arma3_path]/folder_1/config.cfg [arma3_path]/folder_2/arma3server_2.exe [arma3_path]/folder_2/config.cfg [arma3_path]/folder_3/arma3server_3.exe [arma3_path]/folder_3/config.cfg then you can launch all those three with: cd [arma3_path] @start folder_1\arma3server_1.exe -port=3314 -config=folder_1\config.cfg -cfg=basic.cfg -name=Server -profiles=folder_1\logs\ -noPause -noSound @start folder_2\arma3server_2.exe -port=3324 -config=folder_2\config.cfg -cfg=basic.cfg -name=Server -profiles=folder_1\logs\ -noPause -noSound @start folder_3\arma3server_3.exe -port=3334 -config=folder_3\config.cfg -cfg=basic.cfg -name=Server -profiles=folder_1\logs\ -noPause -noSound Share this post Link to post Share on other sites
terox 316 Posted May 26, 2013 (edited) Why all this long tutorial and the copying of those files? You only need to copy the server exe and the config to the main game path subfolders:Example with 3 servers: [arma3_path]/folder_1/arma3server_1.exe [arma3_path]/folder_1/config.cfg [arma3_path]/folder_2/arma3server_2.exe [arma3_path]/folder_2/config.cfg [arma3_path]/folder_3/arma3server_3.exe [arma3_path]/folder_3/config.cfg then you can launch all those three with: cd [arma3_path] @start folder_1\arma3server_1.exe -port=3314 -config=folder_1\config.cfg -cfg=basic.cfg -name=Server -profiles=folder_1\logs\ -noPause -noSound @start folder_2\arma3server_2.exe -port=3324 -config=folder_2\config.cfg -cfg=basic.cfg -name=Server -profiles=folder_1\logs\ -noPause -noSound @start folder_3\arma3server_3.exe -port=3334 -config=folder_3\config.cfg -cfg=basic.cfg -name=Server -profiles=folder_1\logs\ -noPause -noSound As and when I have time , i was going to try mlinking files and folders to the master such as the addons folders etc. Having not actually tested this yet my concern was that for example, if server 1 was running, wouldnt it lock all the addons, like it does MpMissions, and therefore not allowing another server instance the useage of the master addons folder. If this is working as you have described and doesn't "LOCK" the master files except the .exe then fantastic. Your solution is much better in most circumstances A question though, 1) How do you define different keys for each server, running differing mods etc 2) Do you hae to shut down all servers to edit the content of the MpMissions folder INITIAL POST UPDATED TO THIS POINT (Major rewrite taking into consideration the release of the arma3server.exe and the ability to run multiple instances of the same server Edited May 26, 2013 by Terox Share this post Link to post Share on other sites
WalkerDown 1 Posted May 26, 2013 1) How do you define different keys for each server, running differing mods etc The keys are stored in the @mod folder given in the command line, so there shouldn't be any problem (at least I had no problem.. i'm using this for A2 as well); 2) Do you hae to shut down all servers to edit the content of the MpMissions folder Only if you want to edit a mission that was there already when you started one of the shared folders. But there's a tip to circumvent it, if you're forced to do so and you cannot shut down all the server, you can copy the mission with another name, edit it, and launch the server with it (you only need to change the name in the config after all) ... then you can remove the old one when it's convenient to do so. Share this post Link to post Share on other sites
terox 316 Posted May 26, 2013 The keys are stored in the @mod folder given in the command line, so there shouldn't be any problem (at least I had no problem.. i'm using this for A2 as well); I wasn't aware you could run .bikeys from a mod folder path being @Mod\keys ? Share this post Link to post Share on other sites
WalkerDown 1 Posted May 26, 2013 I wasn't aware you could run .bikeys from a mod folderpath being @Mod\keys ? I believed you were talking about the client signatures (that are stored in the addons folder..), the server sig files are all stored in the /Keys/ top folder, and none of them (so far) had the same name (they are named versus the mod) so I didn't found any problem... so far. Share this post Link to post Share on other sites
[kh]jman 49 Posted May 27, 2013 Here's an update to my old ArmA2 dedicated server tutorial which now covers ArmA3 using SteamCMD, no Steam client install required and running multiple instances on the same box. http://www.kellys-heroes.eu/files/tutorials/dedicated/arma3dedicated.php Share this post Link to post Share on other sites
terox 316 Posted May 27, 2013 (edited) Jman;2402471']Here's an update to my old ArmA2 dedicated server tutorial which now covers ArmA3 using SteamCMD' date=' no Steam client install required and running multiple instances on the same box.[url']http://www.kellys-heroes.eu/files/tutorials/dedicated/arma3dedicated.php[/url] Thank's Kelly's. Have added a link to your tutorial in the first post I believed you were talking about the client signatures (that are stored in the addons folder..), the server sig files are all stored in the /Keys/ top folder, and none of them (so far) had the same name (they are named versus the mod) so I didn't found any problem... so far. Your system is a good choice in a lot of circumstances, but it has limitations, pro's and cons as do all methods So for anyone reading this thread, I will go through the different Multi server options available to us Multiple servers on the same machine Each method requires the following / server instance Port forwarding Config_***.cfg -profile= -port= METHOD 1 Setup Each virtual server is a mirror copy of the folder of the originally installed server Pro's Very Robust Runs it's own "Keys" folder Runs it's own "MPMissions" folder Allows you to run Development and Stable versions for the Alpha Cons Uses more disk space than the alternative methods Requires more effort to update (be it done manually or having to write .cmd files to automate the process) More likely to make mistakes especially when copying files manually METHOD 2 Setup This uses One server instance The server install has Sub folders where the "virtual" arma3server.exe's are run Each arma3server.exe is renamed to make it unique, eg. arma3server_1.exe; arma3server_2.exe Pro's Requires much less disk space than Method 1 Requires less effort to update (one click and the one install of ArmA3 is updated for every virtual server) Cons Uses a shared "Keys" folder Uses a shared "MPMissions" folder Does not allow for a combination of Stable & Development branch servers at the same time MpMissions folder needs additional administration, tagging missions with correct @MOD tag etc METHOD 3 Setup This is a hybrid of method 1 All required files and folders, (apart from perhaps MpMissions, keys cfg's) are sym-linkedto the original master install Pro's Requires much less disk space than Method 1 Requires less effort to update (one click and the one install of ArmA3 is updated for every virtual server) Very Robust Can Run it's own "Keys" folder if desired Can Runs it's own "MPMissions" folder if desired Cons Does not allow for a combination of Stable & Development branch servers at the same time May require some additional .cmd files etc to tweak it to your requirements This is probably the best option in most scenarios FAQ 1) Why would you not want to share the "Keys" folder ? If you have 2 virtual servers sharing the same keys folder and running the following scenario: Server 1 is running -mod=@MOD_A and has MOD_A.bikey in the keys folder Server 2 was running -mod=@MOD_B and has MOD_B.bikey Then a client could run MOD_A on server 2 or vice versa. This is not very desirable under any circumstances 2) Why would you not want to share the "MpMissions" folder ? If you have 2 virtual servers sharing the same MpMissions folder and running the following scenario: Server 1 is running -mod=@MOD_A Server 2 was running -mod=@MOD_B Then a client could attempt to launch @MOD_A missions on server 2 or vice versa because both @MOD missions reside in the same folder This is problematic and ideally should be avoided where possible MpMissions folder needs additional administration, tagging missions with correct @MOD tag etc One additional issue to think about If you want your Server icon to appear "Green" in the client's server browser, then you do not want to be running wioth a -mod line as this will create a yellow icon with a "?" next to your server for any client that is not running the same -mod line this is not the ideal situation if youn want to run a public, open server for recruitment etc. What does this mean to your Multi Server Setup? Well if you want to run serverside only addon, eg @CBA, Zeu_A3briefing, Zeu_Serverskill then the only way to create your "Green Icon" in the server browser is to put these addons directly into your ArmA3\Addons folder. This is not the most desireable setup, even though it is a paractical solution and will likely cause issues when updating your ArmA3 install regardless of the method used. This can be worked around using .cmd and robocopy after the A3 Update and therefore requires additional administration time to set up which is the one thing you want to cut down on Edited May 27, 2013 by Terox Share this post Link to post Share on other sites
pojo2k8 1 Posted May 27, 2013 How do you get your server to show up with the correct type (Coop) or loaded mission in the server browser? I can get mine to show up with the description I've given it, but if you filter to Co-Op in the server browser it then drops out even though it's a co-op mission (Whole Lotta Stratis .63 co-op). Thanks Share this post Link to post Share on other sites
terox 316 Posted May 27, 2013 (edited) How do you get your server to show up with the correct type (Coop) or loaded mission in the server browser? I can get mine to show up with the description I've given it, but if you filter to Co-Op in the server browser it then drops out even though it's a co-op mission (Whole Lotta Stratis .63 co-op).Thanks This is down to mission design and adding some code to the Description.EXT class Header { gameType = COOP; //game type minPlayers = 1; //min # of players the mission supports maxPlayers = 10; //max # of players the mission supports playerCountMultipleOf = 1; //OFP:Elite option. }; Also make sure your ports are forwarded correctly and you are running the config you defined Further Reading: http://community.bistudio.com/wiki/Description.ext Edited May 27, 2013 by Terox Share this post Link to post Share on other sites
jxjcksn 1 Posted May 27, 2013 TY Terox for a mind blowing comprehensive, notwithstanding, dynamically updated guide. Without which, idiots, like me, would be asking ALOT more stoopid questions. This guide has made A3 Alpha completely playable and viable for a Home Server / Client on the same machine for myself and 5 friends. Share this post Link to post Share on other sites
Kinsman 10 Posted May 28, 2013 Just a headsup that your steam account only needs to be associated with ArmA3 for the install, not updates. I used my personal account to install the server, and have been using our SERVER account for updates ever since, which is in no way associated with ArmA3. Also if anybody knows how to run the steamcmd everytime BEFORE the server starts, that would be awesome. I have automated the steamcmd with a script, but unsure how to get it to run each time the server starts, wihtout interfering with the startup of the server. Share this post Link to post Share on other sites
terox 316 Posted May 28, 2013 Just a headsup that your steam account only needs to be associated with ArmA3 for the install, not updates. I used my personal account to install the server, and have been using our SERVER account for updates ever since, which is in no way associated with ArmA3. Also if anybody knows how to run the steamcmd everytime BEFORE the server starts, that would be awesome. I have automated the steamcmd with a script, but unsure how to get it to run each time the server starts, wihtout interfering with the startup of the server. How are you starting your server ? best way is to probably call the arma3server.exe with the required parameters at the end of the updater script and then just run that Share this post Link to post Share on other sites
tomturner 10 Posted May 28, 2013 (edited) For a Win2003 server, I simply copied my c:\Program Files (x86)\Steam\*.* to my win2003 c:\Program Files\Steam\*.* (including the updated 0.58 Alpha). Then created the desktop icon on Win2003 using the target "c:\Program Files\Steam\Steamapps\common\Arma 3\arma3server.exe" -config=server.cfg -port=2302 and start in path to the Arma 3 folder in steam, everything loaded and runs just fine. No need to use Steamcmd or run Steam at all. Alternately, you can install Steam (only) as you normally would and copy your Arma3 folder from your gaming pc to the Win2003 as mention above. I also copy my missions.pbo's from my mission editor saves into the same Arma3 MPMissions folder on the Win2003 server. (c:\Program Files\Steam\Steamapps\common\Arma 3\MPMissions) Edited May 28, 2013 by tomturner Share this post Link to post Share on other sites
terox 316 Posted May 29, 2013 For a Win2003 server, I simply copied my c:\Program Files (x86)\Steam\*.* to my win2003 c:\Program Files\Steam\*.* (including the updated 0.58 Alpha). Then created the desktop icon on Win2003 using the target "c:\Program Files\Steam\Steamapps\common\Arma 3\arma3server.exe" -config=server.cfg -port=2302 and start in path to the Arma 3 folder in steam, everything loaded and runs just fine.No need to use Steamcmd or run Steam at all. Alternately, you can install Steam (only) as you normally would and copy your Arma3 folder from your gaming pc to the Win2003 as mention above. I also copy my missions.pbo's from my mission editor saves into the same Arma3 MPMissions folder on the Win2003 server. (c:\Program Files\Steam\Steamapps\common\Arma 3\MPMissions) Thx Tom, thats the first post that states they can run A3 on Win2003 Share this post Link to post Share on other sites
squelch 0 Posted May 30, 2013 Also if anybody knows how to run the steamcmd everytime BEFORE the server starts, that would be awesome. I have automated the steamcmd with a script, but unsure how to get it to run each time the server starts, wihtout interfering with the startup of the server. There is a comprehensive list of Steam command line options that may help you here. https://developer.valvesoftware.com/wiki/Command_Line_Options Of particular note are the silent, and appstart switches. I believe it is possible to do just about everything including updates without ever entering the client GUI which is probably the most desirable on a server. You may need to introduce Steam to the dedicated server as a non steam app first though. Share this post Link to post Share on other sites
Kinsman 10 Posted May 30, 2013 How are you starting your server ?best way is to probably call the arma3server.exe with the required parameters at the end of the updater script and then just run that I'm running it as a service using UGCC. http://www.brainless.us/products.aspx So I have setup the Update Page so that we can manually update the server, but then figured it would be so much nicer if we could call the update script first, each time it starts. Bit of a first world problem I know, but never hurts to ask right? Share this post Link to post Share on other sites
terox 316 Posted May 31, 2013 I'm running it as a service using UGCC. http://www.brainless.us/products.aspxSo I have setup the Update Page so that we can manually update the server, but then figured it would be so much nicer if we could call the update script first, each time it starts. Bit of a first world problem I know, but never hurts to ask right? This I believe would require you to be in session 0, because you need to run a cmd console window for the steam updater. I use Firedeamon and have been trying to create a service to remotely launch the .cmd file which runs the A3 updater and to date have failed to do so. This may be of interest to you. I don't fully undertand it http://blogs.technet.com/b/askds/archive/2008/10/22/getting-a-cmd-prompt-as-system-in-windows-vista-and-windows-server-2008.aspx Share this post Link to post Share on other sites
kero81 1 Posted May 31, 2013 Someone here maybe has an Idea to fix this?! http://forums.bistudio.com/showthread.php?155933-You-were-kicked-of-the-Game Also my Day would be fixed too. :-( Share this post Link to post Share on other sites
terox 316 Posted May 31, 2013 Someone here maybe has an Idea to fix this?!http://forums.bistudio.com/showthread.php?155933-You-were-kicked-of-the-Game Also my Day would be fixed too. :-( Not enough info Can you explain exactly what set up you hve for your server/client scenario Eg dedicated server on remote box using the arma3server.exe or arma3.exe with -server switch stable or dev? and much more Share this post Link to post Share on other sites
kero81 1 Posted May 31, 2013 (edited) Yes sure. Here the Infos. I use the arma3server.exe. In the Mainfolder i have an Folder for the server.cfg and the basic.cfg. I also have an dedicated Machine histed by Hetzner, where i have an second Steam Account with ArmA2/OA/3. server.cfg // GLOBAL SETTINGS hostname = "[TWT]Testing|Regular|hostet by thewinningteam.de"; // The name of the server that shall be displayed in the public server list password = ""; // Password for joining, eg connecting to the server passwordAdmin = "xxx"; // Password to become server admin. // WELCOME MESSAGE ("message of the day") // It can be several lines, separated by comma // Empty messages "" will not be displayed at all but are only for increasing the interval motd[] = { "this contains my mesages"; }; motdInterval = 30; // Time interval (in seconds) between each message // JOINING RULES maxPlayers = 50; // Maximum amount of players. Civilians and watchers, beholder, bystanders and so on also count as player. // VOTING voteMissionPlayers = 99; // Tells the server how many people must connect so that it displays the mission selection screen. voteThreshold = 1.5; // 33% or more players need to vote for something, for example an admin or a new map, to become effective // INGAME SETTINGS disableVoN = 1; // If set to 1, Voice over Net will not be available vonCodecQuality = 10; // Quality from 1 to 10 persistent = 1; // If 1, missions still run on even after the last player disconnected. // MISSIONS CYCLE (see below) class Missions { class Wasteland { template="mission1.Stratis"; difficulty="Regular"; }; }; basic.cfg language="English"; adapter=-1; 3D_Performance=100000; Resolution_Bpp=32; Windowed=0; MinBandwidth=157200000; MaxBandwidth=813741824; MaxMsgSend=92; MaxSizeGuranteed=128; MaxSizeNonguaranteed=64; MaxCustomFileSize=0; serverLongitude=-115; serverLatitude=36; serverLongitudeAuto=-115; serverLatitudeAuto=36; To start the Server i have the Serverstart.bat File: start /high arma3server.exe -ip=78.46.99.70 -port=2342 "-config=xxx\server.cfg" "-profiles=xxx" "-name=Server1" "-cfg=xxx\basic.cfg" -noPause -noSound -cpuCount=2 -exThreads=1 -maxMem=2048 exit I dont use the Dev-Patch on the Root Server and my Home PC. Is there anything else you need, please let me know. For this, thank you for your Post. Greetings Kero81 | Markus Edited May 31, 2013 by kero81 Share this post Link to post Share on other sites
terox 316 Posted June 1, 2013 @Kero81 Your server.cfg doesnt have any steam ports defined (See the first post in this tutorial for more info) Als0 check out the Port forwarding section rethink your command line params. Do you really need -noPause -noSound (Dedicated server exe's dont run sound or graphics) cpuCount=2 - exThreads=1 -maxMem=2048 -name is kind of redundant when defining "hostname" in your server.cfg you may want to add -world=empty (For now this is kind of redundant as the only island that can possibly load is .stratis, however later that is going to change) Share this post Link to post Share on other sites
kero81 1 Posted June 1, 2013 Problem solved. Restarting the Root Server fixed it! =) Im happy now. =) Edit: No Fu.k!! Same Problem again!!!!!!!!!!!!!!!!! But i guess i know whats wrong. I host three ArmA2 Wasteland, 1 ArmA2 Dayz and this ArmA3 Server. I guess the Problems are the Ports. Maybe its a Problem with the 2302 Port?! @Terox Later i will check the first Post and add the Ports in server.cfg. Thanks for your Post mate. =) Share this post Link to post Share on other sites
kero81 1 Posted June 2, 2013 Finally, its working now. The Problem was my "The Haunted: Hells Reach" Server. This Server uses Port that ArmA3 needs to use. I had to switch Ports for the "THHR-Server" and now its working! =) @Terox Thank you very much for your Hind with the Ports! =) +1 for Terox. Share this post Link to post Share on other sites
Kinsman 10 Posted June 3, 2013 This I believe would require you to be in session 0, because you need to run a cmd console window for the steam updater.I use Firedeamon and have been trying to create a service to remotely launch the .cmd file which runs the A3 updater and to date have failed to do so. This may be of interest to you. I don't fully undertand it http://blogs.technet.com/b/askds/archive/2008/10/22/getting-a-cmd-prompt-as-system-in-windows-vista-and-windows-server-2008.aspx Well actually UGCC runs everything as SYSTEM, including the steamcmd (from the update page). All I can't figure out is how to run steamcmd (and exit it) BEFORE the server starts, given the amount of time to update will always vary. Share this post Link to post Share on other sites
terox 316 Posted June 3, 2013 Well actually UGCC runs everything as SYSTEM, including the steamcmd (from the update page). All I can't figure out is how to run steamcmd (and exit it) BEFORE the server starts, given the amount of time to update will always vary. Call the updater.cmd from UGGC and then attach the "start XYZservice code to the end of that script This is how you get a service to run a console window (.cmd file) Big thanks to killswitch for providing me with this information Following are how you would set this up for firedeamon, am sure UGCC is similar EXECUTABLE: C:\Windows\System32\cmd.exe working directory: C:\PathToCmdFile Parameters /C C:\PathToCmdFile\UpdateAndStartArmA3.cmd and then the .cmd file itself UpdateAndStartArmA3.cmd Take note, all the "pause" commands have been removed from this copy of the updater.cmd that I listed in the initial post The new lines have been added in blue, to highlight them You would define the blue section of this line of code as the service name you are using to start your ArmA3 server in UGCC SET A3Service=MyArmA3Service @echo offSETLOCAL ENABLEDELAYEDEXPANSION :: DEFINE the following variables where applicable to your install SET STEAMLOGIN=mylogin mypassword SET A3BRANCH=107410 -beta development :: For stable use 107410 -beta :: For Dev use 107410 -beta development :: Note, the missing qotation marks, these need to be wrapped around the entire "+app_data......" SET A3Path=D:\Games\A3Master SET STEAMPATH=D:\apps\Steam SET A3Service=MyArmA3Service :: Make sure the service is stopped, otherwise you wont be able to update the files Net stop %A3Service% :: _________________________________________________________ echo. echo You are about to update ArmA3 echo Dir: %A3Path% echo Branch: %A3BRANCH% echo. %STEAMPATH%\steamcmd.exe +login %STEAMLOGIN% +force_install_dir %A3Path% +"app_update %A3BRANCH%" validate +quit echo . echo Your ArmA3 is now up to date :: Now that the update is complete, lets start the server Net start %A3Service% Share this post Link to post Share on other sites