Jump to content
Sign in to follow this  
vladthemad

Segmentation Fault error.

Recommended Posts

Greetings all,

I've searched the forums, but can't find a post that explains this issue. I have found many posts about it, but they get one or two replies with no solution that I could find.

I ran

Anyway, I'm trying to run ArmA2 and ArmA2OA on a dedicated CentOS server I have. I have moved all the files from my steam directory to my linux machine using WinSCP. I put them into an arma2 and arma2arrowhead directory respectively. I downloaded the most recent official versions listed on the wiki for the linux server and extracted them. It seems to install fine, saying roughly 200 files converted for both. I ran the tolower too. When I try to run the ArmA2 server, I get:

Dedicated host created.

BattlEye Server: Initialized (1.116)

Host identity created.

Segmentation fault

With the ArmA2OA server, I get a huge list of missing files, ending with:

Warning: preNLOD format in object

Very old object loaded.

Warning Message: Bad file format (c4).

Segmentation fault.

Any help would be greatly appreciated!

Share this post


Link to post
Share on other sites

First of all which server you installed and in which directory?

Are you trying to run OA server from A2 directory? Or you server executable is not in either of those two?

Which linux version? 32 or 64 bit? In case of 64bit you need ia32-libs installed.

If you want combined ops place content from both Arma2 and OA to one directory, and make sure all files are lower case. Including missions.

http://www.apollon-domain.co.uk/?p=221

Edited by _MaSSive

Share this post


Link to post
Share on other sites
First of all which server you installed and in which directory?

Are you trying to run OA server from A2 directory? Or you server executable is not in either of those two?

Which linux version? 32 or 64 bit? In case of 64bit you need ia32-libs installed.

If you want combined ops place content from both Arma2 and OA to one directory, and make sure all files are lower case. Including missions.

http://www.apollon-domain.co.uk/?p=221

Do you mean which version of the server software? For A2 its v1.10.80666, and for A2OA its v1.60.87589. I moved a copy of the A2 contents from steam into a folder called /home/games/arma2/ on my server. I also moved a copy of the A2OA contents from steam into a folder called /home/games/arma2arrowhead/

The linux version is CentOS 32bit.

I used the tolower program, and it said it fixed one file.

The folders should be combined? So they aren't supposed to be in separate directories?

Share this post


Link to post
Share on other sites
Do you mean which version of the server software? For A2 its v1.10.80666, and for A2OA its v1.60.87589. I moved a copy of the A2 contents from steam into a folder called /home/games/arma2/ on my server. I also moved a copy of the A2OA contents from steam into a folder called /home/games/arma2arrowhead/

The linux version is CentOS 32bit.

I used the tolower program, and it said it fixed one file.

The folders should be combined? So they aren't supposed to be in separate directories?

Combined only in case you wish to run CO content. IN case you wish to run A2 and OA only servers this is fine. I suggest you get latest beta OA server http://forums.bistudio.com/showthread.php?135232-ARMA-2-Operation-Arrowhead-Linux-Server-beta-1-60-93400

Do not upload files as root, create other user for that purpose. If you uploaded files as root and trying to execute server as other user it wont work.

Also you need gcc complier so check if its installed. Most probably is why you get this

yum install gcc

Look here > http://forums.bistudio.com/showthread.php?116095-Regarding-Linux-Dedicated-Server-Install-%28Centos%29

Make sure ALL files are uploaded and that you have at least server.cfg created. You need to edit arma2oaserver script and first of all edit path/to/your/server

#=======================================================================
ARMA_DIR=/home/vladthemad/arma2
CONFIG=arma2oa.cfg
PORT=2333
PIDFILE=${ARMA_DIR}/${PORT}.pid
RUNFILE=${ARMA_DIR}/${PORT}.run
LOGFILE=${ARMA_DIR}/log.${PORT}.txt
SERVER=${ARMA_DIR}/server
OTHERPARAMS='-cfg=arma2oa.cfg -cpucount=4 -exThreads=7'
OTHERPARAMS=-mod=@mod1\;@mod2\;@mod3\;@modNN
#=======================================================================

In case you dont run any mods dont include second OTHERPARAMS line and first one here is for quad core server system so adjust to your needs. Server path and config are important.

