Since many people are reporting "segmentation faults" or crashes on a Linux HLDS installation with AMX Mod X, I would like to post a quick note on how we can help you resolve this. This post will be mirrored in the support forum.
For anyone using Windows, you may now leave the room.
As of AMX Mod X 0.16, there are two big problems that can cause these crashes:
One: Shield is not restricted (has to do with CSStats)
Two: CSStats is running
If these two options do not resolve your problem, it's time to get hardcore and run the GNU Debugger.
Situation 1: If you own and have root on the linux server - make sure you have GDB Installed.
Situation 2: If you rent a server and have shell access - check to see if "gdb" is a valid command. If not, try asking your provider to install it so you can see where crashes are happening.
Situation 3: You have a linux server, but no shell acces. Sorry, you're screwed. Try asking your provider for shell access so you can help the AMXx team.
For situations one and two - you have two options. One, you can give us access to the shell and let us do the debugging (assuming you feel you can trust us). If you would like to give the AMXx team permission to use debug binaries and GDB on your server, temporarily, PM me (BAILOPAN) (I don't know how many of the AMXx devs can use GDB).
For people who would like to try debugging it themselves - we don't distribute debug binaries YET (we may as of 0.20) so you must build them yourself. Follow these instructions:
1. Log into your server with PuTTy.
2. Download the AMX Mod X source code with these commands:
Code:
mkdir amxx
cd amxx
wget http://easynews.dl.sourceforge.net/sourceforge/amxmodx/amxmodx-0.16-source.tar.gz
tar zxvf amxmodx-0.16-source.tar.gz
wget http://www.tcwonline.org/cgi-bin/viewcvs.cgi/metamodx/metamodx.tar.gz?tarball=1
tar zxvf metamodx.tar.gz?tarball=1
3. Replace the AMXx core and modules Makefiles' CCOPT lines with this simple line:
CCOPT = -g
4. Do these lines. The binaries will build and will be in the "obj.linux/" folders inside the main folders. You may need to replace the "gcc=gcc-2.95" option in the Makefiles to "gcc=gcc".
Code:
cd amxmodx
make
cd ../fun
make
cd ../engine
make
cd ../cstrike
make
cd ../csstats
make
cd ../metamod
make
5. Copy the binaries into your HLDS installation.
6. Open the "hlds_run" script in hlds_l and copy down the export library line. Type that line directly as a shell command.
7. Type "gdb hlds_486" at the shell to load the debugger.
8. To start HLDS in the debug environment, type:
run +maxplayers 16 +map de_dust -game cstrike -port 27015 -debug
9. Do not exit the shell window.
10. Once HLDS crashes, the GNU Debugger will pop back up in the shell window. Type:
backtrace
11. Give us the backtrace output.
(Backtrace can also be typed as "bt" or "where").
These are general directions as no two linux installations are the same. If you experience a roadblock, feel free to post it here (idiotic/trollish things will be removed - these directions are for intermediate to experienced users).
__________________