Jump to content

Native Linux server (with management scripts)


Alloc

Recommended Posts

Crontab, just what the doctor ordered. I just has to edit visudo to remove my password requirement when running commands and works great. Now as far as the crashes themself, well I'll probably just find a more updated map and start there.

 

Thanks for the nice setup Alloc!

Clinton

Link to comment
Share on other sites

is there any .sh cron script that could check an instance and start it up if its not running? (ie its crashed seems to have started happening since EAC)

 

not that familiar with .sh stuff only php

 

Kind of late since you asked this a month ago.

 

But I made a perl daemon that checks and restarts the server if it crashes, and also emails you if it does. Some familiarity with perl is assumed to use it.

 

http://pastebin.com/dkxKrgjV

Link to comment
Share on other sites

I checked it out, but seems to have the same problem I had with not being able to automate a restart for when 7dtd has one of those.. crashes where players know server is down because they can't get on it, but automated checks like 7dtd.sh start <name> fail to work at restarting because the 7dtd process has semi crashed but is still seen as running. I notice getting a telnet response fails when it is down but still running.. but never really bothered doing much testing when the server had 'sort of' crashed to really make any progress on a something that could be used to automate a restart in such an event.. just easier to restart it manually and forget it happens until the next time.

 

Anyway I went with automated 12hr restarts, 5min then 5second notice to players that it would be restarted, with an attempt at a clean shutdown giving it 8seconds to do its business and then a nice kill every 7dtd process afterwards just incase shutdown fails which it seems to when 7dtd crashes .. and then start again :) its worked ok far, apart from the first time it shutdown the server and failed to start again.. got complaints on that one lol.

Link to comment
Share on other sites

So has anyone noticed that when they restore a backup it causes the server to start to crash on player exit?

 

I've looked through the guide page and don't see anything about this. The method I took of restoring a backup was to simply cp -a the backup folder into the instances after removing the original. Is this the wrong way to go about it? Are there any steps I'm missing that would cause this?

Link to comment
Share on other sites

So has anyone noticed that when they restore a backup it causes the server to start to crash on player exit?

 

I've looked through the guide page and don't see anything about this. The method I took of restoring a backup was to simply cp -a the backup folder into the instances after removing the original. Is this the wrong way to go about it? Are there any steps I'm missing that would cause this?

Haven't heard of such a problem before. Also don't see any reason why this should happen, the backup folders are just plain copies of the instance folder.

 

Anything in the log after such crashes?

Link to comment
Share on other sites

Okay I think I found what you wanted to see. Here's what the output log shows right at the time one of these crashes happened.

 

2014.10.21 18:24:22: Freeing user FeistyLemur

2014.10.21 18:24:23: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative

2014.10.21 18:24:23: Player FeistyLemur disconnected after 35.5 minutes

2014.10.21 18:24:23: Player set to offline: <Blanked out my steam ID here>

2014.10.21 18:24:23: Removing player with id clientId=1, entityId=171

2014.10.21 18:24:23: GMSG: FeistyLemur left the game

2014.10.21 18:24:23: Removing observed entity 1

2014.10.21 18:24:23: Exited thread_CommWriter: cl=1, ch=1

2014.10.21 18:24:23: Exited thread_CommWriter: cl=1, ch=2

2014.10.21 18:24:23: No objects for the given player ID were deleted 1

2014.10.21 18:24:23: Exited thread_CommReader: cl=1, ch=1

2014.10.21 18:24:23: Couldn't send RPC function 'RPC_SetWorldTime'

2014.10.21 18:24:23: Exited thread_CommReader: cl=1, ch=2

2014.10.21 18:24:23: OnPlayerDisconnected 1

2014.10.21 18:24:23: Disconnected player not found in client list...

2014.10.21 18:24:23: No objects for the given player ID were deleted 1

Link to comment
Share on other sites

That part looks just fine. Nothing after it?

 

No that's the very last entries in that output log line for line. I was online with 2 other players on. I noticed this before as well when playing around with backups and wrote it off to the 9.2 to 9.3 upgrade having broken the map and made a new instance. The new instance worked fine up until I restored a backup on Sunday and noticed this happening again.

 

Literally what I did was rm -r the original folder from instances/servername and cp -a the backup to intances/servername then start it up.

 

It doesn't happen every single time.

Link to comment
Share on other sites

  • 2 weeks later...

Has something happened to your site?

 

I am getting

wget: unable to resolve host address 'svn.illy.bz'

when trying to install.

 

This is another reason why many people (myself included) would like to see your code on some public site, like github.

Link to comment
Share on other sites

Nope, it's just the DNS that's going nuts atm.

 

Any chance of the server ip(s), then i can get the stuff downloaded thanks.

And please tell me you arent actually paying for that hosting - If my DNS was that flaky, for even a few hours, I'd be losing customers rapidly.

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

Thanks,

 

For anyone else having trouble accessing the server, add the following line to /etc/hosts

 

178.63.97.203 illy.bz svn.illy.bz 7dtd.illy.bz

 

The scripts and game are now up to date, but i'm unable to start an instance.

 

Mono path[0] = '/home/sdtd/engine/7DaysToDie_Data/Managed'
Mono path[1] = '/home/sdtd/engine/7DaysToDie_Data/Mono'
Mono config path = '/home/sdtd/engine/7DaysToDie_Data/Mono/etc'
Invalid serialized file version. File: "/home/sdtd/engine/7DaysToDie_Data/mainData". Expected version: 4.5.0f6. Actual version: 4.5.3f3.

(Filename:  Line: 736)

Failed to read file '/home/sdtd/engine/7DaysToDie_Data/mainData' because it is corrupted.

(Filename:  Line: 442)

PlayerInitEngineNoGraphics settings: Could..... not preload global game manager #0   i=0
Failed to initialize player

 

It seems to be complaining that the data is newer than it was expecting?

 

I've tried deleting that file, and doing a "7dtd.sh updateengine --force" with the same results.

I've also created a fresh instance which does the same thing.

Link to comment
Share on other sites

Hm, the only way I ever got telnet to crash was when I did not properly disconnect, i.e. closing the connection instead of letting the server close it by sending the exit command (this *always* made it crash for me). Don't know what FRT does with his SM though ;)

 

You never considered mentioning this to us others earlier...? Thanks. =D

Link to comment
Share on other sites

My bad. Has it been fixed since? Not needing to exit telnet sessions?

I'm just curious to understand how 40 player servers are run on linux without crashing because my three bootstrapped servers can hardly play over 10 players for some minutes until crashing. Maybe their all running Windows. No blaiming your code, just frustrated.

Link to comment
Share on other sites

Telnet hasn't been touched in the vanilla code and has always been invulnerable to that bug in my implementation since the beginning ;)

 

In regards to player limit: Probably it's really just the 32 bit as the Windows server does not have this limitation.

Link to comment
Share on other sites

  • 3 weeks later...

I'm not having much luck getting the alpha 10 update of this going. I updated the scripts and engine, created a new instance, and it fails to start.

 

stdout log says.

 

Found path: /home/sdtd/engine/7DaysToDie.x86

There is no data folder

 

there is in fact a folder named /home/sdtd/engine/7DaysToDie_Data assuming that's what it's looking for.

Link to comment
Share on other sites

So I have this Dedicated Linux management installed on Ubuntu, and it's currently version 9.3.

Question is... can anyone tell me the simplest way to update to v10... I know how to delete and readd the instance when updated, but how to update? Thanks... Clinton

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