-
Re: Linux Dedicated Server for 5.0 Guide
Quote:
Originally Posted by
GiGaBiTe
Secure connection to where.
Sven Coop 4.8 and all prior versions don't need OpenSSL, neither does any other HL engine game so I have a right to be concerned why SC5 all of the sudden needs it.
NSA backdoor. World President Barrack Obama wrote Adam personally a very concerned letter about how they can't see any of our connections and urged us to get openSSL since they have so very many backdoors in that piece of software. Adam, scared of the consequences, obviously urged the team into complying.
Quote:
Originally Posted by
GiGaBiTe
4.7 and 4.8 must have had statically linked server binaries then because I didn't have OpenSSL installed on my server before 5.0.
If former versions were statically linked, I'm not sure why 5.0 wasn't as well because it's causing everyone grief.
Security reasons. A dynamically linked library is the responsibility of the server admin to keep updated.
-
Re: Linux Dedicated Server for 5.0 Guide
So anyone got an update on this? Currently I'm running my server through Wine on Linux.. Not the best way and especially not with the lag it sometimes causes due to not being able to multithread properly.
EDIT:
To clarify I meant the performance/crashing issues.
-
Re: Linux Dedicated Server for 5.0 Guide
@Metal
libcurl3:i386 is needed too. I had a crash complaining it's missing. Maybe it was because metamod/amxmodx stuff, but it does not hurt to include it in the dependencies to install in your op post.
-
Re: Linux Dedicated Server for 5.0 Guide
On SOME Debian installations (64 bit) the i386 architecture is DISABLED (this usually happens with netinst).
YOU NEED THIS!
So, if you're STILL getting a libssl1.0.0 error, AND you have errors via the command previously stated, do this first!
Code:
sudo dpkg --add-architecture i386
sudo apt-get update
THEN run the command
Code:
sudo apt-get install libssl1.0.0:i386
-
Re: Linux Dedicated Server for 5.0 Guide
Quote:
Originally Posted by
FlyingMongoose
On
SOME Debian installations (64 bit) the i386 architecture is DISABLED (this usually happens with netinst).
YOU NEED THIS!
So, if you're STILL getting a libssl1.0.0 error, AND you have errors via the command previously stated, do this first!
Code:
sudo dpkg --add-architecture i386
sudo apt-get update
THEN run the command
Code:
sudo apt-get install libssl1.0.0:i386
This is what needs to go on the front page of this post!
I had added the new arch but forgotten to refresh apt, as soon as I did an apt update the package installed and svends launched correctly!
Many thanks
PS: I am running on Debian 8 64
-
Re: Linux Dedicated Server for 5.0 Guide
Now I am getting Segmentation Fault as soon as a client connects, I tried installing the package suggested on the previous page, but it complains about other packages.
-
Re: Linux Dedicated Server for 5.0 Guide
Quote:
Originally Posted by
nickds
Now I am getting Segmentation Fault as soon as a client connects, I tried installing the package suggested on the previous page, but it complains about other packages.
Probably similarly related to my crashing in this thread: http://forums.svencoop.com/showthrea...andom-crashing
-
Re: Linux Dedicated Server for 5.0 Guide
Quote:
Originally Posted by
nickds
Now I am getting Segmentation Fault as soon as a client connects, I tried installing the package suggested on the previous page, but it complains about other packages.
Same here. I have everything set up with a VPS running Ubuntu 14.04 x86. If it will help, here's a dump...
-
Re: Linux Dedicated Server for 5.0 Guide
Based on the errors i've seen, it looks like the Linux servers are crashing because it can't load a library. The server tries to access it, but since no function addresses have been loaded, it calls a null pointer. Since it happens when clients connect, it's related to the donor lookup code. It might be failing to load the SSL library.
-
Re: Linux Dedicated Server for 5.0 Guide
Did not the team try to set up a server on a freshly installed os before releasing it to public?
Everyone is getting errors. Most common is Segmentation Fault.
-
Re: Linux Dedicated Server for 5.0 Guide
We tested the game on both Windows and Linux servers for several months. Some of our beta testers even ran servers. We didn't encounter these crashes. We simply couldn't test large player counts.
-
Re: Linux Dedicated Server for 5.0 Guide
Quote:
Originally Posted by
Solokiller
We tested the game on both Windows and Linux servers for several months. Some of our beta testers even ran servers. We didn't encounter these crashes. We simply couldn't test large player counts.
All my servers are set to 8 slots and it crashes 20 or more times daily.
$ cat debug.log | grep Jan\ 27
CRASH: Wed Jan 27 00:05:59 UTC 2016
CRASH: Wed Jan 27 00:14:11 UTC 2016
CRASH: Wed Jan 27 00:21:42 UTC 2016
CRASH: Wed Jan 27 00:46:43 UTC 2016
CRASH: Wed Jan 27 02:22:39 UTC 2016
CRASH: Wed Jan 27 03:51:22 UTC 2016
CRASH: Wed Jan 27 04:36:37 UTC 2016
CRASH: Wed Jan 27 04:39:47 UTC 2016
CRASH: Wed Jan 27 05:18:27 UTC 2016
CRASH: Wed Jan 27 05:39:28 UTC 2016
CRASH: Wed Jan 27 07:03:24 UTC 2016
CRASH: Wed Jan 27 07:30:31 UTC 2016
CRASH: Wed Jan 27 07:53:07 UTC 2016
CRASH: Wed Jan 27 10:05:08 UTC 2016
CRASH: Wed Jan 27 12:14:52 UTC 2016
CRASH: Wed Jan 27 12:46:08 UTC 2016
CRASH: Wed Jan 27 14:50:12 UTC 2016
CRASH: Wed Jan 27 14:51:34 UTC 2016
CRASH: Wed Jan 27 16:34:19 UTC 2016
CRASH: Wed Jan 27 17:23:17 UTC 2016
CRASH: Wed Jan 27 17:36:27 UTC 2016
CRASH: Wed Jan 27 17:58:19 UTC 2016
CRASH: Wed Jan 27 18:01:41 UTC 2016
CRASH: Wed Jan 27 18:23:15 UTC 2016
CRASH: Wed Jan 27 18:57:20 UTC 2016
CRASH: Wed Jan 27 19:06:03 UTC 2016
CRASH: Wed Jan 27 19:54:14 UTC 2016
CRASH: Wed Jan 27 20:03:08 UTC 2016
CRASH: Wed Jan 27 20:24:54 UTC 2016
CRASH: Wed Jan 27 20:32:43 UTC 2016
CRASH: Wed Jan 27 22:01:10 UTC 2016
$ cat debug.log | grep Jan\ 27 | wc -l
31
$ cat debug.log | grep Jan\ 28
CRASH: Thu Jan 28 00:10:43 UTC 2016
CRASH: Thu Jan 28 00:25:28 UTC 2016
CRASH: Thu Jan 28 00:29:48 UTC 2016
CRASH: Thu Jan 28 00:56:44 UTC 2016
CRASH: Thu Jan 28 01:15:01 UTC 2016
CRASH: Thu Jan 28 01:20:10 UTC 2016
CRASH: Thu Jan 28 02:44:49 UTC 2016
CRASH: Thu Jan 28 02:50:45 UTC 2016
CRASH: Thu Jan 28 03:54:02 UTC 2016
CRASH: Thu Jan 28 04:24:50 UTC 2016
CRASH: Thu Jan 28 06:26:28 UTC 2016
CRASH: Thu Jan 28 08:46:22 UTC 2016
CRASH: Thu Jan 28 10:39:58 UTC 2016
CRASH: Thu Jan 28 16:10:16 UTC 2016
CRASH: Thu Jan 28 17:31:52 UTC 2016
CRASH: Thu Jan 28 18:03:58 UTC 2016
CRASH: Thu Jan 28 18:27:41 UTC 2016
CRASH: Thu Jan 28 19:05:20 UTC 2016
CRASH: Thu Jan 28 19:34:06 UTC 2016
CRASH: Thu Jan 28 19:43:01 UTC 2016
CRASH: Thu Jan 28 20:43:16 UTC 2016
CRASH: Thu Jan 28 20:44:54 UTC 2016
CRASH: Thu Jan 28 20:55:26 UTC 2016
CRASH: Thu Jan 28 21:20:15 UTC 2016
CRASH: Thu Jan 28 21:49:43 UTC 2016
CRASH: Thu Jan 28 22:23:42 UTC 2016
CRASH: Thu Jan 28 22:33:07 UTC 2016
CRASH: Thu Jan 28 23:07:12 UTC 2016
$ cat debug.log | grep Jan\ 28 | wc -l
28
$ cat debug.log | grep Jan\ 29
CRASH: Fri Jan 29 03:36:45 UTC 2016
CRASH: Fri Jan 29 03:51:27 UTC 2016
CRASH: Fri Jan 29 04:49:37 UTC 2016
CRASH: Fri Jan 29 05:21:47 UTC 2016
CRASH: Fri Jan 29 08:15:06 UTC 2016
CRASH: Fri Jan 29 08:38:03 UTC 2016
CRASH: Fri Jan 29 11:19:02 UTC 2016
CRASH: Fri Jan 29 12:00:47 UTC 2016
CRASH: Fri Jan 29 12:33:13 UTC 2016
CRASH: Fri Jan 29 14:49:19 UTC 2016
CRASH: Fri Jan 29 17:03:49 UTC 2016
CRASH: Fri Jan 29 17:57:26 UTC 2016
CRASH: Fri Jan 29 18:28:25 UTC 2016
CRASH: Fri Jan 29 19:05:03 UTC 2016
CRASH: Fri Jan 29 19:38:34 UTC 2016
$ cat debug.log | grep Jan\ 29 | wc -l
15
That was just one of the 4.
Here are some of the segfault messages:
[50665.706278] svends_i686[10438]: segfault at 0 ip b624ae2b sp bfde73a4 error 6 in engine_i686.so[b61fb000+100000]
[66520.411008] svends_i686[12738]: segfault at 0 ip b62f4e2b sp bfc76a14 error 6 in engine_i686.so[b62a5000+100000]
[83349.131715] svends_i686[14129]: segfault at 0 ip b62d7e2b sp bfacc8f4 error 6 in engine_i686.so[b6288000+100000]
[157666.110583] svends_i686[19335]: segfault at 0 ip b6266e2b sp bf7efcf4 error 6 in engine_i686.so[b6217000+100000]
[178691.636040] svends_i686[23073]: segfault at 0 ip b627ce2b sp bfaca5e4 error 6 in engine_i686.so[b622d000+100000]
[194631.262797] svends_i686[24714]: segfault at 0 ip b6264e2b sp bfd882c4 error 6 in engine_i686.so[b6215000+100000]
[202415.692576] svends_i686[25078]: segfault at 0 ip b6335e2b sp bfc3c464 error 6 in engine_i686.so[b62e6000+100000]
[217982.704283] svends_i686[26507]: segfault at 0 ip b632be2b sp bfb04794 error 6 in engine_i686.so[b62dc000+100000]
[220920.989626] svends_i686[27157]: segfault at 0 ip b6257e2b sp bfdcb884 error 6 in engine_i686.so[b6208000+100000]
[226563.745463] svends_i686[29000]: segfault at 0 ip b633fe2b sp bf9a7c34 error 6 in engine_i686.so[b62f0000+100000]
[231816.534336] svends_i686[30462]: segfault at 0 ip b62d9e2b sp bf9a8e84 error 6 in engine_i686.so[b628a000+100000]
[245367.022348] svends_i686[31523]: segfault at 0 ip b6287e2b sp bfa14864 error 6 in engine_i686.so[b6238000+100000]
[246250.947830] svends_i686[31897]: segfault at 0 ip b62d2e2b sp bfc27884 error 6 in engine_i686.so[b6283000+100000]
[254611.956422] svends_i686[1215]: segfault at 0 ip b6249e2b sp bfaf1b74 error 6 in engine_i686.so[b61fa000+100000]
[309761.371116] svends_i686[5158]: segfault at 0 ip b628ae2b sp bf958154 error 6 in engine_i686.so[b623b000+100000]
[313443.192629] svends_i686[5878]: segfault at 0 ip b6271e2b sp bfce3b74 error 6 in engine_i686.so[b6222000+100000]
[319319.625717] svends_i686[6933]: segfault at 0 ip b630ce2b sp bfccd0d4 error 6 in engine_i686.so[b62bd000+100000]
[323306.493043] svends_i686[8342]: segfault at 0 ip b62c2e2b sp bffa95f4 error 6 in engine_i686.so[b6273000+100000]
[325910.764820] svends_i686[9066]: segfault at 0 ip b62d0e2b sp bfe133a4 error 6 in engine_i686.so[b6281000+100000]
[344128.159019] svends_i686[9767]: segfault at 0 ip b627fe2b sp bf9d0794 error 6 in engine_i686.so[b6230000+100000]
[348500.432250] svends_i686[10781]: segfault at 0 ip b62f7e2b sp bf84f8e4 error 6 in engine_i686.so[b62a8000+100000]
[360829.865150] svends_i686[11491]: segfault at 0 ip b624fe2b sp bf83e704 error 6 in engine_i686.so[b6200000+100000]
[395769.433810] svends_i686[14613]: segfault at 0 ip b628de2b sp bf965cf4 error 6 in engine_i686.so[b623e000+100000]
[399826.540961] svends_i686[15329]: segfault at 0 ip b6340e2b sp bf97f714 error 6 in engine_i686.so[b62f1000+100000]
-
Re: Linux Dedicated Server for 5.0 Guide
Did any of these crashes produce core dumps?
-
Re: Linux Dedicated Server for 5.0 Guide
Quote:
Originally Posted by
Solokiller
Did any of these crashes produce core dumps?
Negative. The /tmp/dumps directory on each server is empty :(
ubuntu@sven3:/tmp/dumps$ find .
.
ubuntu@sven3:/tmp/dumps$ ls -lah
total 8.0K
drwxrwxrwx 2 ubuntu ubuntu 4.0K Jan 27 19:42 .
drwxrwxrwt 3 root root 4.0K Jan 29 20:17 ..
ubuntu@sven3:/tmp/dumps$
-
Re: Linux Dedicated Server for 5.0 Guide
Those errors appear to be happening in the same general location in memory. This could be a single bug in the engine causing crashes.
-
Re: Linux Dedicated Server for 5.0 Guide
Quote:
Originally Posted by
Dynamite
NSA backdoor. World President Barrack Obama wrote Adam personally a very concerned letter about how they can't see any of our connections and urged us to get openSSL since they have so very many backdoors in that piece of software. Adam, scared of the consequences, obviously urged the team into complying.
Security reasons. A dynamically linked library is the responsibility of the server admin to keep updated.
Says the idiot with absolutely no experience in server and network security.
Stay classy.
Quote:
Originally Posted by
Solokiller
Based on the errors i've seen, it looks like the Linux servers are crashing because it can't load a library. The server tries to access it, but since no function addresses have been loaded, it calls a null pointer. Since it happens when clients connect, it's related to the donor lookup code. It might be failing to load the SSL library.
I have no idea why the sven devs insist on using SSL to communicate donor perks, it's dumb; Especially when it's causing game breaking issues like server crashes. Natural-Selection had a system for assigning scoreboard icons for constellation, guides, devs and pro players which used regular HTTP communication just fine.
Are you worried someone is going to man in the middle donator benefits or something? Because it's easy enough to use IDA on the server binary and give anyone you want benefits.
-
1 Attachment(s)
Re: Linux Dedicated Server for 5.0 Guide
Quote:
Originally Posted by
f0rkz
Negative. The /tmp/dumps directory on each server is empty :(
ubuntu@sven3:/tmp/dumps$ find .
.
ubuntu@sven3:/tmp/dumps$ ls -lah
total 8.0K
drwxrwxrwx 2 ubuntu ubuntu 4.0K Jan 27 19:42 .
drwxrwxrwt 3 root root 4.0K Jan 29 20:17 ..
ubuntu@sven3:/tmp/dumps$
Crash dumps are at SvenDS folder.
Attachment 16754
This one is from "std::bad_alloc" crash. And adding -heapsize 512M won't let my server produce any crash dumps.
-
Re: Linux Dedicated Server for 5.0 Guide
Quote:
Originally Posted by
GiGaBiTe
Says the idiot with absolutely no experience in server and network security.
I don't care how dissatisfied you are with Dynamite's answer, here on the forums we don't throw insults at other people. Straighten up or get out.
-
Re: Linux Dedicated Server for 5.0 Guide
-
Re: Linux Dedicated Server for 5.0 Guide
Quote:
Originally Posted by
Nih
I don't care how dissatisfied you are with Dynamite's answer, here on the forums we don't throw insults at other people. Straighten up or get out.
Then hold Dynamite to the same standard as everyone else on this forum.
-
Re: Linux Dedicated Server for 5.0 Guide
Protip for fastdl (no need for complicated apache config):
Code:
# mkdir /path/to/your/webroot/svendl
# mount --bind /path/to/svencoop_adddon /path/to/your/webroot/svendl
In server.cfg:
Code:
sv_downloadurl "http://your/webroot/svendl"
To make the mount permanent:
Code:
# echo "/path/to/svencoop_adddon /path/to/your/webroot/svendl none bind 0 0" >> /etc/fstab
Fastdl pitfalls on Linux:
Make sure the case in the mapfilenames and maps/*.res files match the actual files on disk, otherwise the file is not served as Linux uses case sensitive filesystems. A resource specified as "sound/example/Hello.ogg" can't be downloaded if the actual file on disk is named "sound/example/hello.ogg". This can be a bit of a pain to correct as some maps released are a wild mix of upper and lowercase letters and often the bundled .res files don't match the actual files. This needs to be corrected manually. In the best case everything is lowercase and does not use special chars (besides - or _) or spaces in filenames. Files with spaces in their names or folders won't get served either.
Protip for soundcache fastdl:
Code:
$ mkdir /path/to/svencoop_adddon/maps/soundcache
# mount --bind /path/to/svencoop/maps/soundcache /path/to/svencoop_adddon/maps/soundcache
To make the mount permanent:
Code:
# echo "/path/to/svencoop/maps/soundcache /path/to/svencoop_adddon/maps/soundcache none bind 0 0" >> /etc/fstab
Protip for generating .res files:
Use resguy
Protip to fix permissions and remove empty files (empty files cause a never ending "validating/precaching resources" on connect):
Code:
$ find /path/to/svencoop_adddon -type d -exec chmod 755 {} +
$ find /path/to/svencoop_adddon -type f -exec chmod 644 {} +
$ find /path/to/svencoop_adddon -type f -size 0 -exec rm '{}' \;
-
Re: Linux Dedicated Server for 5.0 Guide
Quote:
Originally Posted by
nico
Protip for fastdl (no need for complicated apache config):
Code:
# mkdir /path/to/your/webroot/svendl
# mount --bind /path/to/svencoop_adddon /path/to/your/webroot/svendl
How about using symbolic link?
Code:
# ln -s /path/to/svencoop_adddon /path/to/your/webroot/svendl
-
Re: Linux Dedicated Server for 5.0 Guide
Quote:
Originally Posted by
Shiaobin
How about using symbolic link?
Code:
# ln -s /path/to/svencoop_adddon /path/to/your/webroot/svendl
If your webserver is not misconfigured, it should per default deny any access to that directory. You have to configure apache to 1. FollowSymlinks and 2. to allow access to /path/to/svencoop_adddon. This means you have to touch the config, if you touch the config you can just serve /path/to/svencoop_adddon or use an alias plus the allow statement. With the bind mount you don't need to touch your webserver config, it is more logical and does not involve complications like symlinked stuff outside of the document root (ugh).
Why complicated when it can be simple? :)
-
Re: Linux Dedicated Server for 5.0 Guide
Quote:
Originally Posted by
FlyingMongoose
On
SOME Debian installations (64 bit) the i386 architecture is DISABLED (this usually happens with netinst).
YOU NEED THIS!
So, if you're STILL getting a libssl1.0.0 error, AND you have errors via the command previously stated, do this first!
Code:
sudo dpkg --add-architecture i386
sudo apt-get update
THEN run the command
Code:
sudo apt-get install libssl1.0.0:i386
MY GOD TY MAN ! 4 DAYS OF SEARCHING ! <3
-
Re: Linux Dedicated Server for 5.0 Guide
After a long search for a solution the problem of the map names, I found my way how to solve this. You need to add in the main configuration file (/etc/apache2/apache2.conf - Ubuntu 14.04) this:
Code:
CheckCaseOnly on
CheckSpelling on
But first make sure you enabled 'mod_spelling' module:
Code:
a2enmod speling
service apache2 restart
It makes force redirect from uppercase URL's to real filename (http://balls.com/GearsOfWar.wad --> http://balls.com/gearsofwar.wad) so all files with uppercase will be downloaded through fastdl http as well. However files with specific symbols still will be unable to download and you will see some black-pink textures and error models.
p.s. you can enable this function not only using main config but .htaccess file and virtualhost config file as well.