arkmanager / ark-server-tools

Set of server tools used to manage ARK: Survival Evolved servers on Linux
MIT License
684 stars 144 forks source link

Game.ini settings on an instance specific base #1035

Open maxbrand99 opened 5 years ago

maxbrand99 commented 5 years ago

I am trying to change the settings of only one of the servers that I am running. I want to disable friendly fire on one of my maps in the cluster. I read somewhere here about duplicating the entire ark server files. Is there any way to change it without doing this? I do not have the space to duplicate ark on my system.

klightspeed commented 5 years ago

If you don't want to use a staging directory, then you can try using bind mounts:

mount --bind /path/to/common/ark/directory /path/to/instance/directory
mount --bind /path/to/instance/save /path/to/instance/directory/ShooterGame/Saved
mount --bind /path/to/instance/mods /path/to/instance/directory/ShooterGame/Content/Mods
maxbrand99 commented 5 years ago

How would I use this to have different game.ini files?

klightspeed commented 5 years ago

Using bind mounts would allow you to use the same game files while keeping the saved files (including Game.ini and GameUserSettings.ini) separate between instances.

maxbrand99 commented 5 years ago

another question then as i am not super fluent in linux yet, how would i do that? just by copying and pasting the command above? That seems so complicated, is ASM not able to edit Game.ini like it can for GameUserSettings.ini? I know for GameUserSettings.ini i can do ark arkflag or arkopt_ (i add all 3 but dont actually know which one works) for changing settings based on the instance but it does not work for lines in Game.ini

klightspeed commented 5 years ago

In the mount commands I gave, replace:

arkmanager does not itself modify GameUserSettings.ini - rather arkmanager provides the command-line options, and the game server uses these command-line options to modify the config and then saves the modified config.

ark_optionname=value options are those specified in the option string mapname?option1=value1?option2=value2 These are the ?optionname=value options specified in https://ark.gamepedia.com/Server_Configuration#Command_line_arguments

arkopt_optionname=value options are those specified with a leading dash with a value These are the -optionname=value options specified in https://ark.gamepedia.com/Server_Configuration#Command_line_arguments

arkflag_optionname=true options are those specified with a leading dash without a value These are the -optionname options specified in https://ark.gamepedia.com/Server_Configuration#Command_line_arguments

Partyznat commented 5 years ago

Can you tell me what I'm doing wrong that I don't want the test instance to work? mount --bind /home/arkserver/ARK /home/arkserver/instance/ARK.center mount -- bind /home/arkserver/instance/ARK.center.mods /home/arkserver/ARK/ShooterGame/Content/Mods mount --bind /arkserver/instance/ARK.center.save /home/arkserver/ARK/ShooterGame/Saved

And I changed the root instance /home/arkserver/instance/ARK.center IN Main.cfg

klightspeed commented 5 years ago

It looks like you meant to:

mount --bind /home/arkserver/ARK /home/arkserver/instance/ARK.center
mount -- bind /home/arkserver/instance/ARK.center.mods /home/arkserver/ARK.center/ShooterGame/Content/Mods
mount --bind /arkserver/instance/ARK.center.save /home/arkserver/ARK.center/ShooterGame/Saved
Partyznat commented 5 years ago

Thank you I changed but still the same problem does not start stops at 2.34 GB of RAM consumption

klightspeed commented 5 years ago

Do the servers use different ports?

Partyznat commented 5 years ago

Yes, each instance is assigned a different one. As I use on these given folders umount -A works fine

Partyznat commented 5 years ago

As I started server once I had a similar problem but then 1 cpu had 164% and 23 GB of RAM. The solution was to turn on instances without mods to walk 5 minutes and only install mods. Now I have 23 GB of RAM consumption and 1 CPU 4% and this time the previous solution does not work

Partyznat commented 5 years ago

S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.

klightspeed commented 5 years ago

S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.

This is normal - it just means that you don't have the Steam client running, which is normal on a server.

Partyznat commented 5 years ago

I'm an idiot ... It was enough to restart the whole server to start everything working. Thanks for the help

Soldize commented 4 years ago

Hi,

i put the mount commands in "/etc/arkmanager/instances/servername.cfg" right??

best regards

klightspeed commented 4 years ago

No.

If you want to go with persistent bind mounts, then the best place to put the mounts is in /etc/fstab.

/home/arkserver/ARK /home/arkserver/instance/ARK.center bind defaults 0 0

/home/arkserver/instance/ARK.center.mods /home/arkserver/ARK.center/ShooterGame/Content/Mods bind defaults 0 0

/home/arkserver/instance/ARK.center.save /home/arkserver/ARK.center/ShooterGame/Saved bind defaults 0 0

To mount these without restarting, run the following command:

mount -a

On Fri, 3 Jan 2020, 12:50 AM Soldize notifications@github.com wrote:

Hi,

i put the mount commands in "/etc/arkmanager/instances/servername.cfg" right??

best regards

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/FezVrasta/ark-server-tools/issues/1035?email_source=notifications&email_token=AABD5LCATQCWHDYZV46EHFLQ3XWHZA5CNFSM4IMZCMGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH6MBHY#issuecomment-570212511, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABD5LFNAKMGXV3PYZU3F33Q3XWHZANCNFSM4IMZCMGA .