Native Linux server (with management scripts)

Yup, the fixes are included. Try running "version" by telnet or control panel to see if it does anything.

Bans are saved in admins.xml but only on shutdown.

 
So the fixes are running fine :)

What exactly is the problem? Are the commands not recognized, do you get permission denied or what is happening?

 
Admin with level 0?

/EDIT:

Ah, the problem is "getgameprefs". It was originally meant to retrieve a single option only so it is called "getgamepref" (or "gg") ;)

 
Last edited by a moderator:
How to add custom recipes...

like is it.... sdtd/engine/Data/Config/recipes.xml ?

or is some other file?

 
Encountering some problems

Hello all!

I just finished the initial setup using bootstrap.sh and configured my first instance.

When I try to start it by using 7dtd.sh start <name> I receive the following message:

Code:
konstantin@ProjectCommunity /home/sdtd/engine $ sudo 7dtd.sh start proc1
Failed!
There is a total of two logfiles located in /home/sdtd/instances/proc1/logs:

Code:
konstantin@ProjectCommunity /home/sdtd/instances/proc1/logs $ cat stdout.log
Found path: /home/sdtd/engine/7DaysToDie.x86
Code:
konstantin@ProjectCommunity /home/sdtd/instances/proc1/logs $ cat output_log.txt

Native stacktrace:

       /home/sdtd/engine/7DaysToDie_Data/Mono/x86/libmono.so(+0x8b470) [0xf70c1470]
       /home/sdtd/engine/7DaysToDie_Data/Mono/x86/libmono.so(+0x2133c) [0xf705733c]
       [0xf778d410]
       /lib32/libpthread.so.0(+0x6f59) [0xf7769f59]
       /lib32/libc.so.6(clone+0x5e) [0xf763589e]

Debug info from gdb:


=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
IP address: (Removed)
ly-CSharp-firstpass.dll (this message is harmless)
Loading /home/sdtd/engine/7DaysToDie_Data/Managed/Assembly-CSharp-firstpass.dll into Unity Child Domain
Platform assembly: /home/sdtd/engine/7DaysToDie_Data/Managed/Assembly-CSharp.dll (this message is harmless)
Loading /home/sdtd/engine/7DaysToDie_Data/Managed/Assembly-CSharp.dll into Unity Child Domain
Platform assembly: /home/sdtd/engine/7DaysToDie_Data/Managed/Assembly-UnityScript-firstpass.dll (this message is harmless)
Loading /home/sdtd/engine/7DaysToDie_Data/Managed/Assembly-UnityScript-firstpass.dll into Unity Child Domain
Platform assembly: /home/sdtd/engine/7DaysToDie_Data/Managed/Assembly-UnityScript.dll (this message is harmless)
Loading /home/sdtd/engine/7DaysToDie_Data/Managed/Assembly-UnityScript.dll into Unity Child Domain
Platform assembly: /home/sdtd/engine/7DaysToDie_Data/Managed/ICSharpCode.SharpZipLib.dll (this message is harmless)
Loading /home/sdtd/engine/7DaysToDie_Data/Managed/ICSharpCode.SharpZipLib.dll into Unity Child Domain
Platform assembly: /home/sdtd/engine/7DaysToDie_Data/Managed/libnoise.dll (this message is harmless)
Loading /home/sdtd/engine/7DaysToDie_Data/Managed/libnoise.dll into Unity Child Domain
Platform assembly: /home/sdtd/engine/7DaysToDie_Data/Managed/SteamworksManaged.dll (this message is harmless)
Loading /home/sdtd/engine/7DaysToDie_Data/Managed/SteamworksManaged.dll into Unity Child Domain
Platform assembly: /home/sdtd/engine/7DaysToDie_Data/Managed/NSpeex.dll (this message is harmless)
Loading /home/sdtd/engine/7DaysToDie_Data/Managed/NSpeex.dll into Unity Child Domain
- Completed reload, in  0.030 seconds
Platform assembly: /home/sdtd/engine/7DaysToDie_Data/Managed/System.dll (this message is harmless)
Platform assembly: /home/sdtd/engine/7DaysToDie_Data/Managed/System.Xml.dll (this message is harmless)
Platform assembly: /home/sdtd/engine/7DaysToDie_Data/Managed/System.Core.dll (this message is harmless)
Platform assembly: /home/sdtd/engine/7DaysToDie_Data/Managed/UnityScript.Lang.dll (this message is harmless)
Platform assembly: /home/sdtd/engine/7DaysToDie_Data/Managed/Boo.Lang.dll (this message is harmless)
The file '/home/sdtd/engine/7DaysToDie_Data/mainData' is corrupted! Remove it and launch unity again!
[Position out of bounds! 929988 > 929984]

