Teach 79 Posted December 27, 2018 (edited) Updated 12/30/18 Okay, so I have done my setup from scratch and I'm going to provide a step by step walk-through. I believe this is a good starting point for any new server owner looking to get up and running for the first time, or someone looking to play "Singleplayer" (Note: From my testing, the server needs to interact with Steam bi-directionally even for LAN/SP- some ISP's such as cellular hot-spots or NAT conditions may not work!). While this guide can be applied to all server types, the examples are geared towards a 1x1 grid. This can also be used as a debug process for advanced server owners to test things: _________________________________________________________________________________________________________________________________________________________ Downloads: BAT Files & 1x1 Map Grid Template: https://drive.google.com/open?id=1MQ-8-WTta10p-TbAmnJ3DbfmNsDjaLsD (AtlasSrvBats.zip) ServerGridEditor: https://github.com/GrapeshotGames/ServerGridEditor (Hit "Clone or Download" then "Download Zip") steamcmd: http://media.steampowered.com/installer/steamcmd.zip NOTE: Make sure you update ServerGridEditor when changes are made to the git! Or even better- setup GIT and have it pull updates for you! _________________________________________________________________________________________________________________________________________________________ Server Setup: 0) Create a directory where you will put the server files (Eg. X:\AtlasSrv) 0a) Open "AtlasSrv" and create "steamcmd" and "AtlasTools" 0b) Extract steamcmd.zip into "steamcmd" and run "steamcmd.exe" 1 time to set it up. When the prompt shows "Steam>" with an OK message above you can close this window. "steamcmd" folder should look like this now: 0c) Go back to "AtlasSrv". Open "AtlasSrvBats.zip". Extract the "LAUNCH_ATLAS_00.bat" and "ATLAS STEAMCMD.BAT" to this folder. 0d) Right-Click "ATLAS STEAMCMD.bat" and click Edit. Replace the contents of this file with (Change "X:\AtlasSrv" in both entries with the directory you are using): start /wait /high X:\AtlasSrv\steamcmd\steamcmd.exe ^ +login anonymous ^ +force_install_dir X:\AtlasSrv\ ^ +app_update 1006030 validate ^ +quit 0e) Save & Close. Run "ATLAS STEAMCMD.bat. You may be prompted with firewall permissions, you must "Allow Access". (This process will take some time) 1) Your Atlas server directory should look like this upon completion: Congrats! Your server files are now downloaded and on the latest version. You can use ATLAS STEAMCMD.bat at any time to validate and upgrade the server. Now onto the map! _________________________________________________________________________________________________________________________________________________________ Map: 1) Extract "ServerGrid1x1" folder from "AtlasSrvBats.zip" to the "AtlasTools" folder 2) Extract the ServerGridEditor zip to the "AtlasTools" folder. Open "ServerGridEditor.exe" within the "SeverGridEditor-master" folder 2a) Open the "Island Editor" (ServerGridEditor.exe), "Open project" and navigate to the ServerGrid.json file we extracted into "AtlasTools" 2b) Click "Project > Create" in the top left. Copy the "Atlas ID" and CANCEL. 3) Click "Project > Edit": 4) Paste the "Atlas ID" you have on your clipboard into the "Atlas ID" of this window. 5) Change "Friendly Name" to your Server Name. Change "Atlas Password" if you want a password on the server (This will be needed to keep people out for singleplayer!) 6) Click "Edit" at the bottom. 7) Ctrl+Left Click on the map: 7a) Set "Name" to what you want for name of your Freeport (Grid) 7b) Set "IP" to your Server external IP (whatismyip.com). Server internal IP (192.168.x.x) can be used, but this will disable public access! 7c) Hit "Save" at the bottom (You can make more changes later but in first-time situation, it's nominally best to use default settings). 7d) Back in Island Editor (ServerGridEditor), Click Export > Local Export ALL. Click ok to the default location. Popup should say "Success". 7e) Click Project > Save. Navigate to the "AtlasTools" folder, create a new folder "Live project", use the file name "ServerGrid" and "Save". (This way you can edit more later and keep the template untouched!) 7f) Close Island Editor. Open "AtlasTools/ServerGridEditor-master/Export/" folder. Cut/Copy the "ServerGrid" folder and 2 JSON files: 7g) Navigate to "AtlasSrv/ShooterGame" and paste: 7h) So close! Navigate back to "AtlasSrv" and Right-Click "LAUNCH_ATLAS_00.bat" and Edit. Replace the contents with (Replacing "X:\AtlasSrv" with your directory, and "SeamlessIP" with External IP) start /high X:\AtlasSrv\ShooterGame\Binaries\Win64\ShooterGameServer.exe Ocean?ServerX=0?ServerY=0?AltSaveDirectoryName=00?ServerAdminPassword=123?MaxPlayers=30?ReservedPlayerSlots=25?QueryPort=57561?Port=5761?SeamlessIP=1.2.3.4 -log -server -NoBattlEye exit @Firedragon's Command line if the above does not work for you: 2 hours ago, Firedragon said: Updated command line: ShooterGame\Binaries\Win64\ShooterGameServer.exe Ocean?bIncreasePvPRespawnInterval=True?IncreasePvPRespawnIntervalBaseAmount=30?ServerX=0?ServerY=0?AltSaveDirectoryName=00?ServerAdminPassword=myownpass?MaxPlayers=125?ReservedPlayerSlots=25?QueryPort=57561?Port=5761?RCONEnabled=true?RCONPort=28001?DayCycleSpeedScale=0.500000?DayTimeSpeedScale=0.500000?NightTimeSpeedScale=2.000000?DinoCountMultiplier=2.000000?ResourcesRespawnPeriodMultiplier=0.700000?bAllowUnlimitedRespecs=true -log -server -NoBattlEye 7i) Save & Close. Navigate to "AtlasTools/redis-server". Run "redis-server_start.bat". Wait for the command line to say ready to accept connections. 7j) Configure port forwarding with these ports on your router. Change the IP to match the one you put on the Map file: 7k) The moment you've been waiting for; Navigate back to "AtlasSrv" and Run "LAUNCH_ATLAS_00.bat". When the command prompt displays how many cores it is running on, your server is up! OPTIONALS redis-server: redis-server.conf has options to change your database password and how much RAM (maxmemory in the conf) the database will use in bytes. I personally set the maxmemory to 1GB (1073741824) for my 1x1 testbed. I don't play often locally so I dont know the impact other than a possible crash if the DB runs out of memory (redis does require a pagefile, so I think it will start writing to the disk if it runs out of memory? not 100%) . The DB file is saved on the disk in the same folder so you can track it's size over time and adjust accordingly. I'm not sure on the specifics, but I would say it's safe to keep the max memory 2.5x higher than the database size AT MINIMUM (to account things like the database copying itself and swap space). For sake of argument me playing by myself without doing much the database was about 90MB, so 1GB RAM allocation should be plenty of breathing room for the forseen future. If you change your password in the redis-conf (for added security), you must also update your passwords in the map file under Project > Edit (You can see the old password "foobared" in one of the images above. These should reflect your conf file). AtlasSrvBats.zip also comes with an undocumented, but included "LAUNCH ATLAS ALL.bat". This file can be placed in "X:AtlasSrv" (Your server's root directory with the other bats) and be used to start redis-server and server/s in one shot. It is currently setup to launch redis-server and the first grid server. Additional grids can be launched by un-commenting (removing the #) from the corresponding lines, and making a copy of "LAUNCH_ATLAS_00.bat" for each additional grid (LAUNCH_ATLAS_01.bat, etc), and editing their launch strings accordingly (Correct X/Y, ports, etc). TROUBLESHOOTING Still can't connect to server after following guide? There are many different networking situations based on individual setup and ISP that no 1 guide can account for all. Most issues connecting beyond following this guide come from user error, improper hardware configuration (PC/Router/Modem), or Local/ISP NAT restrictions (Some net providers and most cellular hot-spot providers, see CGN https://en.wikipedia.org/wiki/Carrier-grade_NAT). Some users have reported finding "NAT Acceleration" or similar options in their routers and disabling them has allowed them to connect. Double-check port settings on router and for Windows Firewall IN & OUT. Sometimes 1 digit missing or out of place is the simplest error. Make sure your launch bat parameters and map file details match your port settings in your router & firewall. Check within router (and modem, if accessible) for options to allow "Open" NAT (Sometimes set to secure by default) Make sure there is no "NAT Acceleration" taking place If you router has no buried NAT features, you can attempt this workaround: A NAT Loopback workaround method for some newer routers and ISP modem/router combos that do not support NAT Loopback: https://forum.sector3studios.com/index.php?threads/workaround-if-you-cannot-join-your-own-dedi-server.4672/ You -CANNOT- ever connect directly to the internal IP of the server. You must connect from your External IP (forming a hairpin): If your client PC IP is 192.168.1.2 and your server PC IP is 192.168.1.3 You share a WAN/Internet IP (whatismyip.com) that you use to connect as if you were an external client: 192.168.1.2 -> WAN IP -> 192.168.1.3 steam://connect/WAN IP:Port (Replace WAN IP and Port with corresponding numbers) 192.168.1.2 -> 192.168.1.3 direct connect will never resolve (UNABLE TO QUERY INVITE) with current method used by Grapeshot to force steam usage. If all else fails, like some cellular mobile hotspots, your ISP may be using a CGN (Carrier-Grade NAT). You can read more on CGN here: https://en.wikipedia.org/wiki/Carrier-grade_NAT If you have a CGN'd IP from your ISP, you will not be able to host a server until things can be run completely local, or your ISP can move you to an IP pool that is not governed by their CGN implementation. As a very last resort, if your dedicated server is online and visible to others, but you cannot connect to your own local server, and the NAT Loopback fix does not work- Consider using a VPN like Windscribe (free 10/20GB month with tweet/voucher promo). http://windscribe.com - You want to use the VPN on the PC you are playing on, NOT the server. Doing this will give you a virtual hairpin where you can connect to your own external IP. If you are playing on the same computer as the server, you will need to use a VPN program that is application specific (Proxifier), and point it towards AtlasGame.exe. This way, the VPN becomes your hairpin back to your external/WAN IP only for ATLAS, while the server continues to do it's thing unaffected by the VPN. UPDATES 12/30/18 - Updated download links, cleaned up guide to reflect changes Good luck , Sailors! -Teach Edited February 1, 2019 by Teach 1 6 Share this post Link to post Share on other sites
Teach 79 Posted December 27, 2018 Reserved for future additions if the mods will grant me edit capabilities Share this post Link to post Share on other sites
psykikk 66 Posted December 27, 2018 does that mean you have a 1x1 grid, so one grid square with about 2-5 islands ? did you run it on a dedicated machine ? whats the overhead and specs ? thanks in advance and great work. Share this post Link to post Share on other sites
Teach 79 Posted December 27, 2018 (edited) 7 minutes ago, psykikk said: does that mean you have a 1x1 grid, so one grid square with about 2-5 islands ? did you run it on a dedicated machine ? whats the overhead and specs ? thanks in advance and great work. Yes, this map is 1 square with about 2-5 islands as a template. Credit goes to @cpjet64 for the map template and bats, and credit to @Scruck for the port forwarding image I borrowed. Each grid requires about 4GB of ram (for shootergame.exe) and "2 cores" of dedicated processing power. I haven't spent much time monitoring redis-server, but from what I can tell you can scale how much RAM it uses through the conf as I explained above...so 4GB + Redis = RAM Usage For spec, I'm running a 1x1 grid on: Intel E8400 8GB Generic DDR-2 Ram (I think) The server and database are currently pretty much maxing out this systems resources, but it "runs" for all said purpose. I would say you would benefit from much stronger processor/ram, but this would be the very bare minimum. Edited December 27, 2018 by Teach 1 Share this post Link to post Share on other sites
psykikk 66 Posted December 27, 2018 nice. thank you so much for the response. I have a spare pc with 32 gigs of ram and a 4gh chip. (4 cores) should be able to run a 2x2 maybe ? Share this post Link to post Share on other sites
Teach 79 Posted December 27, 2018 Just now, psykikk said: nice. thank you so much for the response. I have a spare pc with 32 gigs of ram and a 4gh chip. (4 cores) should be able to run a 2x2 maybe ? I think you mean 1x2? Scalability really comes down to your player count also...what "runs" well idle, may not run the same when people start whacking away at resources and mobs, building stuff etc. I would say that system could safely run a 1x2 or 2x1...then I would expand and monitor the resource usage (mainly CPU). I'm sure you could get a 1x3/3x1 or a 2x2- maybe even "spool up" more grids...but there really isn't enough external data present at the moment for one to definitively say under load what you could manage. Until that time comes, it's going to be trial & error. 1 Share this post Link to post Share on other sites
Teach 79 Posted December 27, 2018 Connecting via Steam "Servers" browser: With the server running, you can add your external IP:Port as a favorite and connect externally without going through ATLAS' serverlist. ( Your network/router must support "hairpinning" (NAT Loopback) ) Share this post Link to post Share on other sites
Teach 79 Posted December 27, 2018 (edited) Adding "MultiHome=<Put Server LAN IP Here>?" to your launch bat may help resolve connecting to LAN servers when "hairpinning" is not possible in some situations. start /high X:\AtlasSrv\ShooterGame\Binaries\Win64\ShooterGameServer.exe Ocean?ServerX=0?ServerY=0?AltSaveDirectoryName=00?ServerAdminPassword=123?MaxPlayers=30?ReservedPlayerSlots=25?QueryPort=57561?Port=5761?MultiHome=192.168.1.9? -log -server -NoBattlEye exit Thank you @Scruck Edited December 27, 2018 by Teach 1 Share this post Link to post Share on other sites
dunkah 1 Posted December 27, 2018 Thanks, this helps a ton. For some reason my map doesn't have any land, is there something I missed? Share this post Link to post Share on other sites
Teach 79 Posted December 27, 2018 @dunkah Did you copy the ServerGrid folder and 2 JSON files from the Export folder in ServerGridEditor-master to ShooterGame? Within the ServerGrid folder should be 2 images. When you did the Local Export, was the map visible in the Island Editor? it should have some islands as part of the template. Share this post Link to post Share on other sites
dunkah 1 Posted December 27, 2018 Yea, it has all the paths, just no islands, I even tried adding some and they show the image in the map, but no mass in game. I'll delete and go through it again, maybe I did something stupid somewhere. Share this post Link to post Share on other sites
Teach 79 Posted December 27, 2018 (edited) 6 minutes ago, dunkah said: Yea, it has all the paths, just no islands, I even tried adding some and they show the image in the map, but no mass in game. I'll delete and go through it again, maybe I did something stupid somewhere. You only need to clear the contents of the "Export" folder of the Island Editor (as I believe there are some issues with overwriting). Then I would just open the ServerGrid.json from the rar and start from there I wouldn't change any of the default islands on the map until its running and you can join with them there. Edited December 27, 2018 by Teach Share this post Link to post Share on other sites
dunkah 1 Posted December 27, 2018 Works now, I broke my editor earlier, so no maps were showing up. I fixed that and this time when I opened it up I had islands Thanks for the help. 1 Share this post Link to post Share on other sites
Teach 79 Posted December 27, 2018 A NAT Loopback workaround method for some newer routers and ISP modem/router combos that do not support NAT Loopback: https://forum.sector3studios.com/index.php?threads/workaround-if-you-cannot-join-your-own-dedi-server.4672/ Share this post Link to post Share on other sites
thekraken 3 Posted December 27, 2018 (edited) Followed this guide on a dedicated server I'm running with server2k12 -Atlas server seemed to launch without errors -Firewall is completely disabled, even explicitly allowed the ports -Steam shows the server online when I add it to my server list -When I try to connect it opens atlas and says "unable to query server for invite info" In my server list my the name shows as my freeport name not my WorldFriedlyName Edited December 27, 2018 by thekraken Share this post Link to post Share on other sites
Teach 79 Posted December 27, 2018 (edited) 3 minutes ago, thekraken said: Followed this guide on a dedicated server I'm running with server2k12 -Atlas server seemed to launch without errors -Firewall is completely disabled, even explicitly allowed the ports -Steam shows the server online when I add it to my server list -When I try to connect it opens atlas and says "unable to query server for invite info" In my server list my the name shows as my freeport name not my WorldFriedlyName Please attempt the additional fixes listed in the posts following the guide, including Multihome addition, Connecting through steam browser via WAN/Internet IP, and NAT Loopback workaround. Also, with the client patched to 7.0, and the server files currently limited to 6.2 (7.0 to come out when they feel its "stable" on official) you cannot see unofficial 6.2 servers with 7.0 client. Edited December 27, 2018 by Teach 1 Share this post Link to post Share on other sites
thekraken 3 Posted December 27, 2018 1 minute ago, Teach said: Please attempt the additional fixes listed in the posts following the guide, including Multihome addition, Connecting through steam browser via WAN/Internet IP, and NAT Loopback workaround. Also, with the client patched to 7.0, and the server files currently limited to 6.2 (7.0 to come out when they feel its "stable" on official) you cannot see unofficial 6.2 servers with 7.0 client. -I'm running this on a public server in a datacenter, no NAT setup on this network ( I run the network so there is no nat for sure) -As said in my first post ( sorry if I wasn't clear) I have it in the steam browser in XXX.XXX.XXX.XXX:5761 , it shows running but no players online -Good info for not seeing thank you. One thing I'm noticing is that copying the startup scripts from here seems to be adding some hidden/weird characters when I paste them in had to correct a few to get it to launch might be worth noting in original post Iam seeing some errors in the server client console about SteamSocketOpenSource: gethostname() Still no luck getting in, same error. Tried with multihome option set and no luck still Share this post Link to post Share on other sites
Teach 79 Posted December 27, 2018 3 minutes ago, thekraken said: -I'm running this on a public server in a datacenter, no NAT setup on this network ( I run the network so there is no nat for sure) -As said in my first post ( sorry if I wasn't clear) I have it in the steam browser in XXX.XXX.XXX.XXX:5761 , it shows running but no players online -Good info for not seeing thank you. One thing I'm noticing is that copying the startup scripts from here seems to be adding some hidden/weird characters when I paste them in had to correct a few to get it to launch might be worth noting in original post Iam seeing some errors in the server client console about SteamSocketOpenSource: gethostname() Still no luck getting in, same error. Tried with multihome option set and no luck still I'd love to edit the original post but currently don't have the power to do so. maybe @Khilandros could help? 7.0 server files are available- use your ATLAS STEAMCMD.bat to update to 7.0. After update, please post your launch batch file. gethostname() error is common, and can be ignored. 1 Share this post Link to post Share on other sites
thekraken 3 Posted December 27, 2018 (edited) I updated to 7.0 already this is a fresh server I setup following your guide. start /high C:\Users\Administrator\Desktop\atlas-3\ShooterGame\Binaries\Win64\ShooterGameServer.exe Ocean?ServerX=0?ServerY=0?AltSaveDirectoryName=00?ServerAdminPassword=123?MaxPlayers=30?ReservedPlayerSlots=25?QueryPort=57561?Port=5761?MultiHome=xxx.xxx.xxx.xxx? -log -server -NoBattlEye exit Edited December 27, 2018 by thekraken Share this post Link to post Share on other sites
Teach 79 Posted December 27, 2018 (edited) 1 minute ago, thekraken said: I updated to 7.0 already this is a fresh server I setup following your guide. start /high C:\Users\Administrator\Desktop\atlas-3\ShooterGame\Binaries\Win64\ShooterGameServer.exe Ocean?ServerX=0?ServerY=0?AltSaveDirectoryName=00?ServerAdminPassword=123?MaxPlayers=30?ReservedPlayerSlots=25?QueryPort=57561?Port=5761?MultiHome=45.199.230.116? -log -server -NoBattlEye exit Sloop Dawg Memorial Harbour is coming up as v6.2 Edited December 27, 2018 by Teach 1 Share this post Link to post Share on other sites
Khilandros 57 Posted December 27, 2018 hmm? you should be able to edit your own main post...strange. what lines need to be changed/added? Share this post Link to post Share on other sites
thekraken 3 Posted December 27, 2018 Ahh, I ran that about 30-40 mins ago guess 7.0 had been posted by then, thanks, I'll try that. Share this post Link to post Share on other sites
Teach 79 Posted December 27, 2018 Just now, Khilandros said: hmm? you should be able to edit your own main post...strange. what lines need to be changed/added? @Khilandros We are currently limited to x amount of changes and you can only change for a few minutes after you create the post. Quite a bit =/ Can I message you, or perhaps figure out a way to give guide makers extended edit access? IPB has plenty of ways to accomplish this. Share this post Link to post Share on other sites
Khilandros 57 Posted December 27, 2018 I will pass this on and see if the edit issue can be fixed. 1 Share this post Link to post Share on other sites
Teach 79 Posted December 27, 2018 9 minutes ago, thekraken said: Ahh, I ran that about 30-40 mins ago guess 7.0 had been posted by then, thanks, I'll try that. If you are connecting remotely to the datacenter server, you probably won't need multihome- just compatible versions (7.0 on both ends). If you are connecting from within the datacenter- well I will keep my fingers crossed to hear from you 1 Share this post Link to post Share on other sites