Base de gamemode RP open-source pour nanos world

Un framework roleplay MVC, conçu pour nanos world.

NoMoreRP est une base de gamemode MVC orientée objet pour nanos world — câblée par un loader et un registre DI, épaulée par des packages Lua sans dépendances pour le réseau, les données et l’asynchrone.

8
repos open-source
MVC
architecture
MIT
licence
0 dép.
sans dépendances
nanos-world-server — Packages
# clone les packages dans ton serveur
Packages/
  nmrp/            MVC gamemode base
  nmrp-rpc/        typed RPC layer
  nmrp-norm/       Norm ORM
  nmrp-promise/    async / promises

# nmrp/Package.toml
name     = "nmrp"
title    = "NoMoreRP"
type     = "game-mode"

 gamemode chargé — contrôleurs enregistrés 

Conçu pour l’écosystème créateur nanos world

MITLua + TypeScriptAsync MySQLnanos-worldHot reload

Comment c’est construit

Un framework, pas un tas de scripts

NoMoreRP te donne une architecture propre et une boîte à outils de packages Lua sans dépendances — tu construis du gameplay au lieu de la tuyauterie.

Architecture MVC

Une base de gamemode orientée objet câblée par un loader et un registre DI — modèles, vues, contrôleurs.

Couche RPC typée

Requête/réponse typée basée sur des promesses au-dessus des events moteur — Call, CallAsync et CallRemote, serveur et client.

ORM Norm

Un ORM Lua sans dépendances : modèles, relations, query builder, migrations, hooks et soft deletes.

Promesses & async

Une implémentation Promise/A+ digne de JS avec async/await, :Await() et tout le jeu de combinateurs.

Localisation

Un système i18n partagé sans dépendances pour Lua et WebUI, pour que ton serveur parle la langue de chaque joueur.

Typings LuaCATS

Entièrement annoté avec LuaCATS pour un vrai autocomplete, une doc inline et du type-checking dans ton éditeur.

Besoins du personnage

Une stamina server-authoritative en jauge HUD, avec faim, soif et alcool sur la roadmap.

MIT & modulaire

Chaque package est entièrement open source sous MIT et sans dépendances — prends toute la stack ou une seule pièce.

Pensé pour les devs

Écris des contrôleurs, pas du spaghetti

Résous tes services depuis le registre, interroge la base via l’ORM et réponds sur la couche RPC typée — les annotations LuaCATS te guident à chaque étape.

  • Contrôleurs et services résolus par un registre DI
  • Accès aux données via l’ORM Norm avec migrations
  • RPC typé basé sur des promesses, serveur ↔ client
PlayerController.lua Character.lua
-- un contrôleur résolu par le registre DI
local Controller = Registry:get("PlayerController")

function Controller:OnReady(player)
  -- Norm ORM: load or create the character
  local char = Character
    :where("steam_id", player:GetSteamID())
    :firstOrCreate():await()

  -- typed RPC back to the client
  RPC.CallRemote("character:loaded", player, char:toTable())
end

Écosystème

Un core, une boîte à outils de packages

Chaque package est un dépôt nanos world autonome et sans dépendances, sous MIT. Prends toute la stack ou seulement ce dont tu as besoin.

nmrp core

La base de gamemode MVC — loader, registre DI et architecture OO en Lua.

nmrp-rpc networking

RPC typé basé sur des promesses au-dessus des events moteur. Call / CallAsync / CallRemote.

nmrp-norm database

ORM Norm : modèles, relations, query builder, migrations, hooks, soft deletes.

nmrp-promise async

Promise/A+ pour Lua : async/await, :Await() et tout le jeu de combinateurs.

nmrp-locale i18n

Localisation partagée sans dépendances pour Lua et WebUI.

nmrp-character-needs gameplay

Jauge HUD de stamina server-authoritative — faim et soif sur la roadmap.

Démarrage rapide

Clone, configure, lance

Tout vit dans le dossier Packages de ton serveur. Récupère le core et les libs qu’il utilise, branche l’ORM sur ta base et démarre.

1

Cloner le core

Ajoute la base de gamemode NMRP à ton dossier Packages.

git clone .../No-More-RP/nmrp
2

Ajouter les libs

Récupère les packages RPC, ORM et promise.

git clone .../nmrp-rpc nmrp-norm nmrp-promise
3

Configurer l’ORM

Branche Norm sur ta base et lance les migrations.

edit Packages/nmrp-norm/Config
4

Lancer

Définis nmrp comme gamemode et démarre le serveur.

NanosWorldServer.exe

Construis ton serveur avec NoMoreRP

Star les dépôts, lis le code et contribue sur GitHub, ou pose tes questions dans les discussions de l’org.