FXServer on RaspberryPi3 problem

Hey Im trying to get an FXServer running on my Raspberry Pi (I had seen that the old CFX server could run on a pi so I wanted to try) I followed all the instructions on the wiki but when I run run.sh from my server folder via

../run.sh +exec server.cfg

I’m getting the following two lines

 /home/pi/gtaserver/run.sh: line 8: /home/pi/gtaserver/proot: cannot execute binary file: Exec format error
 /home/pi/gtaserver/run.sh: line 8: /home/pi/gtaserver/proot: Success

I’m somewhat unfamiliar with Linux and definitely unfamiliar the Proot so I’m unsure what this means or what I can do about it (The pi is just running latest Raspbian, [Raspbian GNU/Linux 8.0 (jessie)]).

Windows version works perfectly, I haven’t tried another non-arm Linux but maybe that should be my next step to see whether it’s specific to pi or armh. Either way I’m fairly new so any help is appreciated.

Edit: I figured it may be of use since the error has to do with the line in run.sh that executes Proot to have it echo the command out to make sure everything is parsing from variables to valid paths.

exec /home/pi/gtaserver/proot -b /home/pi/gtaserver -R /home/pi/gtaserver/alpine/ /opt/cfx-server/FXServer +set citizen_dir /opt/cfx-server/citizen/

That’s what it gives me which looks valid enough to me but I am a bit unsure because again I’m unfamiliar with Linux a cursory check of bash’s exec man shows -b and -R are valid options I’m assuming that +set is just setting an envirenmental variable for the filesystem Proot is making (which is sort of an assumption again I don’t know about Proot just kinda read what I could about it).

Update: The proot version of the FX Server for linux is for x86_64 architecture only. Rpi3 is Arm,
So I tried getting the Proot arm version only to realize that the FX Server doesn’t have a 32 bit version only 64 bit and even though RPi3 has a 64bit chip the Kernel is still 32bit (for Raspbian and most distros at least), there is someone who has gotten a distro called pi64 running off a 64 bit kernel (essentially just debian stretch) located here https://github.com/bamarni/pi64 if anyone is interested.
I installed that and got the proot version specific to debian changed run.sh accordingly to use that version of proot and it “worked”. I’m not getting an architecture cross with “cant execute binary file” and I’m not getting complaints of it being a 64 bit program. The only thing I’m getting now is ,
proot info: pid 4417: terminated with signal 11
I believe that’s a segmentation fault, ran proot -v 10 to get as much debug info as I could and the last thing that proot does before segmentation fault is

proot info: pid 7124: translate("/" + "/bin/sh")
proot info: pid 7124:          -> "/bin/sh"
proot info: pid 7124: terminated with signal 11

So maybe it’s trying to access /bin when I haven’t allowed it to with -R or -b, that’s my only guess at this point.

Below is the entire output from proot -v 10 incase there’s something in there someone more familiar with the server, proot and linux will notice that points to the problem that I don’t see.

pi@raspberrypi:~/gtaserver/data$ proot -v 10
proot info: binding = /
proot info: pid 7123: translate("/" + "/bin/sh")
proot info: pid 7123:          -> "/bin/dash"
proot info: pid 7123: translate("/" + "/bin/sh")
proot info: pid 7123:          -> "/bin/sh"
proot info: exe = /bin/sh
proot info: argv =
proot info: initial cwd = /home/pi/gtaserver/data
proot info: verbose level = 10
proot info: pid 7123: access to "/dev/pts/0" (fd 0) won't be translated until closed
proot info: pid 7123: access to "/dev/pts/0" (fd 1) won't be translated until closed
proot info: pid 7123: access to "/dev/pts/0" (fd 2) won't be translated until closed
proot info: pid 7123: access to "/proc/7123/fd" (fd 3) won't be translated until closed
proot info: pid 7124: sysenter start: execve(0x15ca987b0, 0x7fef061618, 0x7fef061818, 0x20, 0x40100401, 0xaaa88101aaaaaaaa) = 0x15ca987b0 [0x7fef061570, 0]
proot info: pid 7124: translate("/" + "/bin/sh")
proot info: pid 7124:          -> "/bin/dash"
proot info: pid 7124: translate("/" + "/lib/ld-linux-aarch64.so.1")
proot info: pid 7124:          -> "/lib/aarch64-linux-gnu/ld-2.24.so"
proot info: loader: /tmp/prooted-7123-RH1ywB
proot info: pid 7124: sysenter end: execve(0x7fef061557, 0x7fef061618, 0x7fef061818, 0x20, 0x40100401, 0xaaa88101aaaaaaaa) = 0x7fef061557 [0x7fef061557, 0]
proot info: pid 7124: sysexit start: execve(0xffffffffffffffff, 0x7fef061618, 0x7fef061818, 0x20, 0x40100401, 0xaaa88101aaaaaaaa) = 0xffffffffffffffff [0x7fef061557, 0]
proot info: pid 7124: sysexit end: execve(0xffffffffffffffff, 0x7fef061618, 0x7fef061818, 0x20, 0x40100401, 0xaaa88101aaaaaaaa) = 0xffffffffffffffff [0x7fef061570, 0]
proot info: pid 7124: translate("/" + "/bin/sh")
proot info: pid 7124:          -> "/bin/sh"
proot info: pid 7124: terminated with signal 11

I’d appreciate any help, also is there anywhere I can find the general requirements for the server itself? I looked around the forums/wiki a bit and couldn’t find anything.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.