You may also have security limit set too low. Try:

ulimit -n

And tell us what you get.

Edited by _MaSSive

Share this post


Link to post
Share on other sites

Ok tried all that, with no change. I already had gcc installed previously. I didn't have the directory set up in the config file, that was a mistake you pointed out, but it didn't change anything.

I run most things as root, because I set them up to start/restart on reboot and the server is in my house sitting next to my desktop. Does that make any difference? Hmm hmm hmm...that was for Arrowhead. I'll go check out Vanilla and report back, because I didn't get the 100 some odd missing file errors.

Share this post


Link to post
Share on other sites
I have moved all the files from my steam directory to my linux machine using WinSCP. I put them into an arma2 and arma2arrowhead directory respectively.

Why not copy the whole content from your steam folder (including folders and subs)? No mixup with which files goes where anyway. Guess you have a arma2 folder in there, that's the folder to copy. You can forget/delete all the .exe and .dll files. Also remember to edit all config files, so they reflect correct paths on your server, instead of the default once.

Guess it's no point explaining for you the importance with a dedicated arma2 user... :)

Share this post


Link to post
Share on other sites
Why not copy the whole content from your steam folder (including folders and subs)? No mixup with which files goes where anyway. Guess you have a arma2 folder in there, that's the folder to copy. You can forget/delete all the .exe and .dll files. Also remember to edit all config files, so they reflect correct paths on your server, instead of the default once.

Guess it's no point explaining for you the importance with a dedicated arma2 user... :)

I did copy all the content over. Not sure what you're suggesting? It may be a config file I'm missing or not editing? Any idea which and where?

Share this post


Link to post
Share on other sites
Greetings all,

I've searched the forums, but can't find a post that explains this issue. I have found many posts about it, but they get one or two replies with no solution that I could find.

I ran

Anyway, I'm trying to run ArmA2 and ArmA2OA on a dedicated CentOS server I have. I have moved all the files from my steam directory to my linux machine using WinSCP. I put them into an arma2 and arma2arrowhead directory respectively. I downloaded the most recent official versions listed on the wiki for the linux server and extracted them. It seems to install fine, saying roughly 200 files converted for both. I ran the tolower too. When I try to run the ArmA2 server, I get:

Dedicated host created.

BattlEye Server: Initialized (1.116)

Host identity created.

Segmentation fault

With the ArmA2OA server, I get a huge list of missing files, ending with:

Warning: preNLOD format in object

Very old object loaded.

Warning Message: Bad file format (c4).

Segmentation fault.

Any help would be greatly appreciated!

First off, the readme states do not use root. so create a user account for Arma2 dedicated server administration.

Create your Linux Arma2 directory, copy from windows the contents of the arma2 directory to the linux directory. Then extract the contents of the server tarball to the arma2 directory, and run the install. The install script runs tolower, you shouldn't need to run it again afterwards. Configure the arma2server script, and you'll be ready to go.

For CO, create a directory named 'expansion', inside the arma2 directory. Copy the contents of OA to the expansion directory. Then before you extract the oa tarball, you will need to rename the A2 server to something else, and update the arma2server script, because OA/CO servers' filename is the same, 'server'. Then extract the OA server tarball contents to the Arma2 directory, run install, it should convert, and lowercase the expansion directory. Update the arma2oaserver script, and you'll be ready to rock either Arma2, OA, and CO.

...Syn...

Edited by VisceralSyn
Dang gumbed typos....

Share this post


Link to post
Share on other sites

Alright, I'm still lost. I thought I had it, but if I did I mucked it up again somehow. So I'm going to do a fresh ftp transfer and explain exactly what I'm doing in the hopes you can point out where I'm failing. I'm thinking the issue is in the config file. I run everything from root, the server is physically located at my house, and I won't be running it from another account nor giving anyone else access to the system. I haven't had any issues prior to this game, so if there is a specific issue with using root let me know. The server is only for gaming purposes and a learning experience.

First off, I log in and I execute commands as follows:

[root@vladserver /]# cd /home/games/

[root@vladserver games]# mkdir arma2

[root@vladserver games]# mkdir arma2oa

