---------- Post added at 23:40 ---------- Previous post was at 23:37 ----------
Hi at all,
here is my workaround for Debian (squeez 64bit)...
1. get the last available lib32stdc++6 deb package from sid
# wget http://ftp.de.debian.org/debian/pool....1-6_amd64.deb
2. extract the data tar ball
# ar -vx lib32stdc++6_4.7.1-6_amd64.deb
# tar -xzvf data.tar.gz
3. copy the lib32 dir to your game-dir
4. use this modified start/stop-script arma2oaserver (fixes the watchdog too) :
Code:
#!/bin/bash
#
# armaserver: ArmA 2 Linux Dedicated Server Control Script
# (c) 2010 BIStudio
# ArmA 2 binary version must be 1.04 or later
#
# mod by: Psycho Dad , Date: 2012/08/05
#=======================================================================
#======== CONFIGURATION PARAMETERS ========
#======== MUST BE EDITED MANUALLY TO FIT YOUR SYSTEM PARAMETERS ========
#=======================================================================
ARMA_DIR=$HOME/arma2arrowhead
CONFIG=server.cfg
PORT=2302
PIDFILE=${ARMA_DIR}/${PORT}.pid
RUNFILE=${ARMA_DIR}/${PORT}.run
LOGFILE=${ARMA_DIR}/${PORT}.log
SERVER=${ARMA_DIR}/server
OTHERPARAMS=-cpucount=4
#=======================================================================
ulimit -c 1000000
# setup the libraries, local dir first! (add!)
export LD_LIBRARY_PATH=".:${ARMA_DIR}/lib32:/usr/lib32:${LD_LIBRARY_PATH}"
case "$1" in
start)
if [ -f ${RUNFILE} ]; then
$0 stop
fi
echo "Starting ArmA 2 server..."
# remove core dumps (add!)
find ${ARMA_DIR} -name core -type f -print | xargs -r rm -f
# file to mark we want server running...
echo "go" >${RUNFILE}
# launch the background watchdog process to run the server (mod!)
nohup </dev/null >/dev/null 2>&1 $0 watchdog-port-${PORT} &
;;
stop)
echo "Stopping ArmA 2 server..."
if [ -f ${RUNFILE} ]; then
# ask watcher process to exit by deleting its runfile...
rm -f ${RUNFILE}
fi
# and terminate ArmA 2 server process
if [ -f ${PIDFILE} ]; then
kill -TERM $(< ${PIDFILE})
if [ -f ${PIDFILE} ]; then
rm -f ${PIDFILE}
fi
sleep 1s
fi
# kill watchdog (add!)
pgrep -U ${UID} -fl watchdog-port-${PORT} | awk '{print $1}' | xargs -r kill -TERM >/dev/null 2>&1
;;
status)
if [ -f ${RUNFILE} ]; then
echo "Server should be running..."
else
echo "Server should not be running..."
fi
if [ -f ${PIDFILE} ]; then
PID=$(< ${PIDFILE})
echo "PID file exists (PID=${PID})..."
if [ -f /proc/${PID}/cmdline ]; then
echo "Server process seems to be running..."
fi
fi
;;
check)
echo -n "ArmA 2 directory: ${ARMA_DIR} "
if [ -d ${ARMA_DIR} ]; then
echo "OK"
else
echo "MISSING!"
fi
echo -n "Server executable: ${SERVER} "
if [ -x ${SERVER} ]; then
echo "OK"
else
echo "ERROR!"
fi
echo "Port number: ${PORT}"
echo -n "Config file: ${CONFIG} "
if [ -f ${CONFIG} ]; then
echo "OK"
else
echo "MISSING!"
fi
echo "PID file: ${PIDFILE}"
echo "RUN file: ${RUNFILE}"
;;
restart)
echo "Restarting ArmA 2 server..."
$0 stop >/dev/null
$0 start >/dev/null
;;
watchdog-port-${PORT})
# this is a background watchdog process. Do not start directly
while [ -f ${RUNFILE} ]; do
# launch the server...
cd ${ARMA_DIR}
echo >>${LOGFILE} "WATCHDOG ($$): [$(date)] Starting server (port ${PORT})..."
${SERVER} >>${LOGFILE} 2>&1 -server -config=${CONFIG} -port=${PORT} -pid=${PIDFILE} ${OTHERPARAMS}
if [ -f ${RUNFILE} ]; then
echo >>${LOGFILE} "WATCHDOG ($$): [$(date)] Server died, waiting to restart..."
sleep 10s
else
echo >>${LOGFILE} "WATCHDOG ($$): [$(date)] Server shutdown intentional, watchdog terminating"
fi
done
;;
*)
echo "$0 (start|stop|restart|status|check)"
;;
esac
I really think you need to target that comment more at the REHL distros and not at the admins that use them.
I am thinking of moving to Debian Wheezy now... but I hate to do it knowing CentOS will update in ~6-8 mos.
I really like CentOS and it has proven itself over and over and over again ... hate to give it up.
It is what it is I guess.
I'd be cautious with Wheezy, while it's EOL hasn't been announced yet (according to what I can find), traditionally they have only provided security updates for 3 years, which would place the EOL sometime in the summer of 2015. To give you an idea, CentOS 5.x is scheduled for support until 2017, and has been out for ~5 years now, Wheezy was just frozen in the last 45 days or so. Ubuntu server maybe a better choice with a 5 year support commitment, and 12.x having just been released.
I am having problems getting squad.xml working on this version. I have successfully tested my squad.xml set up locally and on a Windows dedicated server. I am able to join the Linux dedicated server, but none of the squad.xml data gets loaded up. I have looked at my ftp log and I don't see the server access the files. Looking at the server and client logs, I don't see any errors. Watching the tmp directories the server creates, I don't see any files being created.
My system:
Ubuntu 12.04 Server 64-bit
gcc 4.6.3
libc6 2.15
glibc-2.13-1
ia32-libs 20090808ubuntu35
3.2.0-27-generic
Spoiler:
WATCHDOG (2437): [Mon Aug 6 18:40:10 CDT 2012] Starting server (port 2302)...
18:40:22 Dedicated host created.
18:40:23 BattlEye Server: Initialized (v1.151)
18:40:23 Host identity created.
18:41:08 NAT Negotiation completed
ArmA 2 OA Console version 1.62 : port 2302
18:41:10 moza_russia uses modified data file
18:41:10 Player moza_russia connecting.
18:41:11 Mission co30 Domination OA! West [2.61] read from bank.
18:41:12 Player moza_russia connected (id=9012358).
18:41:12 BattlEye Server: Player #0 moza_russia (10.0.0.49:2304) connected
18:41:12 BattlEye Server: Player #0 moza_russia - GUID: 3f0116612d0b32da12b7bd17fd1c0699 (unverified)
18:41:12 BattlEye Server: Verified GUID (3f0116612d0b32da12b7bd17fd1c0699) of player #0 moza_russia
18:41:19 BattlEye Server: IMPORTANT: BattlEye's script detection feature has been improved! See here for more information:
18:42:41 Roles assigned.
18:42:41 Reading mission ...
18:42:47 Warning: looped for animation: ca\anims\characters\data\anim\sdr\mov\erc\wlk\non\ non\amovpercmwlksnonwnondf.rtm differs (looped now 0)! MoveName: amovpercmstpsnonwnondnon_amovpercmstpsraswpstdnon
18:42:48 Warning: looped for animation: ca\anims\characters\data\anim\sdr\mov\erc\wlk\non\ non\amovpercmwlksnonwnondf.rtm differs (looped now 1)! MoveName: amovpercmrunsnonwbindf_rfl
18:42:51 "############################# co30_domination_2_61_west_oa #############################"
18:42:51 [11153,161.26,0,"Executing Dom init.sqf"]
18:42:51 [11153,161.261,0,"Dom init.sqf processed"]
18:42:51 Mission read.
18:42:51 [11153,161.302,0,"Executing Dom d_init.sqf"]
18:42:52 [11153,161.668,0,"Dom d_init.sqf processed"]
Ummm ftp? do you mean http? Also I had a similar problem before and it was related to a routing/firewall issue. Can you tcpdump the linux network interface and see if it's making a call to your squad.xml file?
I'd be cautious with Wheezy, while it's EOL hasn't been announced yet (according to what I can find), traditionally they have only provided security updates for 3 years, which would place the EOL sometime in the summer of 2015. To give you an idea, CentOS 5.x is scheduled for support until 2017, and has been out for ~5 years now, Wheezy was just frozen in the last 45 days or so. Ubuntu server maybe a better choice with a 5 year support commitment, and 12.x having just been released.
So given the choice what OS would you load up or would you just wait for CentOS 7? Ubuntu seems like a crap choice IMO, when I hear Ubuntu I think desktop linux. Keeping the thread on topic, what is the "future proof" linux distro we should be loading up? Perhaps Dwarden can answer this? I would hate to change over to another OS that we would then need to change again to run ArmA 3 on.
And to keep this on topic: While alpha works without any mods fine, after loading a handful, clients wait forever to connect, and after disconnecting the log gets:
/home/arma/arma/chroot/var/log.2302.txt:NetServer::finishDestroyPlayer(807887 649): DESTROY immediately after CREATE, both cancelled
Guess for a while I'll be running the Win32 version (WINE 1.5.10) in a VNC X11 session. This one doesn't have any problems, other than lower-than-optimal performance.
I have a fully-working chroot that works on any Linux system with a fairly recent (2-3 years? I think the requirement was a 2.6.18 kernel) kernel, able to run x86 binaries. So stop spreading FUD about how hard it is to create one. As for the term, I suggest you consult a dictionary. As for your insults, I lost any incentive to help you with your imagined problems. I'll only correct your "facts" from now on.
I got the alpha working on CentOS 6.3 by downloading the gcc 4.7.1 source, compiling and installing, then made a file in /etc/ld.so.conf.d/ pointing to the 4.7.1 libs(in my case /usr/local/lib/).
In order to compile gcc I had to install libmpc-devel and mpfr-devel packages.
By default gcc 4.7.1 installed to /usr/local, which let me keep the current CentOS gcc(4.4.6) in /usr
Although it runs, this alpha crashed within a few minutes and was very very laggy.
Here is a short guide.
Code:
Install prerequisites:(you will need the epel repository to install libmpc, if you dont have it you can install it by running "yum install epel-release")
yum -y install libmpc-devel mpfr-devel
Download GCC:
cd /usr/local/src
wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.7.1/gcc-4.7.1.tar.bz2
Unpack:
tar xjf gcc-4.7.1.tar.bz2
Compile:
cd /usr/local/src/gcc-4.7.1
./configure
(if you encounter any errors deal with them accordingly by installing missing packages etc)
./make -j5(if you have a cpu with 4 cores)
./make install
echo /usr/local/lib/ > /etc/ld.so.conf.d/libs.conf