Jump to content

Native Linux server (with management scripts)


Alloc

Recommended Posts

This would start the server again yes, but the "dead" instance would still be running as it always does when i look at the processes. I always had to manually kill the old process as it still consumes memory, before i restart.

Hm, never had that happen with OOMs. Other causes my obviously leave a process running but unusable. Some people wrote nice little scripts for detecting this though.

 

 

 

root@7DTD:~# 7dtd.sh start Home
Failed!
root@7DTD:~# 

Logs? stdout.log, output_log ... anything?

Link to comment
Share on other sites

Hm, never had that happen with OOMs. Other causes my obviously leave a process running but unusable. Some people wrote nice little scripts for detecting this though.

 

Logs? stdout.log, output_log ... anything?

No, zero logs, which is super annoying. It's like it dies before it can create them.

I get one file stdout.log, and it's empty.

 

Did some further poking, and commented out the 64-bit options in /usr/local/lib/7dtd/commands/start.sh. (lines 60, 61, 62) Now it will start in 32-bit without any issues.

 

Log shows 64-bit OS though...

2016-03-27T11:24:56 0.167 INF Version: Alpha 14 (b92) Compatibility Version: Alpha 14, Build: Linux 32 Bit
2016-03-27T11:24:56 0.168 INF System information:
2016-03-27T11:24:56 0.303 INF    OS: Linux 3.13 Ubuntu 14.04 64bit

 

I really really don't want to be stuck in 32-bit again, and I have no idea why my server is doing this. I helped a buddy get his up and running with absolutely no issues at all, and it's running 64-bit just fine.

 

Something's got to be missing is the only thing I can think of, but I've installed all the prerequisites, double-checked all the updates, and it simply will not launch.

Link to comment
Share on other sites

Try to run the process manually as palmic pointed out.

That give me "Illegal instruction (core dumped)

no new logs

 

- - - Updated - - -

 

have you doublechecked requirements libs in prerequisities?

It could be related to your issues.. Do you have exactly the same libraries packages?

Yes, triple-checked. All are installed and updated.

Link to comment
Share on other sites

That give me "Illegal instruction (core dumped)

Well, you kinda got your culprit there ... seems to be a deeper issue with your system / Unity. It doesn't even get *close* to the game code itself.

What CPU do you run? If VM both host as well as the virtualize CPU type.

Link to comment
Share on other sites

Server Specs

 

Operating System

Ubuntu 14.04.1 LTS 64-bit

CPU

2x Dual Core AMD Opteron Processor 275 @ 2.20GHz

RAM

16.0GB DDR1/333 SDRAM

Motherboard

SunFire V20z system board

Graphics

N/A

Storage

Two 73GB Ultra320 SCSI disk drives in RAID1

 

It's really weird that it started having issues with the 64-bit reading blocks.xml in a13.8, and now just crashes when starting 64-bit in a14. It runs one Navezgane map fine in 32-bit, but I know if I'm going to use RWG for a number of players, I'll want to use 64-bit. Not certain that I can (or would want to) run Windows on this old web server. Last time I tried to install Server 2008, it didn't end well. I was wondering if installing an old 512MB PCI video card would help at all LOL. I think I have one laying around on my desk somewhere.

Link to comment
Share on other sites

CPU

2x Dual Core AMD Opteron Processor 275 @ 2.20GHz