Then I open WinSCP and access the files at D:\Games\Steam\SteamApps\common\Arma 2\ and move the contents of the folder over to the \home\games\arma2\ directory on the server. After that I go to D:\Games\Steam\SteamApps\common\Arma 2 Operation Arrowhead\ and move the contents of the folder over to \home\games\arma2oa

Closed WinSCP and accessed the terminal again, executing the following commands:

[root@vladserver /]# cd /home/games/arma2/

[root@vladserver arma2]# wget http://kamran.cc/ARMA2/a2-server-1.10.80666.tar.bz2

[root@vladserver arma2]# tar -xjf a2-server-1.10.80666.tar.bz2

[root@vladserver arma2]# cd /home/games/arma2oa

[root@vladserver arma2oa]# wget ftp://downloads.bistudio.com/arma2.com/update/a2oa-server-1.60.93400.tar.bz2

[root@vladserver arma2oa]# tar -xjf a2oa-server-1.60.93400.tar.bz2

Which downloads the two linux servers and extracts them in their respective directories. This much I understand pretty well.

I head back to the arma2 directory and run the install program:

[root@vladserver /]# cd /home/games/arma2/

[root@vladserver arma2]# ./install

ArmA 2 Linux Dedicated Server 1.10

Converting ArmA 2 directory:

156 file-names were converted

ArmA 2 server was installed.

[root@vladserver arma2]#

Then I run vim:

[root@vladserver arma2]#vim arma2server

And modify the file at the ARMA_DIR line:

#=======================================================================

#======== CONFIGURATION PARAMETERS ========

#======== MUST BE EDITED MANUALLY TO FIT YOUR SYSTEM PARAMETERS ========

#=======================================================================

ARMA_DIR=/home/games/arma2

CONFIG=server.cfg

PORT=2302

PIDFILE=${ARMA_DIR}/${PORT}.pid

RUNFILE=${ARMA_DIR}/${PORT}.run

LOGFILE=${ARMA_DIR}/log.${PORT}.txt

SERVER=${ARMA_DIR}/server

#=======================================================================

And save the file with ":wq"

After that, I attempt to run the server just to see if it's working:

[root@vladserver arma2]# ./server

16:14:29 Dedicated host created.

16:14:30 BattlEye Server: Initialized (v1.116)

16:14:30 Host identity created.

Segmentation fault

[root@vladserver arma2]#

I noticed that there are two battleye directories. One is capped, as are the files inside it.

[root@vladserver arma2]# dir

33910_install.vdf arma2server directx player

a2-server-1.10.80666.tar.bz2 battleye dta readme.txt

addons BattlEye install server

arma2.cfg besetup keys tolower

arma2.changelog109 bis.url missions tolower.c

arma2_ogg.cmd checkfilelist.lst mpmissions

[root@vladserver arma2]# cd BattlEye

[root@vladserver BattlEye]# dir

BEClient.dll BEServer.dll UninstallBE.csv UnInstallBE.exe UnInstallBE.log

[root@vladserver BattlEye]#

I figured I'd stop at Arma2 and bring it to you. Once I can get that working I'll go after Arma2OA and then CO.

P.S. I tried to use the

 

comments for this post but it kept failing to post when I did.

Share this post


Link to post
Share on other sites

Once again create user for running game servers dont use root.

You uploaded over WinSCP so I guess you used SSH - SFTP but which account you used for connecting to sshd? Root or some other?

In case its root then all your files belong to root, and is ok since youre executing it as root.

Second thing I noticed is that you used Arma2 server downloaded from some third party location. Use this http://forums.bistudio.com/showthread.php?121437-ArmA-2-Linux-Standalone-Server-1-10-80666 If you are sure that source is valid then be it.

Third, BattlEye directory will not work. First it contains CAPS and second you have dll's in it and that is not linux binary extension. Download latest one for Arma2 from here and place it to your /arma2/battleye/ directory.

You can check manually if any files need conversion to lower caps by running ./tolower

After you do this run ./arma2server check and then if all is repprted OK do ./arma2server start

If you want to stop the server dont kill it but run ./arma2sever stop

If it wont start do chmod u+x arma2server

Share this post


Link to post
Share on other sites

I'll echo what MaSSive said: don't run the A2 game servers as the root user. Create a new, normal user account for that.

