Running the server
tools/run_server.py runs OpenSim with no particular supervisor (all paths from the .env):
| command | does |
|---|---|
python tools/run_server.py start |
start OpenSim in the background (pid in bin/opensim.pid) |
python tools/run_server.py stop |
clean shutdown through WorldBridge's console op when allowed (else save_world, then SIGTERM on Linux); forced (taskkill /F /T, SIGKILL) only if still running after the wait |
python tools/run_server.py supervise |
foreground: start, and start again whenever it exits (60 s backoff) |
python tools/run_server.py status |
running or not |
OpenSim always starts headless with -console=rest (a detached process has no terminal, so a local console
dies at startup); the REST console stays off while the .env leaves PARACOSM_CONSOLE_USER empty. OpenSim checks
only the user name: with a user set and PARACOSM_CONSOLE_PASS empty, an empty password logs in, so set a strong
one whenever you set the user. tools/region_restart.py deploys new DLLs across a restart: under a supervisor it
lets the supervisor relaunch; with none it starts OpenSim itself.
- Linux:
paracosm.servicehere is a systemd unit (edit the paths and user;systemctl enable --now paracosm). - Windows: a Task Scheduler task "At startup", action
python C:\path\to\paracosm\tools\run_server.py supervise, "Run whether user is logged on or not"; or any service wrapper (NSSM) around the same command.