Daemon Mode
Sliver supports running in daemon mode, which automatically starts the multiplayer listener but does not provide an interactive console. To connect to a daemonized server, use multiplayer mode operator configs.
By default, daemon mode starts the same WireGuard-protected multiplayer listener used by the interactive multiplayer command. That means the outer listener is UDP on 31337 by default, while the authenticated gRPC/mTLS service stays inside the WireGuard tunnel.
There are two ways to run in daemon mode:
- Start daemon directly from CLI:
sliver-server daemon - Set
daemon_mode: truein~/.sliver/configs/server.yaml, then start normally withsliver-server
If server.yaml does not exist, Sliver generates it. If a legacy server.json exists, Sliver migrates it to YAML.
CLI Behavior
sliver-server daemonsupports:-l, --lhostmultiplayer listener host-p, --lportmultiplayer listener port-t, --tailscaleenable Tailscale listener--enable-wgwrap multiplayer in WireGuard instead of exposing it directly over mTLS-f, --forceforce unpack static assets- For
sliver-server daemon,--lhostand--lportoverride config values. If omitted, Sliver usesdaemon.hostanddaemon.portfromserver.yaml. - For normal startup (
sliver-server) withdaemon_mode: true, Sliver usesdaemon.tailscaleanddaemon.enable_wgfromserver.yaml. - With
--enable-wgordaemon.enable_wg: true, multiplayer is wrapped in WireGuard. Otherwise it stays on direct TCP mTLS.
Example Config
daemon_mode: true
daemon:
host: ""
port: 31337
tailscale: false
enable_wg: false
logs:
level: 4
grpc_unary_payloads: false
grpc_stream_payloads: false
tls_key_logger: false
grpc:
keepalive:
min_time_seconds: 30
permit_without_stream: true
Generating Operator Configs Without Console
Since daemon mode does not provide an interactive server console, generate operator configs using the server CLI:
./sliver-server operator --name zer0cool --lhost 1.2.3.4 --permissions all --save zer0cool.cfg
The operator CLI generates direct multiplayer profiles by default. Add --enable-wg when the daemon is running with the WireGuard wrapper.
Shutdown Behavior
On Unix-like systems, daemon mode handles SIGTERM and exits cleanly.
systemd
With daemon mode enabled in server.yaml, you can run Sliver under systemd or another init system. See the Linux install script for an example.