Now, regarding your "Segmentation fault" error. Seeing as how you're using CentOS, it is possible that SELinux is the culprit. See my post #4 in this thread: Linux-ArmA-and-Servers-Oh-my.

The short version is: if SELinux is in enforcing mode (and it should be), re-label the Arma server executables to allow them to use BattlEye:

chcon -t java_exec_t /home/games/arma2/server /home/games/arma2oa/server

You can remove the folder /home/games/arma2/BattlEye since you already have the lower-case variant named "battleye" with beserver.so in it.

Share this post


Link to post
Share on other sites

Alright, sorry I've been busy working. I'll give this stuff a shot tomorrow. The third party download was what the forum post you posted links to. It eventually takes you to:

http://www.arma2.com/index.php?option=com_rokdownloads&view=file&Itemid=20&id=750%3Aarma-2-linux-standalone-server-1-10〈=en

...and that karman.cc site is listed there.

Hmm...I was wondering if I needed to chmod the perms, as I've had to do that for other games, but I hadn't seen that anywhere in any of the wiki. Anyway, I'll try again tomorrow and update!

Thanks for the help so far guys!

Share this post


Link to post
Share on other sites

Ok, I figured out the reason I had two battleye folders, one caps and one not...but as Killswitch said, the caps one doesnt seem to be needed. I also executed the chmod and the chcon commands as suggested. Still isn't running properly. Before I create a special account just to run this one program, can anyone explain why it shouldn't be run in root? I plan to set it up to auto start on power up after loss of power and reboot and it's just more to deal with if I have multiple accounts.

What I get now when I execute ./arma2server start is...

[root@vladserver arma2]# ./arma2server start

Starting ArmA 2 server...

./arma2server: line 31: ./home/games/arma2/2302.run: No such file or directory

[root@vladserver arma2]# nohup: redirecting stderr to stdout

[root@vladserver arma2]# ./arma2server status

Server should not be running...

[root@vladserver arma2]#

So...what the heck is 2302.run??!?

Share this post


Link to post
Share on other sites

2302.run (along with a file called 2302.pid) is files created, and used, by server. To do what? Just to check if server is running (and restart server if that file is missing). The 2302.pid file only holds the PID of main server process (open it in gedit and it only holds one number). Those files are deleted if server is shot down.

Your trouble regarding two be-folders:

Short description: Linux don't like capital letters!

A longer one; Linux actually see difference on small/CAPITAL letters, unlike windows which handles everything like. So what folder should the server use?

Arma 2 server will crash if you have capital letters in missions names, by default there is at least one in every mission you make, the first letter in island name. A short-cut to overcome this is to add tolower command in your start script. Then all capital letters (if any) will be converted to lower-case every time server start. Upload missions, restart server, problem solved.

SELinux or Security-Enhanced Linux is as it says, a distro focusing on security (which will impact different rights to different accounts). You should know what you're doing when setting up a game server on such distro, since a game server, by nature, is "open" (including addons). Or it will at least need some features which I suspect is disabled in SEL by default.

Not to offend anyone, but someone using root account as a normal account don't need SEL. And since it's a such a rigid distro, you'll run into lots of trouble which is non-existent on other distros (Debian/Ubuntu or what ever).

Share this post


Link to post
Share on other sites
What I get now when I execute ./arma2server start is...

[root@vladserver arma2]# ./arma2server start

Starting ArmA 2 server...

./arma2server: line 31: ./home/games/arma2/2302.run: No such file or directory

[root@vladserver arma2]# nohup: redirecting stderr to stdout

See leading dot in the path? You probably have a typing error in the start script on the ARMA_DIR line. I'm guessing it looks like this:

ARMA_DIR=./home/games/arma2

Remove the dot at the beginning of the path:

ARMA_DIR=/home/games/arma2

Why should you not run the Arma servers as root? There are severaly reasons why, and they apply to server software in general:

  • Because they don't need to.
  • It's potentially unsafe to do so:
    • You could make a mistake when you are working with the servers logged in as root. You might accidentally delete important system files elsewhere.
    • There could be a bug in the software that could damage the rest of the server if the software was run as the superuser.

It's simply good practice to run a server with the minimum level of privileges it needs to do the job.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×