Skip to main content

Files and folders

nwm home​

Everything nwm stores lives in ~/.nwm, or in NWM_HOME if set.

PathContent
state.tomlRegistered servers (name, folder, branch, dates), unsafe library approvals, the global allow_unsafe_libs setting
servers/<name>/Default location of servers created by nwm
secrets/<name>.tomlSecrets of a server, mode 0600
logs/<name>.logOutput of the last background start
run/<name>.jsonProcess id of a running server
steamcmd/SteamCMD downloaded by nwm
cache/registry/index.jsonCached registry index (one day)
cache/store-index.jsonCached nanos world store catalog for completion (one day)
cache/recipes/Checkouts and downloads of remote recipes
cache/modules/Downloaded C module files
cache/nanossharp/NanosSharp installer
cache/update-check.jsonTime and result of the last update check

Server folder​

PathOwnerContent
Config.tomlnanos world, nwmServer configuration
nwm.tomlnwmApplied recipe, launch arguments, services
.envnwm, youEnvironment variables for the server process, mode 0600
Packages/, Assets/nanos world, nwmInstalled packages and asset packs
NanosSharp.sh, NanosSharp/NanosSharpPresent when NanosSharp is installed

nwm.toml​

args = ['--log_level', '2']

[recipe]
source = '@dasdarki/roleplay@^1'
name = '@dasdarki/roleplay'
version = 'v1.2.0'
commit = 'a3058d40d148f2ebf08c224de2bb4e4d1c90fb25'
applied_at = 2026-11-05T21:10:49+01:00

[recipe.variables]
port = '7790'

[[service]]
name = 'postgres'
image = 'postgres:17'
ports = ['5432']
volumes = ['postgres-data:/var/lib/postgresql/data']
ready = ['pg_isready', '-h', '127.0.0.1', '-U', 'nanos', '-d', 'nanos']

[service.env]
POSTGRES_PASSWORD = '${secret.postgres_password}'

You can edit it by hand; nwm service add and nwm recipe apply update it.

Docker objects​

ObjectName
Containernwm-<server>-<service>
Named volumenwm-<server>-<volume>
Labelsnwm.server, nwm.service, nwm.hash