Jump to content

Native Linux server (with management scripts)


Alloc

Recommended Posts

So how does one enable remoteCommand hooks...?

Apparently it is not enough with the file

-r-xr-xr-x  1 sdtd sdtd  896 Sep  8 19:46 test.sh*

and in in-game console

cp add test 1
cp add test.sh 1
cp add /test 1

and in in-game console

test 1 2 3
test.sh 1 2 3
/test 1 2 3

** ERROR: unknown command 'test'

** ERROR: unknown command 'test.sh'

** ERROR: unknown command '/test'

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

What exactly were you trying to achieve? That hook is only for when a remote client successfully executes a real command. It does not work for adding commands to the game if that's what you were trying to do. If not I just don't exactly get what your two codes should show me ;)

Link to comment
Share on other sites

trying to setup the VS with the project.. got the

 

F:\7dtdserver\7dtd\binary-improvements\7dtd-binaries\Assembly-CSharp.dll (deob version)

F:\7dtdserver\7dtd\binary-improvements\7dtd-binaries\EasyAntiCheat.Client.dll

F:\7dtdserver\7dtd\binary-improvements\7dtd-binaries\EasyAntiCheat.Server.dll

F:\7dtdserver\7dtd\binary-improvements\7dtd-binaries\README.txt

F:\7dtdserver\7dtd\binary-improvements\7dtd-binaries\SteamworksManaged.dll

F:\7dtdserver\7dtd\binary-improvements\7dtd-binaries\UnityEngine.dll

 

what am I missing... as I get these errors

 

Error 1 The type or namespace name 'ConsoleCommand' could not be found (are you missing a using directive or an assembly reference?) F:\7dtdserver\7dtd\binary-improvements\7dtd-server-fixes\src\CustomCommands\GetTime.cs 5 25 7dtd-server-fixes

Link to comment
Share on other sites

This error appeared after 9.2 update... when I type sudo 7dtd.sh status MyInstance... The hooks also stop working.

Hm, no idea how that could happen. Not even sure what exactly happens there ;)

Could it be your machine is running out of free memory?

 

 

trying to setup the VS with the project.. got the

...

what am I missing... as I get these errors

Deobfuscated AC#.dll from where?

 

Also please post server fixes related questions in the thread on them. Does help the organization a bit ;)

 

 

How do I update to 9.3 from 9.2?

run the updatescripts and updateengine commands and you should be done :)

Link to comment
Share on other sites

 

Deobfuscated AC#.dll from where?

 

Also please post server fixes related questions in the thread on them. Does help the organization a bit ;)

 

dunno which other thread you mean?

 

the Assembly-CSharp.dll from the 7dtd 9.3 folder put in the Deobfuscate-7dtd_pre0.3.1 >Assembly-CSharp.deobf.dll renamed to Assembly-CSharp.dll F:\7dtdserver\7dtd\binary-improvements\7dtd-binaries\Assembly-CSharp.dll (deob version)

Link to comment
Share on other sites

dunno which other thread you mean?

http://7daystodie.com/forums/showthread.php?12837-Improvements-for-the-dedicated-server

 

the Assembly-CSharp.dll from the 7dtd 9.3 folder put in the Deobfuscate-7dtd_pre0.3.1 >Assembly-CSharp.deobf.dll renamed to Assembly-CSharp.dll F:\7dtdserver\7dtd\binary-improvements\7dtd-binaries\Assembly-CSharp.dll (deob version)

Hm, that sounds ok. Haven't use VS though so I don't know if it does something weird here.

Link to comment
Share on other sites

Updatescripts only did that? Do you know if/what part you skipped when installing manually?

Actually the only thing that I could imagine having a problem at all is putting the "7dtd" in /etc/bash_completion.d/. It doesn't even try to fiddle with rc-scripts (only copies the new 7dtd.sh to /etc/init.d but doesn't invoke rc-update or anything).

Link to comment
Share on other sites

