arkmanager / ark-server-tools

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

moving from unmanaged systemd to arkmanager #870

Open Hr46ph opened 6 years ago

Hr46ph commented 6 years ago

So currently I have a running unmanaged ARK server that and I'd like to start managing it with arkmanager, so it starts, stops, updates automatically on a schedule.

So I've configured the basics global and default instance, I can run updates and update mods. I manually stop and start using systemctl and my own unit file.

A few things are confusing me. First off when I run an update, it always downloads a bunch of mods:

$ arkmanager update --update-mods @tame-masters
Running command 'update' for instance 'tame-masters'
Checking for update; PID: 5186
Downloading mod 1091147617 ... Mod 1091147617 downloaded
Downloading mod 670764308 ... Mod 670764308 downloaded
Downloading mod 742077869 ... Mod 742077869 downloaded
Downloading mod 839162288 ... Mod 839162288 downloaded
Downloading mod 878297372 ... Mod 878297372 downloaded
Downloading mod 880871931 ... Mod 880871931 downloaded
Your server is already up to date! The most recent version is 2198016.

Why is it doing that?

Second issue I am facing is where to use all the options. I am currently using a unit file with an ExecStartPre (to update) and ExecStart. I've commented out the Pre line since arkmanager is handling updates and that seems to work. I can specify all the instance specific startup options in the instance.cfg. Some of these options are in Game.ini or GameUserSettings.ini. Where should I specify my options? Which takes precedence over the other, when an option is specified at multiple places?

I'd like to keep it as uniform and standard as possible. Can I continue using my current game.ini and gameusersettings.ini and startup commandline parameters, and simply leave the instance.cfg mostly empty?

Then about mods. My ini files have an activemods= line. Why do I need to specify an ark_GameModIds and arkmod_number=game in the instance.cfg? Why didn't you opt to simply parse the activemods list from the ini files? I am confused about your 2 options, what is the difference?

Last but not least, my start up parameters. This is the [service] block in my unit file:

[Service]
ExecStart=/home/steam/servers/tame-masters/ShooterGame/Binaries/Linux/ShooterGameServer Ragnarok?listen?Port=7777?QueryPort=27015?MaxPlayers=100?AllowCrateSpawnsOnTopOfStructures=True -ForceAllowCaveFlyers -AutoDestroyStructures -NoBattlEye -insecure -noantispeedhack -servergamelog -servergamelogincludetribelogs -ServerRCONOutputTribeLogs -NotifyAdminCommandsInChat -useallavailablecores -usecache -nosteamclient -game -server -log
LimitNOFILE=1048576
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s INT $MAINPID
User=steam
Group=users

Basically, all these options on the command line are migrated from when I ran a simple local server on my LAN on my Windows PC, just for me and my son. The server is now running publicly on a dedicated home server on Arch Linux and typically gets between 15 and 25 regular, returning players.

I initially added 'NoBattlEye -insecure -noantispeedhack' because the server started much faster and seemed easier on system resources. Are these options worth removing when running a public PVE server?

What is the difference between these '-servergamelogincludetribelogs -ServerRCONOutputTribeLogs'? Do I need the second? I monitor the the server with Battlemetrics RCON option.

Do you know what these do? '-game -server -log'. The -log seems redundant with -servergamelog, or does it do something else?

Very much appreciate your help!

Thanks.

Hr46ph commented 6 years ago

Did I ask too much in go or?