Jump to content

ChromeSDK

RELEASE: Atlas Server Controller (my program to help setup and run privately, all 225 grids of the official servers for solo players and small groups on average hardware)

Recommended Posts

Sill trying to get this to work.  All ports have been forward  as stated. Windows fire wall has been done.

I have ran a 2x2 map on my own , but used a smaller ports forwarding

SeamlessPort 27000-27008 tcp/udp
QueryPort 57561-57594
GamePort 5761-5794
ReconPort 28000-28008

not sure if my router is not liking the

50002-50898

5002-50898

27000-27896

 

 

When B2 opens up it says it could not find a opening on port 50070 to 50070 . but the other servers open fine

If I run only B2 on the right side it find every thing ok. I just cant see the server in game.

Any ideals?

 

Well its seems that Cox has stealthed my ports. what once was open now it stealth . ill have to give them a call tomorrow .

Edited by icehawk1965
update

Share this post


Link to post
Share on other sites

@ChromeSDK I am loving this tool!  I would like to be able to adjust the server settings but this needs to be done for each server individually.  Is is possible to create a game.ini and GameUserSettings.ini that gets applied to all servers when they are created?  It appears these get created the first time a server is started up.

Share this post


Link to post
Share on other sites
On 1/21/2019 at 7:53 PM, Reese said:

Hi.

@ChromeSDK You are a GENIUS ! and for that i've buied you a coffee.

For the future of your app can you add something like a default game.ini and a default gameusersetting.ini ?

Because at the moment when i launch a server for the first time i have to shut it down to give it the same config than the other one and then turn it ON again before to switch on it. 

I know that i could add the default game.ini with servergrid editor but not the gameusersetting... and with a good editor it take me quite the same time to edit one or two file 🙂 

Thanks !

At the moment i have a couple of batch files, the first creates all the save directories and the second copies all the config files into the save folders for each server. I manage a master folder that i use to edit the configs and these are copied using the second batch file. using this method the first time a server starts it has the correct config files. It might be an idea to add a similar system to the program that allows you to manage a single folder for configs that are then copied to the server save folder if it does not exist and an update all configs option for when you make changes to the configs, although this will depend on weather you use individual configs on different servers.

It will possibly also allow me to wipe a particular server by deleting it's save folder but this is dependant on what info is saved in the Redis database. If as i have been led to believe the database only holds info on what player is on what server so deleting the save folder for a server should wipe the server. This situation has not yet become necessary to test as yet so i'm unaware if it will work.

Share this post


Link to post
Share on other sites

I got it to work too - this is just a perfect tool for SP or small groups who still want to experience the full map 😁

Thanks a bunch; this makes it SO much easier to set up and run a large cluster of servers than if you had to do it all manually!

