Getting Started with Server
This page shows how to set up and run a SYNC MP server.
:::info Windows only
The server is a Windows x64 program (altv-server.exe). There is no Linux build: transport
encryption uses the Windows crypto library. On a VPS, use Windows Server 2019 or newer.
:::
1. Requirements
- Windows 10/11 or Windows Server 2019+, 64-bit.
- Nothing else for JavaScript. The .NET 8 runtime ships inside the server folder
(
dotnet/runtime/), so C# resources run without installing .NET. You only need the .NET 8 SDK to build C# code. - Whatever your gamemode uses itself (for example MySQL and Redis for NeptuneEvo).
2. The server folder
Keep every file in this folder together:
server/
├─ altv-server.exe the server — run it from THIS folder
├─ nethost.dll .NET hosting (required, do not delete)
├─ conf.json server config (RAGE:MP format)
├─ packages/ server-side JavaScript packages (one folder = one package)
├─ dotnet/
│ ├─ runtime/ bundled .NET 8 + Bootstrapper.dll (GTANetworkAPI)
│ └─ resources/ server-side C# resources (one folder = one resource)
├─ client_packages/ everything players download
│ ├─ index.js the client entry point
│ └─ game_resources/
│ └─ dlcpacks/ custom cars and clothes (<pack>/dlc.rpf)
├─ loadingscreen/ optional custom loading screen
├─ f1menu/ optional custom F1 panel
└─ cache/ data/ logs/ working folders (created automatically)
3. Configure
Edit conf.json. The format and keys are the same as RAGE:MP's:
{
"name": "My Server",
"gamemode": "freeroam",
"maxplayers": 100,
"port": 22005,
"stream-distance": 500.0,
"voice-chat": true,
"csharp": "enabled",
"enable-nodejs": true
}
All keys are listed in Server configuration.
4. Open the ports
The server listens on two ports. Both must be reachable from the internet:
| Port | Protocol | Used for |
|---|---|---|
port (default 22005) | UDP | the game: connection, sync, events, voice |
port + 1 (default 22006) | TCP | HTTP: client_packages, DLC packs, loading screen |
With only the UDP port open, players connect and then hang while downloading files. The server
tries UPnP on your router itself ("upnp": true by default), but on a VPS or behind a strict
firewall you must open both ports by hand. See Networking, ports & security.
5. Start it
Double-click altv-server.exe, or run it from a console in the server folder:
cd C:\server
.\altv-server.exe
A healthy start looks like this:
Loading NodeJS packages...
"server" package has been loaded.
Starting packages...
Server packages have been started.
...
dlcpacks: serving 2 DLC file(s), 466 MB (streamed from disk)
Started! Waiting for connections..
6. Connect
Players connect through the launcher (server list or direct host:port). On the first visit the
launcher downloads your client_packages and DLC packs, then starts the game straight into your
server. Later visits only download what changed.
Next steps
- Project structure — what runs where
- Packages & resources — write your first package
- First C# resource
- Client-side scripting