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

ARK: Scorched Earth - Expansion Pack #578

Closed BoiseComputer closed 6 years ago

BoiseComputer commented 8 years ago

Does anyone know the method for implementing the scorched earth expansion on a private server?

ryan1161 commented 8 years ago

add this to your Instance config. serverMap="ScorchedEarth_P"

arkfrance commented 8 years ago

/usr/local/bin/arkmanager: line 802: 17760 Segmentation fault (core dumped) "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}" 2016-09-01 22:27:52: Bad PID ''; expected '17760' 2016-09-01 22:27:52: exited with status 0 2016-09-01 22:27:52: restarting server 2016-09-01 22:27:52: Running /home/PVE/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland\?RCONEnabled=True\?RCONPort=27030\?SessionName=ARK-FRANCE.FR\ -\ PvE\ x5\ The\ Island\?Port=7776\?QueryPort=27015\?ServerPassword\?ServerAdminPassword=\?MaxPlayers=60\?GameModIds=684959100\,558079412\,534838287\,704420972\,572277026\,670764308\,564895376\,600015460\,680798000\,566887000\,543859212\,729352919\,566885854\?AllowRaidDinoFeeding=true\?PreventTribeAlliances=false\?ForceAllStructureLocking=true\?FastDecayUnsnappedCoreStructures=true\?OnlyAutoDestroyCoreStructures=true\?listen -log -newsaveformat -server -server -UseBattlEye 2016-09-01 22:27:52: Server PID: 19154 [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed. Setting breakpad minidump AppID = 346110

arkfrance commented 8 years ago

crash for me on the island

klightspeed commented 8 years ago

@ryan1161 you have two configfile_TheCenter lines in your arkmanager.cfg, and so the instance TheCenter would be using your last one (your ScorchedEarth instance config file).

configfile_TheIsland="/etc/arkmanager/instances/TheIsland.cfg"
configfile_TheCenter="/etc/arkmanager/instances/TheCenter.cfg"
configfile_TheCenter="/etc/arkmanager/instances/ScorchedEarth.cfg"

You should not need those configfile lines when your instance configs are in /etc/arkmanager/instances or $HOME/.config/arkmanager/instances.

@arkfrance it looks like you have two arkflag_server=something lines in your instance config. Also check that it isn't a mod causing the crash.

arkfrance commented 8 years ago

i'm trying to check mod by mod ...

arkfrance commented 8 years ago

still crashing whithout any mods

klightspeed commented 8 years ago

@arkfrance Does it still crash if you remove everything from the Mods directory? Some mods will crash the server if they're installed but not enabled.

Also, what is the full log from when the server starts to when the server crashes and is restarted?

ryan1161 commented 8 years ago

I was wondering is there away to just have all 3 of my instance to have one folder for running the maps cause it would save me some disk space. Like right now I have all 3 being update by steam and it has to restart the download again per-instance on downloading the update. If so could you explain or point me in the right direction.

klightspeed commented 8 years ago

@ryan1161 Setting the same staging directory for all 3 instances and then performing an update should reduce the disk space taken up by the instances.

I am not aware of any option to the ARK server that would change the directory in which the configuration files (i.e. GameUserSettings.ini, Game.ini, etc) are stored. Without such an option, it isn't possible for multiple instances to run from the same directory, as they would each write their own settings to GameUserSettings.ini

ryan1161 commented 8 years ago

Well I was thinking having one Ark folder and having that run all my maps instead of having 3 folder with ark installed in that. Like I was wanting to point the instances to the saved maps files and point it to the executable file for starting ark for that instance.

Example: First instance: arksavedgamedir="Ark/ShooterGame/Saved/TheCenter" then have instead of SavedArks folder have it point to the name of a custom folder like TheCenter. Then repeat for instance two and three.

Executable: arkexecutable="Ark/ShooterGame/Binaries/Linux/ShooterGameServer" Put that in all the instances to just point to one executable to run out of the one installed Ark directory.

klightspeed commented 8 years ago

There is an option to ShooterGameServer to configure the Saved Arks directory - AltSaveDirectoryName (configured by the ark_AltSaveDirectoryName option in your arkmanager instance config). In your example it would be set to TheCenter

I know of no option to configure Unreal Engine 4 (and by extension the game server) to change the saved config directory to something other than [ProjectDir]/Saved/Config/[Platform] (where [ProjectDir] is ShooterGame and [Platform] is Linux

BoiseComputer commented 8 years ago

https://survivetheark.com/index.php?/forums/topic/85463-scorched-earth-technicaldetail-faq-ongoing/#

klightspeed commented 8 years ago

In that case, with the example settings, one would have TheIsland containing:

serverMap=TheIsland
ark_AltSaveDirectoryName="Save2"
ark_SessionName="MySession2"
arkflag_NoTransferFromFiltering=true
arkopt_clusterid=mycluster123

ScorchedEarth containing:

serverMap=ScorchedEarth_P
ark_AltSaveDirectoryName="Save1"
ark_SessionName="MySession1"
arkflag_NoTransferFromFiltering=true
arkopt_clusterid=mycluster123

We will need to make arkmanager cluster aware in order for this to work, as it was assumed that bad things would happen if two servers ran from the same directory. It also means that we need some form of server identification other than its path.

Caindrac commented 8 years ago

So with the fact that the arkmanager is not aware of the cluster make this not work right now?

klightspeed commented 8 years ago

That is correct, arkmanager will not currently allow multiple servers to run from the same directory.

Caindrac commented 8 years ago

I have not got super deep into your code. Is this going to be a super big deal to change?

arkfrance commented 8 years ago

ok so server is working with mods folder changed to mods1, so it should be a mod but don't know which one

klightspeed commented 8 years ago

@caindrac Some things we would need to do are:

@arkfrance Please move your conversation to a new issue.

remzdnb commented 8 years ago

It would be awesome if someone could get this to work. Ill get a look at the code tomorrow

meswrex commented 8 years ago

Hi all, I might have a work-around until clustering instances are supported by ark-server-tools. I've used symbolic links to allow arkmanager to continue to launch separate instances from separate directories, but effectively work from the same game files. As far as I can tell at the moment, it appears to work; I have two servers concurrently running launched via arkmanager with separate instance configs and with separate backup and save directories. I can transfer characters and tames between servers (albeit losing items, but that may be related to the current patch).

server1.cfg:

arkserverroot="<path to server1 game files>"
arkbackupdir="<path to server1 backup dir>"
ark_AltSaveDirectoryName="SavedArks1"
arkflag_NoTransferFromFiltering=true
arkopt_clusterid=Cluster1

server2.cfg:

arkserverroot="<path to server2 game files>"
arkbackupdir="<path to server2 backup dir>"
ark_AltSaveDirectoryName="SavedArks2"
arkflag_NoTransferFromFiltering=true
arkopt_clusterid=Cluster1

Server 1 game files are the original game directories and server 2 are the files symbollicaly linked to server 1. The only changes needed are separate SavedArk? directories for each of the servers (in my case parallel to the original SavedArks directory in ShooterGame/Saved). That way both instances use the same game files but separate save directories.

It might be worthwhile trying to get each server working independently first just to make sure each config is set up correctly (separate ports, etc.). I had this going before trying to shift the one server to the symbolic link.

Hope that helps.

BoiseComputer commented 8 years ago

I did implement the linked directory and it is working. Thanks for the suggestion.

Gumballz commented 8 years ago

Thanx for those meswrex ... saved me hours of headaches.

MithrimTAoW commented 8 years ago

Hi there, Thats awesome that meswrex's method is working but I feel like a total noob! I can't seem to figure it out. I have two seperate servers working, the center and scorched earth, I tried to setup the arkopt_clusterid but when i go to the terminal on SE it doesn't give me the option to upload anything, I'm certain the problem lies between keyboard and chair but any help someone could provide on this would be greatly appreciated as I would LOVE to get this working for my players so they could experience SE content on the center/the island. Thanks in advance, Mithrim.

BoiseComputer commented 8 years ago

So another option I had to change on both configs they don't mention is: ark_noTributeDownloads=false

to do the dynamic link you need to run a command like: ln -s /var/ark1 /var/ark2 In the script have one path be ark1 Script # 1: arkserverroot="/var/ark1" Script # 2: arkserverroot="/var/ark2" This will make it so that the script sees it as two folders, but, it is really the same. Here is the config inside of the script.

ark_PreventDownloadSurvivors=False
ark_PreventDownloadItems=False
ark_PreventDownloadDinos=False
ark_PreventUploadSurvivors=False
ark_PreventUploadItems=False
ark_PreventUploadDinos=False
arkflag_NoTransferFromFiltering=true
arkflag_clusterid=customclusteridhere
ark_AltSaveDirectoryName="customsavefolderpergame"

This should be the main changes. Let me know if it still doesn't work.

Note: You might have to change the folder owner and possibly permissions of any folder you create for the save game locations. Keep that in mind.

meswrex commented 8 years ago

@MithrimTAoW That's odd; even on a sole-server map I have the option to upload my upload/download my character/tames, albeit to the same server (when I finally spot the 'transmit data' button - for some reason I find the menu layout for this a little obscured). Anyway, if anything, the problem I would expect to see is to be given the option to upload/download, but for the list to be empty on the second server after doing so on the first (i.e. the separate server save files are not linked). Probably not the fastest path, but I would try to revert back to separate servers to check the option is at least available in this state, just to be sure the problem is occurring when you try to cluster them. Hope you sort it out.

Gumballz commented 8 years ago
ark_PreventDownloadSurvivors=False
ark_PreventDownloadItems=False
ark_PreventDownloadDinos=False
ark_PreventUploadSurvivors=False
ark_PreventUploadItems=False
ark_PreventUploadDinos=False
ark_noTributeDownloads=false

put those in your gameusersettings.ini (minus the ark_)

arkfrance commented 8 years ago

http://steamcommunity.com/sharedfiles/filedetails/?id=758608778

very usefull !=

ryan1161 commented 8 years ago

@meswrex and @BoiseComputer thanks but this was a little still to hard for me to figure especially the symbolic links were not working the way you said to do, so I created another way and it works great now. What I did steps:

TheIsland.cfg:

arkserverroot="/home/mc/ARK/TheIsland" arkbackupdir="/mnt/Backups/Ark/TheIsland" ark_AltSaveDirectoryName="Saved-TheIsland" arkflag_NoTransferFromFiltering=true arkopt_clusterid=Cluster1

TheCenter.cfg:

arkserverroot="/home/mc/ARK/TheCenter" arkbackupdir="/mnt/Backups/Ark/TheCenter" ark_AltSaveDirectoryName="Saved-TheCenter" arkflag_NoTransferFromFiltering=true arkopt_clusterid=Cluster1

ScorchedEarth.cfg:

arkserverroot="/home/mc/ARK/ScorchedEarth" arkbackupdir="/mnt/Backups/Ark/ScorchedEarth" ark_AltSaveDirectoryName="Saved-ScorchedEarth" arkflag_NoTransferFromFiltering=true arkopt_clusterid=Cluster1

Once you get all the configs done now it's time to start symbolic link the files/folders. TheIsland is our master folder with all the files we will point to for the other directory. Example:

ln -s /home/mc/ARK/TheIsland/ /home/mc/ARK/TheCenter/ ln -s /home/mc/ARK/TheIsland/ShooterGame/ /home/mc/ARK/TheCenter/ShooterGame/ ln -s /home/mc/ARK/TheIsland/ShooterGame/Saved/ /home/mc/ARK/TheCenter/ShooterGame/Saved/

ln -s /home/mc/ARK/TheIsland/ /home/mc/ARK/ScorchedEarth/ ln -s /home/mc/ARK/TheIsland/ShooterGame/ /home/mc/ARK/ScorchedEarth/ShooterGame/ ln -s /home/mc/ARK/TheIsland/ShooterGame/Saved/ /home/mc/ARK/ScorchedEarth/ShooterGame/Saved/

Saved Games Folder: If you leave these off it will build files under TheIsland or Master directory Saved folder.

ln -s /home/mc/ARK/TheCenter/ShooterGame/Saved/Saved-TheCenter/ /home/mc/ARK/TheIsland/ShooterGame/Saved/

ln -s /home/mc/ARK/ScorchedEarth/ShooterGame/Saved/Saved-ScorchedEarth/ /home/mc/ARK/TheIsland/ShooterGame/Saved/

Other Options: ark_PreventDownloadSurvivors=False ark_PreventDownloadItems=False ark_PreventDownloadDinos=False ark_PreventUploadSurvivors=False ark_PreventUploadItems=False ark_PreventUploadDinos=False ark_noTributeDownloads=False

Then in gameusersettings.ini under [ServerSettings]: PreventDownloadSurvivors=False PreventDownloadItems=False PreventDownloadDinos=False PreventUploadSurvivors=False PreventUploadItems=False PreventUploadDinos=False noTributeDownloads=False

Gumballz commented 8 years ago

Problems with auto updating....

Currently if I auto-update instance1, everything goes fine. But when I run the update against the second instance, it reports the server is up to date (as its just been installed) but the instance is a version behind.

Is it possible to force a restart on instance2 IF instance1 has shutdown due to the update ?

Or check if version running matches installed version and restart if a mismatch ?

Or listen in to instance1 for the broadcast, bring down instance2 and then restart it after instance1 is back up and running ?

I know you guys are probably hard thrashing out an update for this awesome tool... hoping for a work around until then.

Cheers

klightspeed commented 8 years ago

3dc8ef1 should restart the server if it was updated behind its back.

Gumballz commented 8 years ago

Thanx Klightspeed.

Does this check the mods too ? sorry for being a pita

ryan1161 commented 8 years ago

One question is there away to only allow these settings to only apply to my server so other can't transfer from another server. I want player's to only be aloud to transfer around there stuff when they play on my server not bring it in from other unofficial servers. I'm trying to make it only my server as a hive not other servers out there.

PreventDownloadSurvivors=False PreventDownloadItems=False PreventDownloadDinos=False PreventUploadSurvivors=False PreventUploadItems=False PreventUploadDinos=False noTributeDownloads=False

I thing I found a error when I do arkmanger status command it showing players that where in there hours ago it never goes back to zero this started happening when I did my setup above this comment. Problem Images.zip

WriggleDev commented 8 years ago

Once you get all the configs done now it's time to start symbolic link the files/folders. TheIsland is our master folder with all the files we will point to for the other directory. Example:

ln -s /home/mc/ARK/TheIsland/* /home/mc/ARK/TheCenter/ ln -s /home/mc/ARK/TheIsland/ShooterGame/* /home/mc/ARK/TheCenter/ShooterGame/ ln -s /home/mc/ARK/TheIsland/ShooterGame/Saved/* /home/mc/ARK/TheCenter/ShooterGame/Saved/

ln -s /home/mc/ARK/TheIsland/* /home/mc/ARK/ScorchedEarth/ ln -s /home/mc/ARK/TheIsland/ShooterGame/* /home/mc/ARK/ScorchedEarth/ShooterGame/ ln -s /home/mc/ARK/TheIsland/ShooterGame/Saved/* /home/mc/ARK/ScorchedEarth/ShooterGame/Saved/

Then I run the very first command - it links all the subfolders. Even when I try to create the saved folders the same way you have, says "File exists" and doesn't let me create it...

g1franc commented 8 years ago

Why do you put a star '*' at the end of the first path of the symbolic link command. This is the issue as it match possibly several items Do you understand what is the goal of the "ln -s" command ? It like a shortcut. So it is an 1<->1 relation.

WriggleDev commented 8 years ago

I figured as much - so should we not use the * option?

klightspeed commented 8 years ago

You should only need to:

ln -s /home/mc/ARK/TheIsland /home/mc/ARK/TheCenter
ln -s /home/mc/ARK/TheIsland /home/mc/ARK/ScorchedEarth

Also add arkautorestartfile=ShooterGame/Saved/.autostart-<name> to your instance config where <name> is your instance name.

WriggleDev commented 8 years ago

well in my case I installed my ark to just /ARK/ not /ARK/TheIsland/ so I'm symlinking out of /home/arkuser/ARK/ShooterGame/ essentially.

WriggleDev commented 8 years ago

@ryan1161 from what I read - if you have the -cluster specified, it locks transfers ONLY to the servers you have setup clustering for as it stores the arktribute data on the server itself.

Log1x commented 8 years ago

Using symbolic links as seen above does not seem to be working for me.

I did the following:

  1. ln -s center/* scorched/ which was successful.
  2. Setup my scorched.cfg with it's own ark_AltSaveDirectoryName, arkopt_clusterid, ark_SessionName, and arkautorestartfile and set arkflag_NoTransferFromFiltering to true.
  3. Attempted to start my scorched server with arkmanager start @scorched

and I get the following error(s):

Running command 'start' for instance 'scorched'
[  WARN  ]      Your ARK server exec could not be found.
mkdir: cannot create directory ‘/home/steam/servers/arkonia_server/scorched/ShooterGame’: File exists
[  ERROR  ]     The ARK SavedArks directory is not writable, and saveworld will fail
The server is starting...
The server is now running, and should be up within 10 minutes

which in turn does not actually start the server.

My Center server still starts with no issues which is where my Scorched server is symlinked from.

Any suggestions? Afraid I'm going to have to start my servers without ark-server-tools for the time being as I'm currently doing a freshwipe to setup ARK travels. :cry:

Waiting eagerly for a fix or update to ark-server-tools to support ARK instances.

klightspeed commented 8 years ago

@Log1x you were using relative symlinks, so it was looking in scorched/center/ShooterGame instead of where you expected.

I would suggest:

rm -rf scorched        # Remove the scorched directory
ln -s center scorched  # Create a symbolic link pointing scorched at center

If you really want to symlink the contents of the directory instead:

cd scorched
rm *  # remove the bad links
ln -s ../center/* .
Log1x commented 8 years ago

Thank you @klightspeed. I thought I tried ln -s center scorched but apparently I had a trailing slash when I attempted it.

Now I am running into the following issue:

steam@dev:~/servers/arkonia_server$ arkmanager start @scorched
Running command 'start' for instance 'scorched'
The server is starting...
The server is now running, and should be up within 10 minutes
steam@dev:~/servers/arkonia_server$ arkmanager start @center
Running command 'start' for instance 'center'
The server is already running
2016-09-17 17:31:07: Start aborted due to server already running
klightspeed commented 8 years ago

What is the output of ps -ef | grep 'ShooterGameServer'

What is arkserverroot set to in your instance configs?

What are the configfile_ lines in arkmanager.cfg?

Log1x commented 8 years ago

Will grab the output of ps -ef for you when my mods finish updating, but I checked htop before I stopped it to update mods and only the Scorched server was running out of of its set arkserverroot

scorched.cfg

arkserverroot="/home/steam/servers/arkonia_server/scorched"
arkautorestartfile="ShooterGame/Saved/.autorestart-scorched"

center.cfg

arkserverroot="/home/steam/servers/arkonia_server/center"
arkautorestartfile="ShooterGame/Saved/.autorestart-center"

.arkmanager.cfg

configfile_center="/home/steam/servers/arkonia_server/center.cfg"
configfile_scorched="/home/steam/servers/arkonia_server/scorched.cfg"
klightspeed commented 8 years ago

This should be better behaved in the latest version.

In fact, the latest version should no longer require the directory linking workaround.

Log1x commented 8 years ago

Is the latest pushed to 1.6-dev? I updated it last night but looks like you just did a commit. Will try it in a moment, thank you very much in advance. :)

klightspeed commented 8 years ago

The latest is now on the master branch.

Log1x commented 8 years ago

Looks to be working! Thanks a ton @klightspeed. :heart:

WriggleDev commented 8 years ago

@klightspeed to clarify - we won't need the "arkserverroot" anymore and can remove the symlinks?

ryan1161 commented 8 years ago

If this is true to remove symlinks how should one go about setting this up?

Log1x commented 8 years ago

Yup, there is no longer a need for symlinks.

I have both my Center server and Scorched Earth server running out of /home/steam/servers/arkonia_server/pvp

To do this I have a center.cfg and scorched.cfg.

scorched.cfg

arkserverroot="/home/steam/servers/arkonia_server/pvp"
arkbackupdir="/backup/steam/servers/arkonia_server/scorched"
arkStagingDir="/home/steam/servers/arkonia_server/pvp/.staging"
logdir="/home/steam/servers/arkonia_server/pvp/.logs"
arkautorestartfile="ShooterGame/Saved/.autorestart-scorched"

center.cfg

arkserverroot="/home/steam/servers/arkonia_server/pvp"
arkbackupdir="/backup/steam/servers/arkonia_server/center"
arkStagingDir="/home/steam/servers/arkonia_server/pvp/.staging"
logdir="/home/steam/servers/arkonia_server/pvp/.logs"
arkautorestartfile="ShooterGame/Saved/.autorestart-center"

and then of course setting ark_AltSaveDirectoryName to for example ark_AltSaveDirectoryName="SavedArksCenter" as well as your ark_SessionName, ark_MultiHome, etc.

No additional configuration is needed.