lukio 18 Posted September 11, 2015 After a routine restart of my my linux server I got the error Attempt to override final function - rscunitinfo_script 9:33:42 BattlEye initialization failed Server creation failed : 2302 First I was dumbfounded because ports are open and to my knowledge the port permissions have not been changed. After doing a little bit of searching I noticed that in the /<installdir>/battleye beserver.so was set to 0 bytes. So I downloaded the newest version of beserver.so from the BattleEye site, dumped it there and restarted the server. Immediately after server started running, the beserver.so got set from 277.160 bytes to 0 bytes. The file still remains Any information on how to remedy this? Server has been running fine for several weeks and we never had issues with BattleEye server not being initialized. Share this post Link to post Share on other sites
daoarge 203 Posted September 11, 2015 Same here. Also downloaded newest beserver.so, set to 0 size immediately after server restart. Only thing is, that it seems to me that this error occurred yesterday after BE updated itself (logfile message dates to 10. September 17:20). We didn't restart the server bin itself, it just stopped working - process was still running, but it wasn't connected to Steam anymore. It also looks to me as if the server process is writing to beserver.so, setting its size to 0 Bytes. Normally the whole A3 server dir ownership is set to serveruser.servergroup because I run the binary with a dedicated user, but after a failed start attempt the ownership of beserver.so is set to serveruser.serveruserprimarygroup. Since group ownership changes to the primary group of the serveruser, I strongly suspect that the server binary is writing to beserver.so but failing for some reason. Disabling BE makes the server start and run normally. Any help is appreciated. Share this post Link to post Share on other sites
lukio 18 Posted September 11, 2015 Disabling BE makes the server start and run normally. Not really an option on some servers :-( Share this post Link to post Share on other sites
code34 248 Posted September 11, 2015 There is a heavy security issue that give root privilege. It seems to be a linux security issue drwxr-xr-x 2 steam steam 4.0K Sep 11 22:48 .drwxr-xr-x 13 steam steam 4.0K Sep 11 22:49 ..-r--r--r-- 1 root root 239K Sep 11 22:36 beserver.bak-rw------- 1 steam steam 0 Sep 11 22:48 beserver.so-rwxr-xr-x 1 steam steam 1.8K Aug 29 2014 eula.txt-rw-r--r-- 1 steam steam 290 Oct 29 2014 publicvariable.logroot@Debian-76-wheezy-64-minimal /home/steam/arma3/battleye # cp beserver.bak beserver.soroot@Debian-76-wheezy-64-minimal /home/steam/arma3/battleye # chown root.root beserver.soroot@Debian-76-wheezy-64-minimal /home/steam/arma3/battleye # chmod 444 beserver.soroot@Debian-76-wheezy-64-minimal /home/steam/arma3/battleye # su - steamsteam@Debian-76-wheezy-64-minimal:~$ cd /home/steam/arma3steam@Debian-76-wheezy-64-minimal:~/arma3$ ./watchdog1 startStarting ArmA 3 server...steam@Debian-76-wheezy-64-minimal:~/arma3$ nohup: redirecting stderr to stdoutsteam@Debian-76-wheezy-64-minimal:~/arma3$ cd battleye/// player connecting to the game// BE updating//////////////////////////////steam@Debian-76-wheezy-64-minimal:~/arma3/battleye$ lstotal 516drwxr-xr-x 2 steam steam 4096 Sep 11 22:51 .drwxr-xr-x 13 steam steam 4096 Sep 11 22:50 ..-r--r--r-- 1 root root 244721 Sep 11 22:36 beserver.bak-r--r--r-- 1 root root 244721 Sep 11 22:50 beserver.so-rw-r--r-- 1 steam steam 20480 Sep 11 22:51 beserver.so.new-rwxr-xr-x 1 steam steam 1787 Aug 29 2014 eula.txt-rw-r--r-- 1 steam steam 290 Oct 29 2014 publicvariable.logsteam@Debian-76-wheezy-64-minimal:~/arma3/battleye$ lstotal 568drwxr-xr-x 2 steam steam 4096 Sep 11 22:51 .drwxr-xr-x 13 steam steam 4096 Sep 11 22:50 ..-r--r--r-- 1 root root 244721 Sep 11 22:36 beserver.bak-r--r--r-- 1 root root 244721 Sep 11 22:50 beserver.so-rw-r--r-- 1 steam steam 73728 Sep 11 22:51 beserver.so.new-rwxr-xr-x 1 steam steam 1787 Aug 29 2014 eula.txt-rw-r--r-- 1 steam steam 290 Oct 29 2014 publicvariable.logsteam@Debian-76-wheezy-64-minimal:~/arma3/battleye$ lstotal 636drwxr-xr-x 2 steam steam 4096 Sep 11 22:51 .drwxr-xr-x 13 steam steam 4096 Sep 11 22:50 ..-r--r--r-- 1 root root 244721 Sep 11 22:36 beserver.bak-r--r--r-- 1 root root 244721 Sep 11 22:50 beserver.so-rw-r--r-- 1 steam steam 143360 Sep 11 22:51 beserver.so.new-rwxr-xr-x 1 steam steam 1787 Aug 29 2014 eula.txt-rw-r--r-- 1 steam steam 290 Oct 29 2014 publicvariable.logsteam@Debian-76-wheezy-64-minimal:~/arma3/battleye$ lstotal 712drwxr-xr-x 2 steam steam 4096 Sep 11 22:51 .drwxr-xr-x 13 steam steam 4096 Sep 11 22:50 ..-r--r--r-- 1 root root 244721 Sep 11 22:36 beserver.bak-r--r--r-- 1 root root 244721 Sep 11 22:50 beserver.so-rw-r--r-- 1 steam steam 221184 Sep 11 22:51 beserver.so.new-rwxr-xr-x 1 steam steam 1787 Aug 29 2014 eula.txt-rw-r--r-- 1 steam steam 290 Oct 29 2014 publicvariable.logsteam@Debian-76-wheezy-64-minimal:~/arma3/battleye$ lstotal 744drwxr-xr-x 2 steam steam 4096 Sep 11 22:51 .drwxr-xr-x 13 steam steam 4096 Sep 11 22:50 ..-r--r--r-- 1 root root 244721 Sep 11 22:36 beserver.bak-r--r--r-- 1 root root 244721 Sep 11 22:50 beserver.so-rw-r--r-- 1 steam steam 253952 Sep 11 22:51 beserver.so.new-rwxr-xr-x 1 steam steam 1787 Aug 29 2014 eula.txt-rw-r--r-- 1 steam steam 290 Oct 29 2014 publicvariable.log// ESCALATION ISSUE - process with steam id/gid overwrite root file with 444 rightssteam@Debian-76-wheezy-64-minimal:~/arma3/battleye$ lstotal 256drwxr-xr-x 2 steam steam 4096 Sep 11 22:51 .drwxr-xr-x 13 steam steam 4096 Sep 11 22:50 ..-r--r--r-- 1 root root 244721 Sep 11 22:36 beserver.bak-rw------- 1 steam steam 0 Sep 11 22:51 beserver.so-rwxr-xr-x 1 steam steam 1787 Aug 29 2014 eula.txt-rw-r--r-- 1 steam steam 290 Oct 29 2014 publicvariable.log steam@Debian-76-wheezy-64-minimal:~/arma3/battleye$ arma3serv 10856 11019 steam 263w REG 9,3 16384 136315367 /home/steam/steamcmd/arma3/battleye/beserver.so.newarma3serv 10856 11029 steam 263w REG 9,3 16384 136315367 /home/steam/steamcmd/arma3/battleye/beserver.so.newarma3serv 10856 11060 steam 263w REG 9,3 16384 136315367 /home/steam/steamcmd/arma3/battleye/beserver.so.newarma3serv 10856 11061 steam 263w REG 9,3 16384 136315367 /home/steam/steamcmd/arma3/battleye/beserver.so.newroot@Debian-76-wheezy-64-minimal /home/steam/arma3/battleye #root@Debian-76-wheezy-64-minimal /home/steam/arma3/battleye # strace -p 10856Process 10856 attached - interrupt to quit+++ killed by SIGSEGV (core dumped) +++ warning: Can't read pathname for load map: Input/output error.[Thread debugging using libthread_db enabled]Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".Core was generated by `/home/steam/steamcmd/arma3/arma3server -name=server -config=server1.cfg -port=2'.Program terminated with signal 11, Segmentation fault.#0 0x086c2882 in ?? () (gdb) (gdb) btUndefined command: "". Try "help".(gdb) #0 0x086c2882 in ?? ()(gdb) #1 0x086d1e1d in ?? ()(gdb) #2 0x086d289b in ?? ()(gdb) #3 0x081a69bd in ?? ()(gdb) #4 0x081a738a in ?? ()(gdb) #5 0x081a6100 in ?? ()(gdb) #6 0xf7789c39 in start_thread () from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0(gdb) #7 0xf7143a6e in clone () from /lib/i386-linux-gnu/i686/cmov/libc.so.6 (gdb) disass 0x086c2882No function contains specified address. Share this post Link to post Share on other sites
stice 3 Posted September 12, 2015 Having the same problem. Share this post Link to post Share on other sites
$able 2 Posted September 12, 2015 The 0-bytes overwrite is caused by a bug in the Arma 3 server following "BattlEye initialization failed". The devs are aware of it. The problem here is missing dependencies. If you check your GLIBC version using "ldd --version" it will probably show 2.13. The new beserver.so needs at least 2.15. Please upgrade GLIBC on your server by following instructions such as these: http://stackoverflow.com/questions/10863613/how-to-upgrade-glibc-from-version-2-13-to-2-15-on-debian. 1 Share this post Link to post Share on other sites
stice 3 Posted September 12, 2015 Updating GLIBC to 2.19 fixed the problem. Thanks! Share this post Link to post Share on other sites
lukio 18 Posted September 12, 2015 The 0-bytes overwrite is caused by a bug in the Arma 3 server following "BattlEye initialization failed". The devs are aware of it Problem solved, thank you! Share this post Link to post Share on other sites
daoarge 203 Posted September 13, 2015 The 0-bytes overwrite is caused by a bug in the Arma 3 server following "BattlEye initialization failed". The devs are aware of it. The problem here is missing dependencies. If you check your GLIBC version using "ldd --version" it will probably show 2.13. The new beserver.so needs at least 2.15. Please upgrade GLIBC on your server by following instructions such as these: http://stackoverflow.com/questions/10863613/how-to-upgrade-glibc-from-version-2-13-to-2-15-on-debian. Does that mean updating glibc is a work-around or is this the final solution? Just asking, because unfortunately upgrading glibc is not an option here. Thnx. Share this post Link to post Share on other sites
code34 248 Posted September 14, 2015 The library should be compiled as static, not dynamic exec. This was a mistake to deploy a dynamic binary without checking if required libraries were present before. Normaly, it can not happen for thoses reasons: - only distrib packages use dynamic compilaton cause package system check and manage dependencies with libraries - or manual compilation that check first if libraries are presents Deploy dynamic code without checking dependencies beforehand automatically lead to an issue. Ask players to upgrade their glibc is not a satisfactory solution. It is BE client deployment process that is bad. Note: static compilation will not fix the system security issue, and the BIS backdoor that download distance code. Share this post Link to post Share on other sites
$able 2 Posted September 17, 2015 Does that mean updating glibc is a work-around or is this the final solution? Just asking, because unfortunately upgrading glibc is not an option here. Thnx. You can now download a new beserver.so with this dependency removed here: http://www.battleye.com/downloads/arma3/beserver.so. Share this post Link to post Share on other sites
code34 248 Posted September 17, 2015 You can now download a new beserver.so with this dependency removed here: http://www.battleye.com/downloads/arma3/beserver.so. thanks you able for your support :) Share this post Link to post Share on other sites