weirdinfo.jpg.9e9d7182acc7b8232613bdaec63aafa3.jpg

 

Well I restart before doing it to make sure I didnt have current issues... Then ran the update command and that happened

 

Idk... Im going to prob do the manual install tonight again and see but thats only if I cant get this to work. Have a 11 day game going I can hopefully get back

 

 

heres another link to my error

the pic is really small for some reason

http://tinypic.com/view.php?pic=2wgad8k&s=8

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

I know I was copy and pasting from the script itself to install it

I know I left out update-rc.d 7dtd.sh defaults thinking it was the issue

Does this get run again during the script update?

 

Besides this issue, it runs perfect on centos

 

 

also while following manual install . /etc/bash_completion was not run

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

Those erors don't look like they were related to the scripts at all.

Updatescripts doesn't run update-rc.d either.

 

Gonna try a centos install tomorrow (more exactly today after sleeping ;-) ) myself.

 

/EDIT: Which version of centos are you running?

Link to comment
Share on other sites

Using centos 6.5

 

Poweredge 2950 server

software raid

 

Only commands I have run after fresh install is

yum install update

yum groupinstall "Base" "Development Tools" "Development Libraries"

disable selinux

 

Then go right into install 7dtd

Link to comment
Share on other sites

Not sure if this is where I should post questions about the server fixes .dll, but I just gave it a try this morning, and it seemed to have broke my server. The mapping webserver works, and the server runs, but I cannot login in-game. It connects, asks for the password and then sits at "connecting to server [iP Address/Port]" forever.

 

I assumed it was due to the 9.3 update that was pushed out on steam today, so I did an updateengine --force and got things working again minus the server fixes .dll. Noticed that rev 180 says it supports Alpha 9.3, so I gave it another try... Same results, mapping via the webserver works, but I cannot login using the game client.

 

I didn't see any clear spot on where to put the "7dtd-server-fixes.dll" and "Assembly-CSharp.dll" (once renamed, of course) so I put them under /home/sdtd/engine/7DaysToDie_Data/Managed

 

Am I doing something wrong?

 

the logs seem to suggest I'm connected, but the client doesn't? Is that steamworks error the problem?

 

2014.09.08 16:15:12: Allowing player with id 1
2014.09.08 16:15:14: EAC UserStatusHandler callback. Status: Authenticated GUID: [REDACTED] ReqKick: False
2014.09.08 16:15:16: RequestToEnterGame: 1/zOmbIE
2014.09.08 16:15:16: GMSG: zOmbIE joined the game
2014.09.08 16:15:17: RequestToSpawnPlayer: 171, 1, zOmbIE, 8
2014.09.08 16:15:17: Created player with id=171
2014.09.08 16:15:17: Adding observed entity: 1, (-373.2, 69.9, -714.0), 8
2014.09.08 16:15:17: Fallback handler could not load library /home/sdtd/engine/7DaysToDie_Data/Mono/x86/SteamworksNative
2014.09.08 16:15:17: Player connected, clientid=1, entityid=171, name=zOmbIE, steamid=[REDACTED], ip=192.168.0.42
2014.09.08 16:15:18: Player set to online: [REDACTED]

Link to comment
Share on other sites

Heres what I did to get it working on centos 6.5... This is only the server, nothing else

 

 

centos 6.5 64 bit 
I have been doing Full desktop install for now

#Commands

yum -y update

#then 

yum groupinstall "Base" "Development Libraries" "Development Tools"
reboot


### To install xmlstarlet I 
cd /tmp
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm


#Needed for steam "yum install glibc.i686 libstdc++.i686"
yum install xmlstarlet
yum install libgcc.i686
yum install glibc.i686 libstdc++.i686
yum install nc

===========================================================================================================


useradd -d /home/sdtd -m -r -s /bin/bash -U sdtd

wget http://illy.bz/fi/7dtd/management_scripts.tar.gz

