The server itself: repo now mirrors the machine it runs on, plus install.sh

The repository carried two different servers side by side - the early
`justrp` prototype with its Python auth API, and a snapshot of the real
one under `server-code/`. Only the second one is a server anyone should
start from, so the prototype is gone and the real one moved to the root.

Taken from the live box, so the UI is the finished version (the tokens,
the county-records sheets and the variable fonts landed after the last
snapshot was pushed):

  resources/[rp]/   rp_db, rp_core, rp_session, rp_loading, rp_ui,
                    rp_selftest, rp_dbtest
  bin/              supervise.sh (keep-alive + console FIFO), rcon, init script
  etc/schema.sql    accounts, characters, transactions, inventory, vehicles
  assets/fonts/     the bundled subsets
  docs/SERVER.md    how it is put together, resource by resource

install.sh turns a clean Ubuntu/Debian box into this server in one
command: recommended FXServer build, MariaDB with the schema, resources,
server.cfg + a generated database password, boot entry (systemd or
init.d), then it waits for the Cfx registration. --name/--port/--db-name
let a second server live on the same machine. Tested end to end on a
spare install root: build 25770 fetched, schema applied, boot entry
written, FXServer started and stopped exactly where a wrong licence key
should stop it.

No secrets travel with it: the licence key and the database password live
in data/secrets.cfg on the machine, and .gitignore now names it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Claude Opus 5
2026-08-12 23:23:33 +00:00
co-authored by Claude Opus 5
parent 80c1d75d2f
commit 71856b15e9
66 changed files with 2030 additions and 3814 deletions
+31 -17
View File
@@ -1,26 +1,40 @@
# JustRP — пример server.cfg
# Скопируйте в server.cfg и подставьте свои значения.
# ---------------------------------------------------------------------------
# Los Santos RP - server configuration
# Copy to /opt/fivem/data/server.cfg (install.sh does this for you).
# ---------------------------------------------------------------------------
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
sv_hostname "JustRP | Los Santos Roleplay"
sv_maxclients 64
sv_maxclients 48
sv_hostname "Los Santos Roleplay"
sets sv_projectName "Los Santos Roleplay"
sets sv_projectDesc "Serious roleplay. Custom framework, written from scratch."
set onesync on
sv_enforceGameBuild 3095
sv_scriptHookAllowed 0
onesync on
# Ключ сервера с https://keymaster.fivem.net — НИКОГДА не публикуйте его
sv_licenseKey "СЮДА_ВАШ_КЛЮЧ"
# Licence key and database credentials. Mode 600, never echoed.
exec /opt/fivem/data/secrets.cfg
# Должен совпадать с JUSTRP_API_SECRET у Python-API
set justrp_api_key "СЮДА_СВОЙ_КЛЮЧ"
# --- resources -------------------------------------------------------------
# Nothing from cfx-server-data is used. The player cap, chat, spawning and
# session handling are all implemented in the resources below.
ensure rp_db
ensure rp_core
ensure rp_session
ensure rp_loading
ensure rp_ui
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure fivem-map-hipster
ensure basic-gamemode
ensure hardcap
# Diagnostics. Safe to leave on; they only touch their own marker rows.
ensure rp_selftest
ensure justrp
# Driver test suite, off by default:
# ensure rp_dbtest
# Admin access. Add real identifiers here, e.g.
# add_principal identifier.license:<licence hash> group.admin
# Deliberately empty: a placeholder like identifier.fivem:1 would grant admin
# to whoever actually owns that Cfx account.
add_ace group.admin command allow