Hosting on Linux¶
Info
This page is currently work-in-progress.
Linux users can launch the server executable using a Docker image or by using Wine. If you do not have a DirectX 11 capable GPU in your system (for example if you are using a hosting service), you will want to host a Headless server.
Headless Servers¶
Using Docker¶
The preferred method for running a Northstar server in Docker is using pg9182's image which can be found in this GitHub repo: https://github.com/pg9182/northstar-dedicated
Prerequisites¶
Requirement | Description |
---|---|
Kernel | Linux 5.3+, but 4.9+ should work |
CPU | x86_64, at least 3 cores minimum |
RAM | 2GB (Typically peaks at 1.6GB) |
Disk | 5GB |
Network | Recommended at least 7-20Mbps up |
Docker | Have Docker and Docker-Compose installed on the machine |
Installation¶
Install Docker and Docker-Compose¶
If you don't already have Docker and Docker-Compose installed, you can learn how to install them for your distro from this guide. Once you have them installed, you can move on to the next section.
Prepare Titanfall2 Server files¶
You will need obtain Titanfall2's game files, typically by copying over your Titanfall2 installation folder and placing it on the Linux machine. Most of these files are for singleplayer and therefore we can delete them from the installation folder and prune the file size down to ~5GB.
Easiest way to do this is to copy the entire Titanfall2 folder to the server and delete the following files \ Alternatively download and run this shell script to download only the game files necessary to run a server.
Copy Titanfall2 folder over to the Linux machine¶
- Access the files on your Linux machine using tools like WinSCP or any tool that allows for SSH file transfer, or transfer files via USB drive if you can physically access your server.
- Navigate to the folder where you want to store the files. You can put them into
home/YOUR-USERNAME/Titanfall2
for example. - Copy the newly pruned Titanfall2 folder to the server.
Copy mods to server¶
If you have configured some mods, these can be placed at a similar location, like home/YOUR-USERNAME/mods
for example.
Note that Northstar itself is already installed in the Docker image. Therefore unless you are testing a development version you should NOT copy over the Northstar.XYZ
mods.
Create docker-compose file¶
We are going to be using Docker-Compose to set up our container. This gives us much more flexibility and allows us to make changes to the start up arguments much cleaner. This example will let you start your servers without needing to have your compose file in the same folder and directory as Titanfall2 and your mods folder. Create a compose file in your home directory, or wherever is most convenient.
nano docker-compose.yml
Example docker-compose.yml
\
(Note that you will have to adjust some lines to make it work on your machine)
version: "3"
services:
northstar-attrition:
image: ghcr.io/pg9182/northstar-dedicated:1-tf2.0.11.0
pull_policy: always
environment:
NS_PORT: 37015
# uncomment for Northstar v1.12 and older
#NS_PORT_AUTH: 8081
NS_SERVER_NAME: "Enter Server Name here"
NS_SERVER_DESC: "Enter your description here"
NS_EXTRA_ARGUMENTS: |
+setplaylist aitdm # Attrition
+mp_gamemode aitdm # Attrition
+map mp_angel_city
+ns_private_match_countdown_length 0
+ns_should_return_to_lobby 0
+net_compresspackets_minsize 64
+net_compresspackets 1
+spewlog_enable 0
+sv_maxrate 127000
volumes:
- /home/YOUR_USERNAME_HERE/Titanfall2:/mnt/titanfall:ro
- /home/YOUR_USERNAME_HERE/Titanfall2/mods:/mnt/mods:ro
ports:
- "37015:37015/udp"
restart: always
A list of all the CONVARs are here
A more complex docker-compose example for hosting a server can be found here, along with some extra information.
Starting¶
Run the following command¶
To run this container go to the folder where you saved the docker-compose.yml
in and type
docker-compose up
Your server should be up and running now. Check the in-game server browser or the online server list to see if it's online.
Should your server not show up or should you encounter any other issues, check the server troubleshooting section of the wiki.
Without using Docker¶
Hosting on a headless Linux server without Docker on Linux is not recommended, as you'll be forced to build packages yourself.
You can find instructions for running a dedicated server using Wine on pg9182's repository.
This comment on GitHub also contains some information for hosting a dedicated server on Linux.