Yeah, almost looks like that's the issue. I assume Unity requires some newer CPU instruction set extensions on the 64 bit builds, like SSE4 or AVX. Same problem for another old AMD processor is described on this Unity thread. I suppose you're out of luck there with the 64 bit build :(

Link to comment
Share on other sites

Hi,

 

got a little Question about the different Ubuntu releases, maybe its related to SylenThunder´s

Problem as well.

 

Ubuntu 14.04 LTS uses Init.d als the Init/deamon System and Ubuntu 15.10 uses System.d,

therefor your Bootstrap.sh will only work on Ubuntu Versions below 15.10?

 

The Release of Ubuntu 16.04 LTS is only a few Days/Weeks away and System.d will become

the standard Init System, do you intend to update your bootstrap.sh to System.d?

 

Mostly all major Distributions use System.d now

 

 

Thx and Greetings

Jason

 

P.S. Sorry still learning English

Link to comment
Share on other sites

Good point ... didn't really catch my attention as my game VM is still running a rather old Debian which does use init.d ;)

Of course this has to be updated at some point, just gotta figure out what exactly needs to be done for that. (Btw, the bootstrapper shouldn't be affected a lot by this ... of course it won't be able to create a start script but everything else should be fine)

Link to comment
Share on other sites

Hey man. Just installed the bootstrap on a fresh server. when I go to make an instances I get this back.

 

/usr/local/lib/7dtd/serverconfig.sh: line 963: /usr/bin/xmlstarlet: No such file or directory

/usr/local/lib/7dtd/serverconfig.sh: line 964: /usr/bin/xmlstarlet: No such file or directory

Link to comment
Share on other sites

Hey man. Just installed the bootstrap on a fresh server. when I go to make an instances I get this back.

 

/usr/local/lib/7dtd/serverconfig.sh: line 963: /usr/bin/xmlstarlet: No such file or directory

As it says: You're missing xmlstarlet (as pointed out in the prerequisites page) ;)

Link to comment
Share on other sites

Yeah, almost looks like that's the issue. I assume Unity requires some newer CPU instruction set extensions on the 64 bit builds, like SSE4 or AVX. Same problem for another old AMD processor is described on this Unity thread. I suppose you're out of luck there with the 64 bit build :(

Finally tracked it down. Latest Unity 64-bit uses SSE4, and my CPU only supports SSE3. If I could find a way to force it to use SSE3 instead, I could get it working.

 

Can't really afford to drop money on new hardware so I'm living with 32-bit and some hard limitations for a while it looks like.

 

EDIT: Further digging shows that though the CPU's support SSE3, my cpuinfo file is only showing up to SSE2 support.

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

Finally tracked it down. Latest Unity 64-bit uses SSE4, and my CPU only supports SSE3. If I could find a way to force it to use SSE3 instead, I could get it working.

 

Can't really afford to drop money on new hardware so I'm living with 32-bit and some hard limitations for a while it looks like.

 

EDIT: Further digging shows that though the CPU's support SSE3, my cpuinfo file is only showing up to SSE2 support.

Yeah, it's too bad things like this happen ... but after all that CPU is 11 years old. Sometimes you just have to drop support for old stuff if you want to improve things ;)

SSE4 is also 10 years old by now so at least not too restrictive.

And most important: You can at least still run it, even though with the 32 bit restriction.

Link to comment
Share on other sites

Yeah, it's too bad things like this happen ... but after all that CPU is 11 years old. Sometimes you just have to drop support for old stuff if you want to improve things ;)

SSE4 is also 10 years old by now so at least not too restrictive.

And most important: You can at least still run it, even though with the 32 bit restriction.

Yep. I've been eyeing some new hardware anyway. Just need funds to throw into a purchase. I'll probably turn this box into a Minecraft server or something then.

 

I have a couple of newer PC's I could use, but they don't have the RAM I need for it to run smooth with 10 people on each server.

Link to comment
Share on other sites

Capture response of telnet command in hook script.

 

I hope this is the correct thread, if not please move it :D

 

I have a technical question I would like your advice on if possible @Alloc or anyone else :)

I have successfully configured a hook script that calls a PHP page on playerconnect, it sends an IP address to the page and has the continent code returned. It then takes an action based on that return value. The continent code is assigned a variable in the bash script:

The CONT variable is then used with an IF/THEN clause and referenced using "$CONT" in the bash script.

 

My question is, how do I issue a telnet command (sourcing common.sh) and store the response in a variable to then be used in another telnet command? I have tried:

 

DATA="`telnetCommand $1 "gt"`"

DATA=`telnetCommand $1 "gt"`

DATA="telnetCommand $1 "gt""

DATA=telnetCommand $1 "gt"

 

The command I would then issue (for example):

 

telnetCommand $1 "sayplayer $4 \"data: "$DATA" \""

 

None of the above permutations work, do you have any advice you can offer?

Thanks,

Zig.

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

Did you check that DATA actually contains what you expect (just echo DATA for example)? Also, I don't think you want the inner quotes around $DATA in your command, i.e.

telnetCommand $1 "sayplayer $4 \"data: $DATA\""

Link to comment
Share on other sites

hello @Alloc are fixes update coming anytime soon?

 

=) we are missing our rlp function

Wrong thread ;)

Besides that fixing rlp isn't really the highest priority atm as you might guess when looking at things like people unable to even play the game currently ;)

Might be looking into it soon (maybe even later today) but no promises on that part.

Link to comment
Share on other sites

Wrong thread ;)

 

The 2 Threads are confusing :D

 

Just a side question (not important): there is an issue with permanent hostiles on map even if no player is online, do you know about this ? Just saw this again yesterday(today/currently) on my servers map. I noticed this in A11 too but never mentioned this here.

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