It took a while for us to figure everything out about setting up the servers (not the part about this tool, though - the instructions are easy to understand, and the interface is simple), but we managed to get everything running to our specs... It turned out that we did actually do everything right from about our second attempt, but we needed our ISP to change our IP to a public one to make it work (even though we're otherwise running the server using purely local IPs, since we will only ever need to use it in-house - you also still need to forward ports in your router and firewall even for this type of local setup).

We also had an issue with the tresure maps not working, but in that case, the problem turned out to be located... Well, about 40 cm behind the screen (useful hint: you have to put the maps in your quick bar before the sparkly-glowy pillar thingies show up in the game world) 😜

I did have a couple of ideas that it might be possible to implement (although I'm not the first):

  • The possibility of adding custom server settings (Game.ini and GameUserSettings.ini) from one single location in the tool would be very nice. We're currently doing it manually (i.e., start server that has not been run yet, shut it down, modify GameUserSettings.ini files as needed, restart server). This is most pertinent for the GameUserSettings.ini, since the Game.ini created by the server during startup is empty, and the possible settings in it should be identical for all servers - this means that you can just create your Game.ini as you want it, create the server save folders, and copy that Game.ini to all the folders before starting the servers (and a hooray for batch files is entirely appropriate here, unless you have way too much time on your hands and really enjoy tedious, repetitive work). For GameUserSettings.ini, this is not possible, because the one created by the server is not empty, and will overwrite anything that exists in the file to begin with - furthermore, there are settings in this file which are specific to each server, so we can't just batch replace all GameUserSettings.ini after running the servers. I wrote another batch file that should be able to add the lines to GameUserSettings.ini without changing the rest of the file, but I still need to start the server, shut it down, run the batch file, and restart the server.
  • Is it possible to extract a user's coordinates? If so, I think this could be used to create a "light" version of the automatic five-server setup - you could have the current active server running, and have it start up the next only when you get within some set distance of a neighboring server... This would make it possible to run an automatic setup on machines that can't handle five servers at a time, since you'd only need a maximum of two or three servers running at one time, and usually only one (when you're not near any map edges on the current server).

I might be unaware of some other way of doing the server settings centrally - if so, I'm all ears!

I thought that it might do the trick to modify DefaultGame.ini and DefaultGameUserSettings.ini to contain what we want before starting the servers the first time, but it does not look like this approach works... I am not at all sure where the server gets its default settings from.

Share this post


Link to post
Share on other sites
3 minutes ago, Vincula said:

I got it to work too - this is just a perfect tool for SP or small groups who still want to experience the full map 😁

Thanks a bunch; this makes it SO much easier to set up and run a large cluster of servers than if you had to do it all manually!

It took a while for us to figure everything out about setting up the servers (not the part about this tool, though - the instructions are easy to understand, and the interface is simple), but we managed to get everything running to our specs... It turned out that we did actually do everything right from about our second attempt, but we needed our ISP to change our IP to a public one to make it work (even though we're otherwise running the server using purely local IPs, since we will only ever need to use it in-house - you also still need to forward ports in your router and firewall even for this type of local setup).

We also had an issue with the tresure maps not working, but in that case, the problem turned out to be located... Well, about 40 cm behind the screen (useful hint: you have to put the maps in your quick bar before the sparkly-glowy pillar thingies show up in the game world) 😜

I did have a couple of ideas that it might be possible to implement (although I'm not the first):

  • The possibility of adding custom server settings (Game.ini and GameUserSettings.ini) from one single location in the tool would be very nice. We're currently doing it manually (i.e., start server that has not been run yet, shut it down, modify GameUserSettings.ini files as needed, restart server). This is most pertinent for the GameUserSettings.ini, since the Game.ini created by the server during startup is empty, and the possible settings in it should be identical for all servers - this means that you can just create your Game.ini as you want it, create the server save folders, and copy that Game.ini to all the folders before starting the servers (and a hooray for batch files is entirely appropriate here, unless you have way too much time on your hands and really enjoy tedious, repetitive work). For GameUserSettings.ini, this is not possible, because the one created by the server is not empty, and will overwrite anything that exists in the file to begin with - furthermore, there are settings in this file which are specific to each server, so we can't just batch replace all GameUserSettings.ini after running the servers. I wrote another batch file that should be able to add the lines to GameUserSettings.ini without changing the rest of the file, but I still need to start the server, shut it down, run the batch file, and restart the server.
  • Is it possible to extract a user's coordinates? If so, I think this could be used to create a "light" version of the automatic five-server setup - you could have the current active server running, and have it start up the next only when you get within some set distance of a neighboring server... This would make it possible to run an automatic setup on machines that can't handle five servers at a time, since you'd only need a maximum of two or three servers running at one time, and usually only one (when you're not near any map edges on the current server).

I might be unaware of some other way of doing the server settings centrally - if so, I'm all ears!

I thought that it might do the trick to modify DefaultGame.ini and DefaultGameUserSettings.ini to contain what we want before starting the servers the first time, but it does not look like this approach works... I am not at all sure where the server gets its default settings from.

The possibility of adding custom server settings (Game.ini and GameUserSettings.ini) ...lol ^^ ServerGrid.json?   "OverrideShooterGameModeDefaultGameIni": {}, ??

BTW

For diffrent Server Config...use the Command/Arg Function

Edited by esditas

Share this post


Link to post
Share on other sites
Quote

The possibility of adding custom server settings (Game.ini and GameUserSettings.ini) ...lol ^^ ServerGrid.json?   "OverrideShooterGameModeDefaultGameIni": {}, ??

BTW

For diffrent Server Config...use the Command/Arg Function

I am not at all sure I understand you... If you're talking about the ability to edit these in the ServerGridEditor, then yes, I am aware of that - I also have 225 servers that need the same setup, so I would very much prefer not to have to do this manually for each one.

Then again, I might have misunderstood that, so corrections are welcome.

I am completely sure that I have no idea what the Command/Arg thing means, though.

Share this post


Link to post
Share on other sites
1 hour ago, Vincula said:

I am not at all sure I understand you... If you're talking about the ability to edit these in the ServerGridEditor, then yes, I am aware of that - I also have 225 servers that need the same setup, so I would very much prefer not to have to do this manually for each one.

Then again, I might have misunderstood that, so corrections are welcome.

I am completely sure that I have no idea what the Command/Arg thing means, though.

Commandline arguments (arg) \o/ in the StartLine

For exsample: ?KickIdlePlayersPeriod=36000.000000?serverPVE=true ?HarvestAmountMultiplier=3.000000?TamingSpeedMultiplier=3.000000

 

Not all work i think...but check this:

https://ark.gamepedia.com/Server_Configuration

 

If use also the same setup...use the Fu**ing ServerGrid.json or Default-INIs

Share this post


Link to post
Share on other sites
1 hour ago, esditas said:

Commandline arguments (arg) \o/ in the StartLine

For exsample: ?KickIdlePlayersPeriod=36000.000000?serverPVE=true ?HarvestAmountMultiplier=3.000000?TamingSpeedMultiplier=3.000000

 

Not all work i think...but check this:

https://ark.gamepedia.com/Server_Configuration

 

If use also the same setup...use the Fu**ing ServerGrid.json or Default-INIs

While one could add arguments to the startup commandline... there are still 200+ separate .bat files that would need to be changed manually.  It would be nice to have some way to flow a single set of *.ini files into all servers.

  • Haha 1

Share this post


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

If use also the same setup...use the Fu**ing ServerGrid.json or Default-INIs 

I've tried editing the Default*.ini files, but the servers still use the same standard setup each time regardless... They seem to ignore any changes when the server .ini files are generated.

2 hours ago, Bastian Auryn said:

While one could add arguments to the startup commandline... there are still 200+ separate .bat files that would need to be changed manually.  It would be nice to have some way to flow a single set of *.ini files into all servers. 

Basically; what he said.

I would just need to edit 225 separate .bat files instead of 225 .ini files.

This might be possible using a homemade .bat file, though - create one that goes through each startup .bat file, looks for something in the string, and adds whatever I want to the launch option string.

The reason this would require a restart of the server with the .ini file is beacuse the .ini has to be generated before it can be edited, but the .bat is already there, meaning the servers would start up with the correct settings the first time.

Hmm... Too tired for scripting right now; I'll get on it tomorrow.

Thanks for the help and/or inspiration 😀

Edited by Vincula
  • Haha 1

Share this post


Link to post
Share on other sites

what ports did you forward ? to get it to work

I  got my isp to give me a public ip as well

10 hours ago, Vincula said:

I got it to work too - this is just a perfect tool for SP or small groups who still want to experience the full map 😁

Thanks a bunch; this makes it SO much easier to set up and run a large cluster of servers than if you had to do it all manually!

It took a while for us to figure everything out about setting up the servers (not the part about this tool, though - the instructions are easy to understand, and the interface is simple), but we managed to get everything running to our specs... It turned out that we did actually do everything right from about our second attempt, but we needed our ISP to change our IP to a public one to make it work (even though we're otherwise running the server using purely local IPs, since we will only ever need to use it in-house - you also still need to forward ports in your router and firewall even for this type of local setup).

We also had an issue with the tresure maps not working, but in that case, the problem turned out to be located... Well, about 40 cm behind the screen (useful hint: you have to put the maps in your quick bar before the sparkly-glowy pillar thingies show up in the game world) 😜

I did have a couple of ideas that it might be possible to implement (although I'm not the first):

  • The possibility of adding custom server settings (Game.ini and GameUserSettings.ini) from one single location in the tool would be very nice. We're currently doing it manually (i.e., start server that has not been run yet, shut it down, modify GameUserSettings.ini files as needed, restart server). This is most pertinent for the GameUserSettings.ini, since the Game.ini created by the server during startup is empty, and the possible settings in it should be identical for all servers - this means that you can just create your Game.ini as you want it, create the server save folders, and copy that Game.ini to all the folders before starting the servers (and a hooray for batch files is entirely appropriate here, unless you have way too much time on your hands and really enjoy tedious, repetitive work). For GameUserSettings.ini, this is not possible, because the one created by the server is not empty, and will overwrite anything that exists in the file to begin with - furthermore, there are settings in this file which are specific to each server, so we can't just batch replace all GameUserSettings.ini after running the servers. I wrote another batch file that should be able to add the lines to GameUserSettings.ini without changing the rest of the file, but I still need to start the server, shut it down, run the batch file, and restart the server.
  • Is it possible to extract a user's coordinates? If so, I think this could be used to create a "light" version of the automatic five-server setup - you could have the current active server running, and have it start up the next only when you get within some set distance of a neighboring server... This would make it possible to run an automatic setup on machines that can't handle five servers at a time, since you'd only need a maximum of two or three servers running at one time, and usually only one (when you're not near any map edges on the current server).

I might be unaware of some other way of doing the server settings centrally - if so, I'm all ears!

I thought that it might do the trick to modify DefaultGame.ini and DefaultGameUserSettings.ini to contain what we want before starting the servers the first time, but it does not look like this approach works... I am not at all sure where the server gets its default settings from.

 

Share this post


Link to post
Share on other sites
12 hours ago, Vincula said:

I am not at all sure I understand you... If you're talking about the ability to edit these in the ServerGridEditor, then yes, I am aware of that - I also have 225 servers that need the same setup, so I would very much prefer not to have to do this manually for each one.

Then again, I might have misunderstood that, so corrections are welcome.

I am completely sure that I have no idea what the Command/Arg thing means, though.

 look closer at your json file there are command line as well as ini overides, at the top there is all/specific server overide for both.  I have not tested the command line override yet.  But I have tested the ini overrides and they do work (and in fact is how lawless zones are no claim high decay).

 

Edited by krazmuze
  • Like 1

Share this post


Link to post
Share on other sites
4 hours ago, krazmuze said:

 look closer at your json file there are command line as well as ini overides, at the top there is all/specific server overide for both.  I have not tested the command line override yet.  But I have tested the ini overrides and they do work (and in fact is how lawless zones are no claim high decay).

 

basicly what i say...but "scriptMasterOver9000" dont understand this... \o/

EoF

Share this post


Link to post
Share on other sites
7 hours ago, icehawk1965 said:

what ports did you forward ? to get it to work

I  got my isp to give me a public ip as well

All the correct ones 😀

Sorry; I'll try for a non-stupid answer instead... I forwarded ports 50002-50898, 5002-5898, and 27000-27896, as it said to do in the tool, and made an exception in my firewall as well for the same port ranges (both UDP and TCP in both places).

FYI, I am using the following settings in the tool, and I am using a 15 x 15 grid.

Query Port (the one that's just called "Port"): 50002

Game Port: 5002

Seamless Port: 27000

Port Sequence: Every 4th

This made it work at my end, but only after I had my ISP change our IP to a public one. We got a dynamic one, which could be an issue with setups where you want others from outside your network to be able to join, but we don't need that (but by the way, that dynamic IP hasn't changed once since we got it two weeks ago).

Because only our own household uses the server, we're using local IPs (192.168.XXX.XXX) everywhere in the server setup, which is working fine for us (actually, the one time we tried using the public IP, we couldn't see or connect to the server, so we've only ever seen the local setup work).

The only thing we use the external IP for is to connect to the server... Whenever we can't see it in the in-game server list - which happens annoyingly often - we can usually connect to the server using the Steam overlay (Shift+Tab when in-game) web browser with our external IP (5.XXX.XXX.XXX) and the query port number of the server we're connecting to (e.g. steam://connect/5.XXX.XXX.XXX:50278 to connect to map grid E10 on our setup).

4 hours ago, krazmuze said:

 look closer at your json file there are command line as well as ini overides, at the top there is all/specific server overide for both.  I have not tested the command line override yet.  But I have tested the ini overrides and they do work (and in fact is how lawless zones are no claim high decay).

Thanks; I will look into that.

It might be necessary because of the damn spaces in the filenames for the server start .bat files - an underscore instead would have made it a lot simpler for my limited scripting skills (compounded by the word "start" not exactly being meaningless in a batch file) 🤔

Why oh why did my grade school waste time teaching me a bunch of crap about history and society, when what I abviously really needed was some solid scripting skills? I'll never know 😜

Share this post


Link to post
Share on other sites
On 1/22/2019 at 3:50 AM, Bastian Auryn said:

@ChromeSDK I am loving this tool!  I would like to be able to adjust the server settings but this needs to be done for each server individually.  Is is possible to create a game.ini and GameUserSettings.ini that gets applied to all servers when they are created?  It appears these get created the first time a server is started up.

you have a default game.ini and gameusersettings.ini you can also use the island editor for the defaultgame.ini, when you click edit you will see it on the top right.

Edited by mars1806

Share this post


Link to post
Share on other sites
6 hours ago, esditas said:

basicly what i say...but "scriptMasterOver9000" dont understand this... \o/

Maybe you did - it's not easy to tell what someone is trying to say when their writing style contains more punctuation than letters... I'm 35+ and not fluent in teen-speak.

I did ask you, but your answer to that wasn't any clearer that what you said the first time around. It was, however, a lot more abrasive, which I think was hardly called for.

Kramuze managed to deliver the same info in clear language using just two lines of text, so yeah, his post was a lot more useful to me.

Share this post


Link to post
Share on other sites
5 minutes ago, mars1806 said:

you have a default game.ini and gameusersettings.ini you can also use the island editor for the game.ini, when you click edit you will see it on the top right.

Unfortunately, editing the DefaultGame.ini and DefaultGameUserSettings.ini does not work for me for some reason - it ignores any changes and just applies the defaults when the server is launched.

It's the same problem with the islad editor... The only thing I've had working was to edit the settings for each map grid, but then I'd have to edit all 225 manually, and then it's actually faster to just edit the .ini files.

I still haven't tried inserting the lines into the "Start XXXX.bat" files, but I think that might actually work.

I will update once I get a chance to try that.

Share this post


Link to post
Share on other sites
4 minutes ago, Vincula said:

Unfortunately, editing the DefaultGame.ini and DefaultGameUserSettings.ini does not work for me for some reason - it ignores any changes and just applies the defaults when the server is launched.

It's the same problem with the islad editor... The only thing I've had working was to edit the settings for each map grid, but then I'd have to edit all 225 manually, and then it's actually faster to just edit the .ini files.

I still haven't tried inserting the lines into the "Start XXXX.bat" files, but I think that might actually work.

I will update once I get a chance to try that.

I have no problems with editing the files. mabe your files are set to read only?

Share this post


Link to post
Share on other sites

Is it true it only opens the x4 grids around the host ? Not all the players if you have say x5 people on the sever in different grids ?

 

Share this post


Link to post
Share on other sites

multiple follow might be in v2.      It currently only follows the designated player, which can be changed.    You can also open 4 additional grids, good idea to have your home server open in case you die! That can cover your players that decide not to be coop leashed to  where you are.

 

 

Share this post


Link to post
Share on other sites
16 hours ago, mars1806 said:

I have no problems with editing the files. mabe your files are set to read only?

Nope; already checked... I can edit the Default*.ini files just fine, and the changes stick in the files, but it seems that this is not actually where it gets the settings from. It doesn't make any sense, really, but that's the behaviour we're seeing.

I'll try batching the batches later today, I think that's the most promising method so far. If that doesn't work, I'll try wading through the .json and see what I can find there.

10 hours ago, Prim744 said:

Is it true it only opens the x4 grids around the host ? Not all the players if you have say x5 people on the sever in different grids ?

You can run it in two different ways, or combine the two:

  • Automatic startup/shutdown of servers sets five servers running; the one you're in, and the four servers you can travel to from there (up, down, left, and right). When you cross the border to the next one, the program shuts down the three that are no longer bordering on the now occupied grid square, and starts up three new ones, so you again have all four surrounding servers running. Of course, this requires your hardware to be able to handle five servers plus the redis simulataneously (which, according to several people in here would be about 20 GB of RAM and eight CPU cores). It also requires some tracking of one player, but my current setup cannot handle five servers at a time, so I've never used this myself (but I will try it out once I get my new PC up and running). This also means that it will only auto-start/shutdown servers based on that one player's location, and not the others.
  • Manual startup/shutdown of servers allows you to manually start up and shut down servers as you wish. You have to do this manually, but it's only a few clicks each time - I use a TeamViewer connection to the server machine, so I can control this via a tablet (and avoid running through the house every time we change map squares). The advantage for people with limited hardware resources on the server (like me) is that you can use this method as long as it can handle two servers + redis (which is about 8 GB of RAM free and 4 cores) - you just start the neighboring server you want to travel to, cross the border, and shut down the previous one. Most of the time, you will probably only have one running (plus redis).

If you have an even beefier hardware setup, nothing prevents you from combining these, so that you have the current grid and its neighbours active using the automatic part, and up to four other servers always running (for Homeports, for example).

So there's a hard limit on how many locations this tool can have running at once; 9 grid squares - the automatic five-server cluster, and four manual ones. This means that you won't need a lot of people in different grids before it gets both impractical and fairly hardware intensive.

Rememeber that treasure maps that spawn in-game can only point to grid squares that are currently active on the map... This means that if you play in, say, grid E10, and only have that grid running, then all treasure maps you pick up will always be for grid E10. This also means that if you are in E10 and you want one in O15, you can just start that one too, which makes it equally likely that the maps will be for grid O15. I don't pretend to understand the reason, but I hear from seemingly well-informed people in here that this is just the way it is - if you want your treasure maps to be able to hit any grid square, this is currently impossible without running all grid squares simultaneously.

3 hours ago, krazmuze said:

multiple follow might be in v2.      It currently only follows the designated player, which can be changed.    You can also open 4 additional grids, good idea to have your home server open in case you die! That can cover your players that decide not to be coop leashed to  where you are.

Good point about the homeports - make sure that joining players or dead people have somewhere to spawn!

We build beds with obsessive priority on our ships and anywhere we stay for more than about five minutes, which also works, by the way... Our hardware resources on the server are limited to running three servers at a time (maybe four if we bully it a lot, but I haven't dared trying this yet for fear of sudden crashes), so we prefer being able to respawn where we're currently lurking about. It makes things easier for us that no one new ever needs to join, however.

  • Haha 1

Share this post


Link to post
Share on other sites

that is the nice thing about private servers, being able to park your boat with the bed, only worry is PVE killing it so you back it up with a bed on shore.

 

Also do not be scared off by server requirements you read elsewhere, that is for supporting many players and was guidelines before the server optimization patches.   I can push to 6 servers plus the game plus a dozen google tabs up in 32GB, maybe once every 10 hours I get a random mem crash and lose up to five minutes from last redis save.

 

Edited by krazmuze

Share this post


Link to post
Share on other sites

I updated the "OverrideShooterGameModeDefaultGameIni": {}  portion in the .json file.  There seems to be a global section at the top of the file which is editable with the map editor which I assume applies to all servers (I haven't verified yet).  There are also override sections for each specific server further down in the file.  You can hand edit the file, but be warned that the syntax in the .json file is slightly different than just adding to the .ini files.  I just used the map editor to be safe.

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...