TL;DR, Yes!
Today’s ingredients:
A Raspberry Pi 4, the older 3B+ should also support 64 bit, this process would work equally well on any ARM64 device that can run a Debian based OS however.
Raspberry Pi OS (64-bit), this will not work directly on the 32 Bit OS, but you can try using box86 as an alternative.
Box64
Needed OS packages : wget/curl tar box64
The Recipe:
We’ll use the box64 emulator for our Raspberry Pi, this is the fastest way to emulate AMD64 binaries on ARM64.
Add the debian repository for box64
wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list
Add the repository key so we can securely download the package
wget -O- https://ryanfortner.github.io/box64-debs/KEY.gpg | gpg –dearmor | tee /usr/share/keyrings/box64-debs-archive-keyring.gpg
Update our package lists to get the package list for box64
apt update
Install our box(64) of magic
apt install box64
This concludes installing box64, on to installing the actual TeamSpeak server.
Download yourself a copy of the TeamSpeak 3 Server from https://teamspeak.com/en/downloads/#server, be sure to get the 64 bit server, box64 can only run on AMD64 executables.
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2
Decompress it
tar xf teamspeak3-server_linux_amd64-3.13.7.tar.bz2
Change directory to our new server folder
cd teamspeak3-server_linux_amd64
Now we can actually use box64 to run the TeamSpeak server start script, which will then launch the actual server, this is where the magic happens.
box64 ts3server_startscript.sh start
At this point you should be presented with the login details for your server, fire up your TeamSpeak client and connect to your new server, enter your privilege key and enjoy your shiny new TeamSpeak 3 Server running near natively on Raspberry Pi/ARM64. If you’re happy with your setup, and it’s stable, make sure your server starts on boot/restart, using a crontab or the systemd unit from this reddit wiki page
How’s the speed?
Using box64 is remarkably fast, considering the amount of work that is probably going on behind the scenes when you run an application, thankfully a lot of the overhead seems to be mitigated by the use of “wrapping” libraries with the ARM64 equivalents instead of re-compiling every shared object an application uses.
Reliability?
Using box64 seems to be mostly reliable for the server side of TeamSpeak, the only crashes we’ve experienced so far involved running the TeamSpeak client rather than the server, you did know you can use box64 to run the TeamSpeak client, right?
Also bear in mind that TeamSpeak WILL NOT officially support the use of an emulator to run the client OR the server, so consider using box64 to run a TeamSpeak server or client as an eternal beta.
Leave a Reply