Docs Running a server
Ports and firewalls
Letting players in: the UDP port, the router, the firewall, your address, and what kinds of hosting will and will not do.
A server is listed only once Team Vanilla can reach it from the internet. If it cannot, the log says so and why; the server still runs for anyone who can reach it by address.
The port
The server listens on one UDP port, 27240 unless port in server.cfg says another. Everything goes through it: the matches, the list's "who is there?", and pack downloads. Addresses are IPv4.
- At home: forward UDP
porton your router to this PC's local address, and give the PC a fixed local address so the forward keeps pointing at it. If the router forwards another outside port to it, put that one inpublic_port. - On a VPS or a dedicated server: allow UDP on the port in the provider's firewall as well as the system's.
- Below 1024: on Linux only root may use ports under 1024, and the server should not run as root. Keep to 1024 and up.
The firewall
- Windows: the first run offers to let the server in (Windows asks for an administrator). Later,
LegacySFServer.exe --firewalldoes it again. - Linux: the firewall is the system's own; allow UDP on the port. For example:
sudo ufw allow 27240/udp
sudo firewall-cmd --permanent --add-port=27240/udp && sudo firewall-cmd --reload
Your address
Leave public_address empty and Team Vanilla lists the server at whatever address its heartbeat comes from, so a home connection whose address changes is picked up by itself. A host name (a dynamic DNS name such as sf.example.com) works too.
Behind a VPN: a server reachable only inside a VPN plays there, unlisted. To be listed it has to be reachable from the internet.
What hosting will do
| Kind | Will it do? |
|---|---|
| A PC at home with the port forwarded | yes, while it is on and awake |
| A VPS or a dedicated server, Windows or Linux | yes |
| A small ARM64 board on Linux | yes |
| Shared web hosting (a cPanel plan and the like) | usually not: such plans open no UDP port to a program of yours, and stop programs that keep running |
| A home connection behind carrier-grade NAT (no public IPv4 address of your own) | not without a VPS or a tunnel in front of it |
Upload
Pack downloads use your upload. upload_kbps keeps them from crowding out the matches, max_downloaders limits how many players download at once, and the 50 MB limit on packs keeps a first join short.