What goes in the ZIP
Everything your Linux server needs to run: the program that starts it and all its files. Export or package your server for Linux the way your engine does it, then zip the folder.The executable
The executable is the file inside the ZIP that starts your server, such asLinux/GameServer.sh. You name it when you upload. Simpl runs it when a server starts.
Your server can’t choose its own port. Simpl gives it one when it starts, in SIMPL_PORT_GAME. If your engine takes the port as a command-line option, either:
- use the
simpl-server.shstarter script the dashboard offers for Godot, Unity and Unreal, which passes the port for you, or - add the port to your launch arguments with a placeholder (see Launch arguments).
Uploading
With the dashboard
- Open your project’s Builds tab and click Upload build.
- Choose your ZIP file as the Server ZIP.
- Pick your Engine. This only changes the setup tips you see.
- Set Executable to the file that starts your server.
- Give it a Build name, such as
0.1.0. This name is how you pick the build later. - Click Upload build.
With the API
This takes two requests. First ask for an upload link, using your server key:upload_url, a one-time link, and an expires_at time. Send your ZIP to that link before it expires:
ports and launch_args are optional.
Ports
Your project decides the ports your server uses, not the upload. Set them on the Environment tab, in the Ports section. A new project starts with one UDP port namedgame. To use TCP, or to turn on TLS for a browser game, change the port there. See Ports and environment and Browser games (wss://).
The dashboard upload form has no port settings. With the API, ports on the build only matters for a port name your project does not list. If you leave it out, the build gets one UDP port named game.
Environment variables
Environment variables are named values your server can read when it starts. Besides the port and address variables in Ports and environment, Simpl sets:SIMPL_API_URL and SIMPL_SERVER_TOKEN are also set. They are only needed if you use the plugin. Never print the token.
Launch arguments
Launch arguments are extra words added to the command that starts your server, such as-log. There are two kinds, and Simpl adds them in this order:
Both are lists, with one argument per item. One item with spaces in it is refused, because Simpl can’t tell where one argument ends and the next begins.
Simpl replaces these placeholders in every argument before your server starts:
For example,
"launch_args": ["-port={{PORT}}", "-log"] passes the game port to an engine that reads a -port= option.
Build statuses
After the upload, Simpl prepares your build. Its status tells you where it is:Version tags
The name you give a build is itsversion_tag. You use it to pick the build when you start a server or set up a queue. If you upload two builds with the same name, the newest one is used.