tar --touch -xvzf management_scripts.tar.gz -C /

vi /etc/7dtd.conf
#edit steam un and pw then save and close
:wq

###Make the server start at system boot: 
chkconfig 7dtd.sh on


#Compile start-stop-daemon
cd /usr/local/lib/7dtd/start-stop-daemon

make
gcc -o start-stop-daemon start-stop-daemon.c

make install
chown root.root start-stop-daemon
chmod 0755 start-stop-daemon


#Install the Linux engine

wget -O linux_files.tar.gz http://illy.bz/fi/7dtd/linux_files.tar.gz

tar --touch -xvzf linux_files.tar.gz -C /home/sdtd/

chown sdtd.sdtd -R /home/sdtd/linux_files
chmod 0644 -R /home/sdtd/linux_files
find /home/sdtd/linux_files -type d -exec chmod 0755 {} \;
chmod 0755 /home/sdtd/linux_files/engine/7DaysToDie.x86

chown root.root /etc/7dtd.conf
chmod 0600 /etc/7dtd.conf


chown sdtd.sdtd /home/sdtd -R


chown root.root /etc/init.d/7dtd.sh
chown root.root /etc/bash_completion.d/7dtd
chown root.root /usr/local/bin/7dtd.sh
chown root.root /usr/local/lib/7dtd -R
chmod 0755 /etc/init.d/7dtd.sh
chmod 0755 /etc/bash_completion.d/7dtd
chmod 0755 /usr/local/bin/7dtd.sh
chmod 0755 /usr/local/lib/7dtd -R

7dtd.sh updateengine

#Enter steam code wait for update

7dtd.sh instances create

 

I can reboot and everything works fine.... I havent tried doing anything with the update script.

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

Not sure if this is where I should post questions about the server fixes .dll,

The correct location would've been: http://7daystodie.com/forums/showthread.php?12837-Improvements-for-the-dedicated-server

;)

 

You shouldn't even have to download the mod yourself, if you do a updatescripts and updateengine you'll have the mod for the current version automatically. If after that it still does not work please send me a full server log (including at least one login attempt). Don't forget to strip the passwords.

 

Heres what I did to get it working on centos 6.5... This is only the server, nothing else

...

I can reboot and everything works fine.... I havent tried doing anything with the update script.

Currently installing a test environment ;)

Link to comment
Share on other sites

@bladez:

I found the problem. In CentOS /etc/init.d is a symlink and the unpacking operation for the management-scripts overwrites this link with a directory instead of adding the file to the directory that is symlinked (/etc/rc.d/init.d/). So the system can't find any of the scripts afterwards anymore.

Will see how I can prevent this from happening.

Link to comment
Share on other sites

You shouldn't even have to download the mod yourself, if you do a updatescripts and updateengine you'll have the mod for the current version automatically. If after that it still does not work please send me a full server log (including at least one login attempt). Don't forget to strip the passwords.

 

Ended up being some sort of port conflict, changed the remote control port to 8100 and it's working now.

Link to comment
Share on other sites

Ended up being some sort of port conflict, changed the remote control port to 8100 and it's working now.

:)

 

 

@bladez: Updated the updatescripts in v.57 so it should work for you. You have to update it once manually though as only subsequent updatescripts-invocations will have that fix.

I still have to come up with a solution for the bootstrapper though :(

Link to comment
Share on other sites

I made myself a simple monitoring daemon that checks the status and restarts the server if it fails. It notifies via email address if it can't start.

 

Perl is required, required modules are listed in the comments. A working sendmail install is also required. The script uses the base directory its running from as a working directory for the pidfile. I run mine from /etc/scripts/ as root. You place your relevant user info in the commented section near the top as is required.

 

Feel free to modify and reuse it however you like.

 

usage. ./script.pl <-start> <-stop> <-status>

 

http://pastebin.com/dkxKrgjV#

Edited by FeistyLemur (see edit history)
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...