Server configuration
Configure your Vital.sandbox server's runtime behaviour — ports, identity, social links — via config.yaml
Overview
Every Vital.server ships with a config.yaml in its root directory, pre-populated with sensible defaults. It is the single source of truth for runtime behaviour — modify the values, restart the server, and changes take effect immediately.
If the config file is absent or malformed, the server falls back to built-in defaults and emits a diagnostic to the console. A missing file is non-fatal.
Where the config lives
- Fixed location —
config.yamlmust sit at the root of yourVital.server/directory. - Single file — all sections (
server,network,http,social) live in this one file. - Restart to apply — changes are not hot-reloaded; a server restart is required for any edit to take effect.
Vital.server/
├── config.yaml
└── resources/
└── ...Configuration
Default configuration as shipped with every Vital.server.
# =============================================================================
# Vital Sandbox — Server Configuration
# =============================================================================
server:
name: "Vital.sandbox Server"
version: "1.0.0"
description: "A Vital.sandbox server"
network:
port: 7777
max_peers: 32
http:
port: 7778
social:
discord: ""
website: ""All keys are optional.
- Every key has a built-in default and can be omitted without error.
- An absent or malformed
config.yamlis non-fatal — the server starts with defaults and logs a warning.
Server
Controls the display name, version string, and description exposed to clients and integrations.
server:
name: "Vital.sandbox Server"
version: "1.0.0"
description: "A Vital.sandbox server"| Key | Type | Default | Description |
|---|---|---|---|
name | string | "Vital.sandbox Server" | Display name shown in the master-list |
version | string | "1.0.0" | Free-text version identifier - not validated or compared |
description | string | "" | Optional description shown in the master-list |
Network
Controls the ENet multiplayer transport layer. Clients connect to the port defined here.
network:
port: 7777
max_peers: 32Both values directly affect client connectivity — change them with care.
port— clients and any firewall or port-forwarding rules must be updated to match.max_peers— once the limit is reached, incoming connections are refused until a slot becomes available.
| Key | Type | Default | Description |
|---|---|---|---|
port | integer | 7777 | UDP/TCP port the ENet multiplayer server listens on |
max_peers | integer | 32 | Maximum number of concurrent client connections |
HTTP
Controls the asset delivery server. Clients fetch assets such as models and textures from this port at runtime.
http:
port: 7778The HTTP server operates independently of the ENet transport layer.
- Both ports must be reachable — blocking either one will result in a failed or degraded session.
- Separate firewall rules — ensure both ports are open and forwarded correctly in your network configuration.
| Key | Type | Default | Description |
|---|---|---|---|
port | integer | 7778 | Port the HTTP asset delivery server listens on |
Social
Defines community links surfaced in the master-list.
social:
discord: ""
website: ""| Key | Type | Default | Description |
|---|---|---|---|
discord | string | "" | Discord server invite URL shown in the master-list |
website | string | "" | Community or project website URL shown in the master-list |