(Filename:  Line: 273)

The class named 'Localization' is abstract. The script class can't be abstract!

(Filename:  Line: 1633)

0.000 Version: Alpha 9.0 (b33) Compatibility Version: Alpha 9.0, OS: Windows 32 Bit

(Filename: /BuildAgent/work/aeedb04a1292f85a/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

0.006 Last played version: Alpha 9.0

(Filename: /BuildAgent/work/aeedb04a1292f85a/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

0.010 Command line arguments: /home/sdtd/engine/7DaysToDie.x86 -logfile /home/sdtd/instances/proc1/logs/output_log.txt -configfile=/home/sdtd/instances/proc1/config.xml -dedicated

(Filename: /BuildAgent/work/aeedb04a1292f85a/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

0.040 Starting dedicated server level=Random Gen game name=proc1

(Filename: /BuildAgent/work/aeedb04a1292f85a/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

0.040 Maximum allowed players: 64

(Filename: /BuildAgent/work/aeedb04a1292f85a/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)

0.040 Game mode: GameModeSurvivalMP

(Filename: /BuildAgent/work/aeedb04a1292f85a/artifacts/LinuxStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)
Script and engine seem to be the most recent:

Code:
konstantin@ProjectCommunity /home/sdtd/instances/proc1/logs $ sudo 7dtd.sh updatescripts
Scripts are already at the newest version (v.46).
Server specifications:

Ubuntu 14.04 LTS x64

http://pastebin.com/LYDiMWvt

What I've already tried:

* apt-get update & upgrade

* Removing the engine folder and re-downloading it using 7dtd.sh updateengine

Any help in solving this problem would be appreciated.

Thanks in advance.

 
How to update my server? My game says server version 8.8. Do I have to run the bootstrapper again after an "updateengine"? What engine is updated with this command?

Yesterday I ran the updateengine command and something was updating, but still the 8.8 message.

OS: Debian 7

 
@LordofWar:

You really got the stacktrace and the other log output in the same single output_log.txt? That's weird.

And the output ends after "0.040 Game mode: GameModeSurvivalMP"? You did not cut it off there?

I had the stacktrace sometimes when running on my local test machine (never on my real server). But when it happened it did not output any other stuff at all as it crashed instantly.

Also trying to start a second or at most a third time always solved this, you might do so to as a first try.

How to update my server? My game says server version 8.8. Do I have to run the bootstrapper again after an "updateengine"? What engine is updated with this command?Yesterday I ran the updateengine command and something was updating, but still the 8.8 message.

OS: Debian 7
This is what "updateengine" will have shown you when you ran it:

WARNING!!! The currently installed version of the scripts do not support the newer dedicated server build!If you continue you might not be able to start the server.

Please wait for an updated release of the scripts or continue at your own risk.
And at the end of the update:

Also update the scripts as soon as there is a new release for this dedicated server build.
So you probably did not update the scripts afterwards (updatescripts) ;)

 
@Alloc

The content of output_log.txt is not cut at the end, I just checked it to be sure.

When I try to start it multiple times I always get same message:

Code:
konstantin@ProjectCommunity /home/sdtd/instances/proc1/logs $ sudo 7dtd.sh start proc1
Failed!
konstantin@ProjectCommunity /home/sdtd/instances/proc1/logs $ sudo 7dtd.sh start proc1
Failed!
konstantin@ProjectCommunity /home/sdtd/instances/proc1/logs $ sudo 7dtd.sh start proc1
Failed!
konstantin@ProjectCommunity /home/sdtd/instances/proc1/logs $ sudo 7dtd.sh start proc1
Failed!
konstantin@ProjectCommunity /home/sdtd/instances/proc1/logs $ sudo 7dtd.sh start proc1
Failed!
Unfortunately that didn't do the trick.

Do you have any other ideas?

Your help is greatly appreciated.

 
Unfortunately right now I'm out of ideas. Gotta leave for now but I'll try to get that error back on my machine and see if I can find any more details on what is going wrong.

 
Argh, of course it does not happen now ... even after starting about 10 times :(

Could you check if any of the system logs (syslog, messages, ...) contains any notice about that crash?

/EDIT:

Ok, next try after posting this it did crash ;)

Nothing relevant in the sys logs though, so it really is just the information in that output. And that is quite scarce :(

 
Last edited by a moderator:
Hmz, edit time has just passed...

/EDIT2:

Seems to be a common problem with Unity+Linux (and even plain Mono). If you google for "linux unity mono sigsegv" you'll get quite a bunch of results. Did not quickly find any proper solution though :(

 
Thanks for all the effort you put into trying to solve this problem, I really appreciate it.

After some researching I thought that maybe the Mono Version which is distributed with Ubuntu 14.04 (Mono 3.2.8) might be the problem, since everything seems to work pretty well on my local 12.04 (Mono 2.10.8.1) test environment.

So I began trying to compile Mono 2.10.8.1 on the 14.04 machine from the official sources since I wasn't able to find any pre-built packages for 14.04. After about half an hour into the process the server suddenly died. I guess it was some kind of kernel panic triggered by the compilation process itself (Have to investigate that later).

After a quick look into htop, to check if everything was up and running again, I noticed some processes containing "7DaysToDie.x86" in the command field.

I tried to start the 7DTD instance again:

Code:
konstantin@ProjectCommunity /home/sdtd $ sudo 7dtd.sh start proc1
Instance proc1 is already running
Which confirmed my presumption, that the instance somehow managed it to boot up properly.

I was able to connect to the server from the 7DTD Client - So far so good.

However, after shutting the instance down...

Code:
konstantin@ProjectCommunity /home/sdtd $ sudo 7dtd.sh kill proc1
Trying to gracefully shutdown...
Waiting for server to shut down...
1/5
Done
...and starting it again...

Code:
konstantin@ProjectCommunity /home/sdtd $ sudo 7dtd.sh start proc1
Failed!
... I'm facing the same problem.

I'm baffled, because it is totally reproducible - Every time I reboot the machine the 7DTD instance is running as if there were no problems at all.

The output_log.txt after a reboot (Instance is running) can be found here:

http://pastebin.com/hh2xXFVG

At the moment I don't know why it works after rebooting the server.

If I find a solution for this issue, I'll post it here.

 
Weird that the start at boot time works ... the output you got there is the regular one.

Also note that Unity ships its own version of Mono so it's not affected by whatever version you install on your system. Still hope there's a real solution for this.

 
I've been battling for the passed few days to get my servers running. Everything is up to date, instance is created, but when i go to connect to the server, It tells me to enter the password and then just hangs at "Connection to server ......"

Any suggestions?

 
Any possibility to get PHP support for Hooks? https://7dtd.illy.bz/wiki/Hooks

Or some similar approachable language, I afraid Bash scripting won't quite cut the popularity. Besides having support for modules of all kinds.

Looking at your specs using a #!/usr/bin/php shebang could enable direct support but your telnetcommand function is bash based so the php would need to exec to a bash script with the result. Besides your event poller looks for .sh files according to your description.

 
Back
Top