Jump to content

zabbalitto

unofficial dedicated server guide

Recommended Posts

Hi all,

I've been in this forum for just a few hours. I'm not a pro when it comes to setting up servers or ark servers in general. But I managed to get pretty far in setting up my servers. They start without any errors. The only problem I have is with my NAT, but that's due to the fact that my router suxx.

 

So here we go, the guide:

Contents:

1. download gameserver with steamCMD

2. download the Atlas world editor from github

3. create a *.json file with the world editor

4. export the *.json files

5. Redis

6. preparing your batch files 

7. error handling (unfinished)

8. port forwarding (NAT setup)

9. controll / start everything

 

 

1. Download game server with SteamCMD

if the above link does not work, please go to the official valve page to download it from there: https://developer.valvesoftware.com/wiki/SteamCMD#Downloading_SteamCMD

  • unzip the downloaded file to your favorable place (I did put mine to c:\steamCMD to make things easier for myself. Be aware that you need some space for the dedicated server to download. I believe the Atlas server software is around 18GB at the moment.)
  • start steamcmd.exe as administrator (it also should work without starting it as an admin, but to be on the safe side...)
  • type (without quotes) "login anonymous" --> this will log you in
  • now you have 2 options:
    • Option 1: download the dedicated software to a specific folder:
      • type following command and hit enter:
        force_install_dir "yourHDD:\yourPreferredFolder\" +app_update 1006030 validate
        Please replace yourHDD with the drive you want to install it to. Please replace "yourPreferredFolder" with your desired folder name (probably something like AtlasDedicatedServer). It is possible that the command validate is not working, in this case, just leave it away. This should no start the download of the desired server files into your specified folder.
    • Option 2 (recommended): download the dedicated server software to your steamCMD folder and let steamCMD handle everything for you
      • type following command and hit enter:
        app_update 1006030 validate
        in case the command validate is causing issues, just leave it away
  • after it has dowwnloaded and verified/installed the dedicated server continue with step 2. download the Atlas editor from github

2. download the Atlas world editor from github

3.  create a *.json file with the world editor

