Quick start
Configuration¶
The server reads settings from server_config.json (created on first run under the MelonLoader user data directory).
Required¶
saveGamePath: Full path to the save folder to host.- Windows: escape backslashes:
C:\\Users\\you\\AppData\\LocalLow\\TVGS\\Schedule I\\Saves\\<SteamID>\\SaveGame_1 - Must contain files like
Game.json,Metadata.json, etc.
Recommended¶
serverPort(default 38465)serverName,serverDescriptionpublicServer(true/false)
Authentication¶
Use Steam ticket authentication on public servers to verify player identities:
{
"requireAuthentication": true,
"authProvider": "SteamGameServer",
"authTimeoutSeconds": 15,
"authAllowLoopbackBypass": true,
"steamGameServerLogOnAnonymous": true,
"steamGameServerQueryPort": 27016,
"steamGameServerMode": "Authentication"
}
Quick reference:
- authProvider options: None, SteamGameServer, SteamWebApi
- SteamGameServer is recommended for public servers
- None is acceptable for private LAN servers
- SteamWebApi is not fully implemented (use SteamGameServer instead)
đź“– See Authentication Guide for: - Detailed comparison of all auth providers with pros/cons - Configuration examples for each provider - Troubleshooting authentication issues - Security best practices
Messaging Backend¶
Choose how custom server-client messages are transmitted:
{
"messagingBackend": "FishNetRpc"
}
Recommended backends:
- FishNetRpc (default) - Recommended for Mono builds - Simple, works out-of-the-box
- SteamNetworkingSockets - Recommended for IL2CPP/dedicated servers - Modern Steam sockets, production-ready
Not recommended:
- SteamP2P - ⚠️ Only works with Steam client launch (not dedicated server builds). Use SteamNetworkingSockets or FishNetRpc instead.
đź“– See Messaging Backends Guide for: - Detailed comparison of all backends with pros/cons - Why SteamP2P should be avoided for dedicated servers - When to use each backend - Configuration examples - Performance and security considerations
Access control¶
operators: Full permissions and all commands.admins: Limited commands defined byallowedCommands; denied those inrestrictedCommands.bannedPlayers: SteamID64 strings blocked from joining.
Auto-save¶
autoSaveEnabled: true/falseautoSaveIntervalMinutes: minutes between periodic savesautoSaveOnPlayerJoin/autoSaveOnPlayerLeave
Gameplay¶
ignoreGhostHostForSleep: Ignore loopback client in sleep checks.timeNeverStops: Prevents 4AM freeze; time continues overnight.timeProgressionMultiplier: 1.0 is normal speed.
Master Server Registration¶
Optionally register your server with a master server list:
{
"registerWithMasterServer": false,
"masterServerUrl": "https://s1-server-list.example.com",
"masterServerApiKey": "",
"masterServerServerId": "",
"masterServerOwnerContact": "",
"publicServerAddress": ""
}
Note: Master server integration is currently experimental.
TCP Console¶
Enable remote console access via TCP for server administration:
{
"tcpConsoleEnabled": false,
"tcpConsoleBindAddress": "127.0.0.1",
"tcpConsolePort": 38466,
"tcpConsoleRequirePassword": false,
"tcpConsolePassword": ""
}
tcpConsoleBindAddress: Use"127.0.0.1"for local-only access,"0.0.0.0"for all interfaces- Enable password protection for remote access
- Bind to localhost (
127.0.0.1) by default for security
Performance Settings¶
Configure server performance parameters:
{
"targetFrameRate": 60,
"vSyncCount": 0
}
targetFrameRate: Target FPS for server (30-60 recommended for dedicated servers, -1 for unlimited)vSyncCount: VSync setting (should be 0 for dedicated servers)
Starting the server¶
- Use
start_server.batfromserver.zipto launch the dedicated server install.
The server will refuse to start if saveGamePath is not set.
Networking (port forwarding)¶
- To allow players outside your local network to connect, you must port forward the value of
serverPort(default38465) from your router to the server machine's local IP. - Protocol: forward both TCP and UDP.
- Ensure your OS firewall allows inbound connections on the forwarded port.
- Players should connect using your public IP and the forwarded port.
Helpful guides:
- Beginners Guide to Port Forwarding (Tinkernut)
- Router‑specific port forwarding guides (PortForward.com)
Notes:
- Some ISPs use CGNAT; port forwarding may not work. In that case, request a public IPv4, use IPv6, or host on a VPS.