Jump to content

Native Linux server (with management scripts)


Alloc

Recommended Posts

@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) ;)

Link to comment
Share on other sites

@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:

 

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.

Link to comment
Share on other sites

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 :(

Edited by Alloc (see edit history)
Link to comment
Share on other sites

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 :(

Link to comment
Share on other sites

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:

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

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

 

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Log from client and server?

 

 

Any possibility to get PHP support for Hooks?

Well, even though the files currently require to have .sh extension you can use them for PHP by just placing the php-shebang in the first line as you said. PHP doesn't care for the extension. Having a fixed extension was to make sure that no backups are executed (e.g. joe creates <origName>~ backups). (See http://php.net/manual/en/features.commandline.usage.php, Example #1)

 

As you said you could not easily use the telnetCommand function (or any other provided by the scripts) but well, as long as I don't write everything in PHP (which obviously won't happen as that language isn't made for the given tasks ;) ) there's no way around that if you want to use the functions. But you should be able to relatively easily set up a connection to the Telnet port with the PHP sockets stuff.

Link to comment
Share on other sites

Hello,

 

made a fresh installation on my Ubunto 10.04 LTS which worked fine.

But I already got a message while installing which was saying that the engine is newer than the management script.

I still tried the install and got the server "running".

 

Sadly it shows not game information in the server list (added manually) and a connection attempt runs endless.

 

Now my questions is, is there anything I can do on my end, or do I just have to wait for a new script.

If anyhting else is needed (logs, etc), just let me know.

 

Thank in advance.

 

PS: status from console:

root@lvpsxxx-xxx-xxx-xxx:/etc/init.d# 7dtd.sh status mainworld
Instance: mainworld

Status: Running
Open ports:
   25000 (udp)
   25001 (udp)
   27036 (udp)
   59109 (tcp)
Players:

Game info:
   Server name:
   Password:
   Max players:
   World:

Network info:
   Port:
   Public:
   Control Panel:  Port , Pass
   Telnet:         Port , Pass

Edited by Thelassar
Changed Quote to Code (see edit history)
Link to comment
Share on other sites

Here is the log for the server: http://pastebin.com/WBhVLapa

 

Ugh, this looks weird ... looks like it can't find the classes of the server fixes. Could you run "7dtd.sh updatescripts" and check if that helps?

 

 

 

But I already got a message while installing which was saying that the engine is newer than the management script.

I think that's ok, the bootstrapper just isn't aware of that new part ... Gotta rework that one anyway ;)

 

Now my questions is, is there anything I can do on my end, or do I just have to wait for a new script.

Just to make sure everything is up to date please run both "7dtd.sh updatescripts" and "7dtd.sh updateengine".

 

Also paste the log (by default this should be in /home/sdtd/instance/mainworld/log/current_output.log) to pastebin.com and post the link here. You might want to blank the passwords in the log where the server prints all the GamePrefs (just search the log for "password").

Link to comment
Share on other sites

Just to make sure everything is up to date please run both "7dtd.sh updatescripts" and "7dtd.sh updateengine".

 

Sorry forgot to mention I already did that.

 

Also paste the log (by default this should be in /home/sdtd/instance/mainworld/log/current_output.log) to pastebin.com and post the link here. You might want to blank the passwords in the log where the server prints all the GamePrefs (just search the log for "password").

 

Thats the problem, the log you mentioned is pretty empty:

Starting instance mainworld at 2014.08.22 01:00:21

 

I've uploaded the output_log.txt on pastebin, since this has more entries:

http://pastebin.com/g4izRsGh

 

I noticed a few things which irritate me:

- Error in Log: "The file '/home/sdtd/engine/7DaysToDie_Data/mainData' is corrupted! Remove it and launch unity again!"

- While searching the file for the password, all settings where empty.

- Settings for GameLevel and GameName are "My Game" but I set it to Random Gen on setup (might had to type it in as "Random Gen" not just Random Gen)

- While trying to kill the instance, it always forces it to quit, meaning it can't shut it down properly.

 

Question on a sidenode: Can I import my current mp world which I used to host on my pc to the server?

Meaning copying it over to: /home/sdtd/Documents/7 Days To Die/Saves

 

Thanks for the help.

 

- - - Updated - - -

 

Just noticed, most of the settings metioned here differ from what I set while creating the instance.

Are those the "default" values?

Link to comment
Share on other sites

I think I found another problem, or maybe the mainproblem:

Thats my config.xml in the instance:

 

<ServerSettings/>

 

Seems like it didn't write anything.

 

And exactly that was the problem.

I've noticed he posted the settings in the console.

 

I just copied it over, removed the double parent nodes and it started and I can connect.

Yay, thanks :tickled_pink:

Link to comment
Share on other sites

Glad it works. Should have noticed earlier that you are running 10.04. The XMLStarlet shipped in U10.04 is just too old to have the XML stuff in the scripts working.

 

Regarding using your existing save: Should be fine, but the destination is /home/sdtd/instances/<name>/<World Name>

Link to comment
Share on other sites

Glad it works. Should have noticed earlier that you are running 10.04. The XMLStarlet shipped in U10.04 is just too old to have the XML stuff in the scripts working.

 

Regarding using your existing save: Should be fine, but the destination is /home/sdtd/instances/<name>/<World Name>

 

I'm uploading my old world now.

Since the new one only generated a wasteland map.

 

I might be missing a configuration (http://pastebin.com/4KetRnxV).

But its set to Random Gen which should include all bioms ain't it?

 

Thanks again for the help.

Edited by Thelassar (see edit history)
Link to comment
Share on other sites

I attempt to update the scripts but they are already up to date. Am I just at a loss? lol

That's really weird ... The only things I can think of right now is doing forced updates on both engine and scripts:

7dtd.sh updatescripts --force
7dtd.sh updateengine --force

But I don't think that will help. Will try to come up with better ideas though ;)

 

 

I might be missing a configuration (http://pastebin.com/4KetRnxV).

But its set to Random Gen which should include all bioms ain't it?

Uhm, how did you create that config? "Random Gen" is the GameWorld, GameName can be anything. You put it just the other way round ;)

Link to comment
Share on other sites

I am getting quite irritated with Steamcmd and this stupid Steam Guard Nonsense. I have verified my server over 50 times yet I always have to enter in the steam guard code. Thats half the battle because every time I go to update the engine, It asks for the steam guard code, logs me in okay, but never retrieves the license info, thus killing the script.

 

I ended up installing the game manually to /home/sdtd/engine instead of using your scripts because of this reason, could that be a problem?

 

I've been contacting Steam support for the past 4 days but not a single response except for an automated "Here follow this guide."

Link to comment
Share on other sites

Uhm, how did you create that config? "Random Gen" is the GameWorld, GameName can be anything. You put it just the other way round ;)

 

Yeah I already noticed that, and switched those.

Still if I use a blank save (meaning none) it always creates a wasteland world.

 

Can't connect to my saved game, always tells me that I'm not logged in. :/

Link to comment
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...