Installation
This page takes you from an empty server to a running NoMoreRP gamemode. If you only want a single library (promises, RPC…), skip ahead to its page — each one lists its own one-line install.
Prerequisites
- A nanos world dedicated server.
- A database reachable from the server (SQLite works out of the box; MySQL / MariaDB for production).
gitto clone the packages (submodules are used for vendored cores).
1. Install the packages
Every NoMoreRP package is a folder inside your server’s Packages/ directory. Clone the core and the libraries it depends on:
cd Packages/
git clone --recursive https://github.com/No-More-RP/nmrp
git clone --recursive https://github.com/No-More-RP/nmrp-promise
git clone --recursive https://github.com/No-More-RP/nmrp-norm
git clone https://github.com/No-More-RP/nmrp-rpc
git clone https://github.com/No-More-RP/nmrp-locale
nmrp-promiseandnmrp-normvendor their cores as git submodules. Use--recursivewhen cloning, or rungit submodule update --init --recursiveinside the folder afterwards.
The gamemode declares those dependencies in its own Package.toml, so the engine loads them in the right order:
[game_mode]
packages_requirements = [
"nmrp-promise",
"nmrp-norm",
"nmrp-rpc",
"nmrp-locale",
]
2. Select the gamemode
In your server’s Config.toml, set nmrp as the active game mode:
[game]
game_mode = "nmrp"
packages = [
# add-ons (script packages) go here, e.g.:
# "nmrp-character-needs",
]
Game modes vs. packages.
nmrpis a game-mode package, so it goes ingame_mode. Add-ons likenmrp-character-needsare script packages — they go in thepackageslist instead, never ingame_mode.
3. Configure the database
The database connection is a game-mode custom setting — you can set it from the new-game menu, from Config.toml, or on the server command line. Its default is:
database_connection = "db=nmrp user=root host=127.0.0.1 port=3307"
Other custom settings:
| Setting | Type | Default | Purpose |
|---|---|---|---|
database_connection | text | db=nmrp … | Database connection string. |
debug | boolean | false | Verbose logging. |
mode | select | production | development or production. |
4. Launch
Start (or restart) the server. On boot the loader builds the database connection and the ctx container, then wires every module in dependency order. When you see the controllers register, the gamemode is live.
Add an add-on
Add-ons extend the core without touching it. To install one — for example nmrp-character-needs:
- Clone it into
Packages/alongside the core. - Add it to the
packageslist (notgame_mode) inConfig.toml. - Restart the server — it loads after the core and registers itself.
Next
- Understand the architecture you just launched → nmrp.
- Explore the libraries it stands on → nmrp-promise, nmrp-rpc, nmrp-norm, nmrp-locale.