Warning: This README is currently pseudo. There will be many, many changes to how things may work but for now this is how I hope to see it work.
FreeBSDGSM is the LinuxGSM compatibility layer for FreeBSD. This repo holds the pot images for all the games servers provided by fgsm, as well as the source for the official frebsdgsm plugins. All the available images are listed within this repo using their respective server name; e.g TeamFortress 2 is tf2server.
For a list of available game servers visit linuxgsm.com or the serverlist.ssv.
These containers can be run 1 of 2 ways:
- Standalone Container
- Helper Script
- Automatically created by FreeBSDGSM when installed as a plugin
- pot (freebsd as the base distro)
- qemu (windows or linux as the base distro)
The main freebsdgsm.sh script has the ability to automatically install/run/manage server in pot containers. To get started make sure you have the required pkg repository installed:
$ doas curl -o /usr/local/etc/pkg/repos/FreeBSDGSM.conf "https://pkgs.freebsdgsm.org/Config/FreeBSDGSM.conf"
$ doas pkg update
Make sure that FreeBSDGSM is installed:
$ doas pkg install freebsdgsm
Now install the pot orchestrator plugin:
$ doas pkg install freebsdgsm-pot-plugin
Run freebsdgsm like usual but include the --container flag. e.g:
# Installing Team Fortress 2 Server
$ freebsdgsm tf2 --container
Easy as that! Your server will now be running in a jail separated from
To auto download and process server images, you can use the provided assistance script. This script will take care of host dependencies like most importantly pot itself.
### tf2server from the freebsdgsm cdn (Stable):
## Download Helper Script
$ curl -O -L https://freebsdgsm.org/ContainerInstall.sh
$ doas chmod +x ContainerInstall.sh
$ ./ContainerInstall.sh tf2
### tf2server via github instead (Rolling Release):
## Download Helper Script
$ curl -O -L https://raw.githubusercontent.com/t2vee/FBSDGSM-Containers/main//ContainerInstall.sh
$ doas chmod +x ContainerInstall.sh
$ ./ContainerInstall.sh tf2
There you go! Simple as that.
To run an image standalone simply download the pot image to your FreeBSD server:
NOTE: You must have pot installed yourself and any other required dependencies!
### tf2server from the freebsdgsm cdn (Stable):
## Download Main Container Image
$ curl -O -L https://images-cdn.freebsdgsm.org/latest/tf2server.xz
## Download Container Image Hash
$ curl -O -L https://images-cdn.freebsdgsm.org/latest/tf2server.xz.skein
## Import and create pot
$ doas pot import -p tf2server -t latest -U file://tf2server.xz
### tf2server server via github instead (Rolling Release):
## Download Main Container Image
$ curl -O -L https://raw.githubusercontent.com/t2vee/FBSDGSM-Containers/main/tf2/tf2server.xz
## Download Container Image Hash
$ curl -O -L https://raw.githubusercontent.com/t2vee/FBSDGSM-Containers/main/tf2/tf2server.xz.skein
## Import and create pot
$ doas pot import -p tf2server -t latest -U file://tf2server.xz
The main freebsdgsm.sh script has the ability to automatically install/run/manage server in qemu virtual machines for game servers that have limited compatibility with linux or bsd servers.
At the moment due to the nature of this plugin, support will NOT be provided for its usage
For Qemu support you not only need the base repository but the development repository:
### Base Repo
$ doas curl -o /usr/local/etc/pkg/repos/FreeBSDGSM.conf "https://pkgs.freebsdgsm.org/Config/FreeBSDGSM.conf"
### Development Repo
$ doas curl -o /usr/local/etc/pkg/repos/FreeBSDGSM-UNSTABLE.conf "https://pkgs.freebsdgsm.org/Config/FreeBSDGSM-UNSTABLE.conf"
### Enable Them
$ doas pkg update
Make sure that FreeBSDGSM is installed:
$ doas pkg install freebsdgsm
Now install the qemu orchestrator plugin:
$ doas pkg install freebsdgsm-qemu-plugin
Run freebsdgsm like usual, but you will need to include a few flags:
- --vm
- to pass off the game server install to the qemu plugin.
- --force-sha-integrity-check
- since this method is quite unstable all files must have their integrity checked.
- the script will NOT run without this option.
- --check-compat
- to tell the main installation script to check whether the desired game can be installed via qemu
# Installing a Satisfactory Server
$ freebsdgsm sf --vm --force-sha-integrity-check --check-compat