Prepping the map:

  • go into the unziped folder Drive:\...\ServerGridEditor-master\ and open "ServerGridEditor.exe" as an admin (just in case... obviously this is always on your own risk. Things work fine for me without having it to start as an admin)
  • click on "Load Project"
  • either you are already in the proper folder "Projects" or you will have to navigate to x:\FolderWhereYouPlacedTheServerGridEditor\Projects and select "ServerGridSmall.json"
  • This ill give you a small map with a 2x2 grid. 
  • go to Project --> Edit
  • Change the field "Atlas ID" to a unique number (lol... that's the description, but yeah... how to know it is unique??? ¯\_(ツ)_/¯ )
  • (Change the field "Friendly Name" to your server name I guess ¯\_(ツ)_/¯)
  • click on save
  • tick the checkbox at the bottom of the window in the main editor screen, that is labeled with:"Show Ship Paths
  • use the mousewheel to zoom out of the map. At some point, you should see some "circles" with red and blue dots. These things are apparently ship paths (probably NPC ship paths). You need to delete them. To do so, move your mouse over one of  the black dots (the mouse cursor will change to a hand symbol) and press "shift + delete".
  • At some point I would like to add more info here about how to change the map, adding and removing islands, but for now I am too lazy

Prepping the Server related info for the map:

  • "ctrl + left mouse" on the top left grid to open up the "Edit Server" window for your first (in this case also home server) server
    • Change "IP" to your external IP address (can be looked up at www.whatismyip.com for example...)
    • Change Port: 57550 (this will be one of the ports that you need to forward on your router. So obviously you can change it to what ever you want if you know what you do)
    • Change Game Port: 5750 (this will be one of the ports that you need to forward on your router. So obviously you can change it to what ever you want if you know what you do)
    • click on "Save"
  • "ctrl + left mouse" on the top right grid to open up the "Edit Server" window for your second server
    • Change "IP" to your external IP address (can be looked up at www.whatismyip.com for example...)
    • Change Port: 57551 (this will be one of the ports that you need to forward on your router. So obviously you can change it to what ever you want if you know what you do)
    • Change Game Port: 5751 (this will be one of the ports that you need to forward on your router. So obviously you can change it to what ever you want if you know what you do)
    • click on "Save"
  • "ctrl + left mouse" on the bottom left grid to open up the "Edit Server" window for your third server
    • Change "IP" to your external IP address (can be looked up at www.whatismyip.com for example...)
    • Change Port: 57552 (this will be one of the ports that you need to forward on your router. So obviously you can change it to what ever you want if you know what you do)
    • Change Game Port: 5752 (this will be one of the ports that you need to forward on your router. So obviously you can change it to what ever you want if you know what you do)
    • click on "Save"
  • "ctrl + left mouse" on the bottom right grid to open up the "Edit Server" window for your fourth server
    • Change "IP" to your external IP address (can be looked up at www.whatismyip.com for example...)
    • Change Port: 57553 (this will be one of the ports that you need to forward on your router. So obviously you can change it to what ever you want if you know what you do)
    • Change Game Port: 5753 (this will be one of the ports that you need to forward on your router. So obviously you can change it to what ever you want if you know what you do)
    • click on "Save"

You now have configured the ports for your servers and you also already have set the external IP address of your hosts, so that people can connect to your server. The grid will be managed by your Redis server.

A note to the above. I am not 100% sure about the difference between "Port" and "Gane Port" and it might be that this is causing the issues for me. At the moment I believe that both need to be able to talk to the internet, thus both need to be forwarded in the NAT settings. So this part of the tutorial might change if I am more clear about the meaning of these two parameters.

 

4. export the *.json files

  • Go to Export --> Map Image
    • this will export the map image. Put it into your ServerGridEditor-master\Projects folder. Name it ServerGrid.jpg
  • Go to Export --> Local Export
    • Put it into your ServerGridEditor-master\Projects folder
  • You now should have 3 files 
    • ServerGrid.jpg
    • ServerGrid.json
    • ServerGrid.ServerOnly.json
  • Copy these files into your dedicated server Drive:\...\ATLAS Dedicated Server\ShooterGame (for me this looks like following: C:\steamCMD\steamapps\common\ATLAS Dedicated Server\ShooterGame\)

 

5. Redis

  • Go to Drive:\...\ATLAS Dedicated Server\AtlasTools\RedisDatabase (obviously, if you chose another path for your dedicated server, change the path accordingly)
  • start the "redis-server_start.bat" and boom, it should just run like that. BTW. if it shouldn't run, try starting it as admin

Note: I changed the redis.conf file (just open it with a text editor to edit) and changed the password, as I think it's a bit risky to leave the standard password, since this whole thing will be exposed to the public web. If you do change the password, make sure to also change it in the world editor before you create the map. In the world editor go to Project --> Edit and you will find a section called "New Database Settings" and 5 rows "DB Entry 1 - 5" and a field called Password. Change it there accordingly and export the map.

I also did set the network settings to "bind 127.0.0.1" for testing reasons.
I am not giving more context to this at the moment as I think only experienced people should screw with this and it should not be needed to get your server up and running.

 

 

6. preparing your batch files 

  • Go to your Atlas dedicated server folder Drive:\...\ATLAS Dedicated Server\ShooterGame\Binaries\Win64 (or in my case to C:\steamCMD\steamapps\common\ATLAS Dedicated Server\ShooterGame\Binaries\Win64
  • Create 4 *.bat files and name them something like Grid1.bat, Grid2.bat, Grid3.bat, Grid4.bat (or whatever you prefer)
  • Edit the Grid1.bat file (with a text editor...) put following command in there:
    • ShooterGameServer.exe Ocean?ServerX=0?ServerY=0?AltSaveDirectoryName=B1?MaxPlayers=100?ReservedPlayerSlots=30?QueryPort=57550?Port=5750?SeamlessIP=1.2.3.4 -log -server -NoBattlEye
  • Edit the Grid2.bat file
    • ShooterGameServer.exe Ocean?ServerX=1?ServerY=0?AltSaveDirectoryName=B1?MaxPlayers=100?ReservedPlayerSlots=30?QueryPort=57551?Port=5751?SeamlessIP=185.82.207.104 -log -server -NoBattlEye
  • Edit the Grid3.bat file
    • ShooterGameServer.exe Ocean?ServerX=0?ServerY=1?AltSaveDirectoryName=B1?MaxPlayers=100?ReservedPlayerSlots=30?QueryPort=57552?Port=5752?SeamlessIP=185.82.207.104 -log -server -NoBattlEye
  • Edit the Grid4.bat file
    • ShooterGameServer.exe Ocean?ServerX=1?ServerY=1?AltSaveDirectoryName=B1?MaxPlayers=100?ReservedPlayerSlots=30?QueryPort=57554?Port=5754?SeamlessIP=185.82.207.104 -log -server -NoBattlEye

AFAIK the parameter MaxPlayers=100? is for max allowed players on a server and ReservedPlayerSlots=30? is the soft  cap for the servers. So it should show probably that 30 people could join, where as MaxPlayers then is the hard hard cap.

 

boom, ready to go, almost... the NAT settings are still waiting and maybe some issues to resolve.

 

7. error handling (unfinished)

To be honest, you should already have overcome all the so far reported issues on this board. The ones I am aware of are:

  • ship path error: that was due to the fact that there was a ship path outside of the server grid. By deleting them as described in the step "3.  create a *.json file with the world editor" this should not happen anymore
  • Sometimes people forget to start the redis server before running the batch files. This obivously also causes errors
  • If ports are not configured correctly, this can also cause issues. Double and tripple check if the ports and public IP set in the "ServerGrid.json" file are set correctly (there is 4 sections, one for each server and it's ports and the public IP address)
  • if your redis does not start properly, maybe try the new redis distribution (use google to find the link) and just start that instead. There is also a docoumentation on the official download page. ah whatever... here it is: 
  • (to be continued...)

 

8. port forwarding (NAT setup)

Port forwarding... the good old NAT settings hitting you with nearly every online game. So there is in general enoug docoumentation around the web on how to do this with your specific router. Just google it again if required. Otherwise you basically need to open the above under point 6 mentioned ports to be forwarded to your server. I will try to guide you through this, but only in a very general way. You still will have to get your password for the admin login and understand where to change the NAT settings on your router.

  • press "windows key" + r
  • type cmd and press enter
  • type  ipconfig 
  • copy your standard gateway IP address (something like 192.168.1.1 or 192.168.0.1 or 10.0.0.1 or whatever)
  • open a browser and paste the IP address there. This will bring you the admin console of your router.
  • Navigate to your NAT settings (also called Port forwarding, usually under advanced settings)
  • Setup following ports to be forwarded to your server
    • UPD & TCP 57550
    • UPD & TCP 5750
    • UPD & TCP 57551
    • UPD & TCP 5751
    • UPD & TCP 57552
    • UPD & TCP 5752
    • UPD & TCP 57553
    • UPD & TCP 5753

 

9. Control / start everything

In Theory, everything should be set now to start your server grid... Exciting 😄

It's very simple:

  1. Start your redis server (if you followed this guide without any break, it already should be up and running)
  2. double click your Grid1.bat to start your first server wait for it until it is fully started, then continue with the others (Grid2.bat...) in the same way.

 

I might add some pictures, but I think it all should be quite easy to understand without.

 

 

Notes / upcoming

Please add comments and let me know if something is wrong, so I can keep it up to date. In case there is feedback, I will look into this thread on a regular base during the next days to make it possible for everyone to start their dedicated server grids. At some point it might be nice to also dig into wan clusters (I just came up with this term...) and how to get bigger grids working together with your friends. I think that this would be cool. 

I would also like to add a guide on how to change server grids. At the moment, if you join the official servers, you see there is a huge map, but not all grids are up and running. So I can imagine that it is as simple as just creating a huge map and all according batch files, but only run the ones you want and in case you want to move to another grid, just start up the required server.

It might also be a clever idea to actually run this whole thing on seperate VM's. One for each server, so that it might be possible to allocate cores and ram better. But I am no expert in this at all. Since AMD has put out their 8 cores, things changed a bit in the server area, so this might be something that people are interested in because of that. Also obviously there is a few people on this board with xeon cpu's and they probably know a lot about how to set this up the best way?

How ever if possible, I will dig deeper into the whole topic, except the devs finally will provide a proper guide about it. (looking at you devs... wtf? Just 15 more minutes invested into your documentation would have helped tons of people a lot)

  • Thanks 1

Share this post


Link to post
Share on other sites

After following this my server shows i nthe server list, but when we go t o select a start grid it says No Session Found, any idea why?  (I have forwarded all the ports and disabled windows firewall, no change.)

Share this post


Link to post
Share on other sites

you could try to make your redis server lookup your localhost address. But Redis mentions that this is dangerous as Redis then will listen to just every IP address. Just open the redis config file with a text editor and search for 127.0.0.1 and uncomment that one line. I am actually still having issues with my router and the port forwarding, so it's hard for me at the moment to help you with anything 😕 

I am still in contact with some other guys that also are working on setting up their dedicated servers. Will get back to it once I resolved my issues.

Share this post


Link to post
Share on other sites

Thanks a ton for putting this together! 

For the Export JSON files step. The Export on my Island Editor has Export: Just Map Image like your instructions, and I'm assuming your Export -> Local Export is the same as my "Local Export All" option. When I do that I end up with 3 files: ServerGrid.jpg, ServerGrid.json, and ServerGridSmall.json. I don't see the ServerGrid.ServerOnly.json file you mention. Am I supposed to rename the ServerGridSmall.json to that?

Share this post


Link to post
Share on other sites

Kalizaar I am researching and not doing this just yet but try to make the example file ServerGridSmall.json to ServerGrid.json as a likely solution. 

Share this post


Link to post
Share on other sites
3 hours ago, Kalizaar said:

Thanks a ton for putting this together! 

For the Export JSON files step. The Export on my Island Editor has Export: Just Map Image like your instructions, and I'm assuming your Export -> Local Export is the same as my "Local Export All" option. When I do that I end up with 3 files: ServerGrid.jpg, ServerGrid.json, and ServerGridSmall.json. I don't see the ServerGrid.ServerOnly.json file you mention. Am I supposed to rename the ServerGridSmall.json to that?

local export always put its in the root export folder of the editor directory. At least thats what it does for me. 

At anyrate, yes you should get 3 files in that export folder. ServerGrid.JSON ServerGrid (Directory) and ServerGrid.ServerOnly.json.  If you dont see this I'd wager you arnt looking where it was actually exported. 

Also, when exporting the map. called it "MapIMG" and when exporting cell, call it "CellIMG"
you should get MapIMG.jpg and CellIMG_X-X.png. Make sure those are the file types. Put those in the ServerGrid directory that you exported earlier. 

Edited by Atlasprime

Share this post


Link to post
Share on other sites

well tried so many ways now, i cant find my server in the list, server is starting and i didnt had any problems with other servers on my root, used right ip´s and forwarding is right too.

Server just dont want to appear, i dont understand this.

btw. Server ip: 89.163.255.203

Share this post


Link to post
Share on other sites
22 minutes ago, dlyfreak said:

well tried so many ways now, i cant find my server in the list, server is starting and i didnt had any problems with other servers on my root, used right ip´s and forwarding is right too.

Server just dont want to appear, i dont understand this.

btw. Server ip: 89.163.255.203

 

Can people outside of your network see it online?  

Share this post


Link to post
Share on other sites

im outside, its not in my home network, i can find it in the steam Server list too, but ingame i cant find it.

and ya, tried it with a m8 from me, he could find it in the Steam Server Browser too but not ingame Server Browser.

Share this post


Link to post
Share on other sites

I have the 4 servers running but when I try to travel from the home freeport server to one of the other 3 I get a host timed out error and I am not able to log back in. Seems like the servers are not talking or something. How can I fix this?

Share this post


Link to post
Share on other sites
3 hours ago, Skinns said:

I have the 4 servers running but when I try to travel from the home freeport server to one of the other 3 I get a host timed out error and I am not able to log back in. Seems like the servers are not talking or something. How can I fix this?

Do not use these ports with increments of 1.

Don't use 57555 grid 1 and 57556 grid 2.

Sometimes it works, often it won't.

For example use 57555 and 5755 for grid 1 and 57560 and 5760 for grid 2 etc.

Plus, don't forget that the seamlessdata port (27000, 27001 etc) needs to be forwarded too.

 

This solved al my problems with it.

Edited by Gfrannic
  • Like 1

Share this post


Link to post
Share on other sites

Hi, I managed to have my server show up in the public list and everything. For whatever reason whenever I am joining the server it loads forever then says connection timed out... any ideas?

 

Even shows up on the steam server thing

Edited by BlueApple

Share this post


Link to post
Share on other sites

Hello,
This guide is amazing and I managed to get a server up and running in a much shorter time than I was expecting.

I can't figure out how to get the map image file to where it actually works though.  I still just see the cloudy grey stuff both connecting to the atlas and in game.  Could somebody help verify where exactly you're supposed to put the map and cell images and what they're supposed to be named to get anything working?

Share this post


Link to post
Share on other sites
On 1/5/2019 at 9:50 AM, Gfrannic said:

Do not use these ports with increments of 1.

Don't use 57555 grid 1 and 57556 grid 2.

Sometimes it works, often it won't.

For example use 57555 and 5755 for grid 1 and 57560 and 5760 for grid 2 etc.

Plus, don't forget that the seamlessdata port (27000, 27001 etc) needs to be forwarded too.

 

This solved al my problems with it.

I can now travel to my other grids using this method, however when i quit the game and load back into one of the grids it says i have a server query port error. i can only join the home server which means to create a new character

Share this post


Link to post
Share on other sites

 do i need to forward the port the redis server operates on?

do i need to have one redis server per grid server?

 

 i would appreciate it if you added how to install mods to this guide

 edit: it is impossible to transfer between the servers, if i sail a ship to the border it says its going to server grid A2 then after a minute or two it times out. when i try and connect i cant use the rejoin button as it says invalid query for invite. but if i go by join new server i can join the freeport server again fine, just none of the others

Edited by oscarthegrouch

Share this post


Link to post
Share on other sites

i have just had a revelation about the not being able to cross servers problem, there was something similar to this in Ark where you wouldnt be able to see the servers in your cluster from the obelisk if they were running on your LAN. and seeing as how atlas grids are just 4 servers clustered and that it is based heavilly off of ark's base it would make sense that the same problem is being encountered here.  i know of no way to circumvent this other than hosting servers on a different network to you but i will look into it and post any updates i find here

Share this post


Link to post
Share on other sites

I am currently successfully running 4 VMs that are hosting 4 servers each for a total 4x4 map grid. Just add   ?MultiHome=xxx.xxx.xxx.xxx   to your command line for each server. The IP will be your internal ip address and will be the same for all servers running on that box (in command prompt type "ipconfig /all" to get it).

 

As for the map image being grey, you need to fix the following lines in your servergrid.json file:

"MetaWorldURL": "http://INTERNET_PATH_TO_WHERE_CELL_IMAGES_ARE_HOSTED",
"MapImageURL": "http://INTERNET_PATH_TO_WHERE_MapImg.jpg_IS_HOSTED",

You must either find a place to host the map images online or host them yourself.

Edited by clocwork

Share this post


Link to post
Share on other sites

how many grids can you run off of 1 machine?  considering buying a server if i can host at least a 4x4 map with a descent amount of players.

 

Share this post


Link to post
Share on other sites

im getting this error

The UE4-ShooterGame Server has crashed and will close
---------------------------
Fatal error!



VERSION: 514.3
ShooterGameServer.exe!FDatabaseRedisShared::GetOrCreateSubscriberConnection() (0x00007ff6c0a1299e) + 0 bytes [d:\atlassvn\projects\shootergame\source\shootergame\private\databaseshared_redis.cpp:231]
ShooterGameServer.exe!UDatabase_TradeDirectory_Redis::Init() (0x00007ff6c0a91580) + 307 bytes [d:\atlassvn\projects\shootergame\source\shootergame\private\database_tradedirectory_redis.cpp:1815]
ShooterGameServer.exe!AShooterGameMode::InitializeDatabaseRefs() (0x00007ff6c100d038) + 0 bytes [d:\atlassvn\projects\shootergame\source\shootergame\private\shootergamemode.cpp:9461]
ShooterGameServer.exe!AShooterGameMode::BeginPlay() (0x00007ff6c0fe4897) + 0 bytes [d:\atlassvn\projects\shootergame\source\shootergame\private\shootergamemode.cpp:9687]
ShooterGameServer.exe!ULevel::RouteActorInitialize() (0x00007ff6c21b1036) + 0 bytes [d:\atlassvn\engine\source\runtime\engine\private\level.cpp:1988]
ShooterGameServer.exe!UWorld::InitializeActorsForPlay() (0x00007ff6c2337ba0) + 0 bytes [d:\atlassvn\engine\source\runtime\engine\private\world.cpp:3448]
ShooterGameServer.exe!UEngine::LoadMap() (0x00007ff6c2309a91) + 0 bytes [d:\atlassvn\engine\source\runtime\engine\private\unrealengine.cpp:10400]
ShooterGameServer.exe!UEngine::Browse() (0x00007ff6c22f27eb) + 43 bytes [d:\atlassvn\engine\source\runtime\engine\private\unrealengine.cpp:8929]
ShooterGameServer.exe!UShooterGameInstance::CheckConnectString() (0x00007ff6c0fbb469) + 0 bytes [d:\atlassvn\projects\shootergame\source\shootergame\private\shootergameinstance.cpp:3654]
ShooterGameServer.exe!UShooterGameInstance::StartGameInstance() (0x00007ff6c0fc905a) + 0 bytes [d:\atlassvn\projects\shootergame\source\shootergame\private\shootergameinstance.cpp:458]
ShooterGameServer.exe!UGameEngine::Init() (0x00007ff6c21449e6) + 0 bytes [d:\atlassvn\engine\source\runtime\engine\private\gameengine.cpp:745]
ShooterGameServer.exe!__tmainCRTStartup() (0x00007ff6c308331d) + 21 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]
KERNEL32.DLL!UnknownFunction (0x00007ff9257f2d92) + 0 bytes [UnknownFile:0]
ntdll.dll!UnknownFunction (0x00007ff927d29f64) + 0 bytes [UnknownFile:0]
ntdll.dll!UnknownFunction (0x00007ff927d29f64) + 0 bytes [UnknownFile:0]

---------------------------
OK   

so any ideas what is wrong?? and i dont have a D drive

Edited by yamar

Share this post


Link to post
Share on other sites

Hey i want build a server with a r9 3950x 16c and 64 or 128gb ram 3200 how many grinds i can make only 3x4 or more . On the server i will then install ark and conan server too

Did Windows Server 2019 wrk with the r9? and you know where ican buy a digital cheap version Win server2019 Datacenter? 

  • Haha 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...