Serwer DarkRP w Garry's Mod: joby, addony i 64-bit krok po kroku
Serwer DarkRP w GMod postawisz w czterech krokach: ustaw gamemode na darkrp, załaduj DarkRP i swoje addony przez kolekcję Workshop, własne joby i ustawienia umieść w addonie darkrpmodification (nigdy w samym DarkRP) i nadaj sobie admina przez FAdmin. Poniżej każdy krok z prawdziwymi nazwami plików, plus co aktualizacja 64-bit Garry's Mod z września 2026 oznacza dla twojego serwera, a czego nie.
Czego potrzebujesz
DarkRP to gamemode roleplay autorstwa FPtje, zbudowany na sandboxie: gracze wybierają job, zarabiają pensję i kupują rzeczy przez menu F4. Oprócz serwera Garry's Mod (aplikacja Steam 4020) potrzebujesz:
- GSLT (Game Server Login Token). Wiki Facepunch określa go jako obowiązkowy; bez tokenu twój serwer spada na liście serwerów. Tworzysz go na stronie Steam do zarządzania kontami serwerów gier z App ID
4000, jeden na serwer. W naszym panelu wklejasz go do zmiennej startowej Steam Account Token. - Kolekcja Workshop, publiczna albo niewidoczna na liście (unlisted). Kolekcji prywatnej serwer nie odczyta.
- Addon darkrpmodification z GitHuba, na wszystko, co zmieniasz sam.
Kiedy to się nie opłaca? Jeśli chcesz tylko budować i wygłupiać się z kilkoma znajomymi, sandbox to mniej pracy. DarkRP opłaca się dopiero wtedy, gdy chcesz egzekwować zasady i masz czas na moderację.
Krok 1: gamemode, mapa i kolekcja Workshop
Według README DarkRP instalujesz przez git albo przez Workshop (ID 248302805). Najprościej: dodaj DarkRP do swojej kolekcji. Potem w panelu uzupełnij zmienne startowe:
- Gamemode:
darkrp, czyli nazwa folderu gamemode'u. - Workshop-collectie (kolekcja Workshop): ID twojej kolekcji. Komenda startowa przekazuje je jako
+host_workshop_collection; serwer pobiera kolekcję przy każdym starcie, łącznie z zagnieżdżonymi kolekcjami. - Map: nazwa pliku mapy RP bez
.bsp. Jeśli mapa jest w twojej kolekcji, jej nazwa zwykle podana jest w opisie w Workshopie.
Gracze dostają mapę i DarkRP automatycznie, jeśli pochodzą one z kolekcji serwera. Inne addony z zawartością, na przykład modele albo dźwięki, udostępniasz przez resource.AddWorkshop("ID") w pliku Lua; na naszych serwerach jest do tego już plik garrysmod/lua/autorun/server/workshop.lua. Używaj tam ID pojedynczych addonów, a nie ID kolekcji, i pomijaj addony zawierające tylko Lua: te trafiają do graczy innym systemem. Kolejna aktualizacja przyniesie jeszcze jedną możliwość: pojedyncze ID z Workshopu w cfg/srcds_workshop_ids.txt. Pod koniec września ta funkcja jest dostępna tylko w gałęzi dev, a nie w zwykłej wersji serwera. Więcej o addonach w bazie wiedzy: Instalacja addonów i gamemode'ów z Workshopu.
Krok 2: darkrpmodification, nigdy core
Najważniejsza zasada stoi dosłownie w README: „don't touch DarkRP's core files”. To, co zmienisz w gamemodes/darkrp/, stracisz przy następnej aktualizacji DarkRP. Dlatego istnieje darkrpmodification: pobierz zip z GitHuba i umieść jego zawartość we własnym folderze w garrysmod/addons/, przez menedżer plików albo SFTP. W tym folderze są tylko pliki tekstowe:

lua/darkrp_config/:settings.lua(najważniejsze ustawienia),disabled_defaults.lua,mysql.luailicenseweapons.lua.lua/darkrp_customthings/:jobs.lua,shipments.lua,entities.luaoraz pliki dla agend, amunicji, grup drzwi, czatów grupowych i pojazdów.lua/darkrp_language/na tłumaczenia ilua/darkrp_modules/na własne moduły.
Krok 3: własne joby, shipmenty i entities
Job to jeden blok w jobs.lua, w tej samej formie co domyślne joby DarkRP:
TEAM_MECHANIK = DarkRP.createJob("Mechanik", {
color = Color(230, 140, 20, 255),
model = {"models/player/Group01/Male_02.mdl"},
description = [[Naprawia auta w warsztacie.]],
weapons = {},
command = "mechanik",
max = 2,
salary = GAMEMODE.Config.normalsalary,
admin = 0,
vote = false,
hasLicense = false,
category = "Citizens",
})Chcesz zmienić domyślny job, na przykład policję? Najpierw wyłącz go w disabled_defaults.lua, a potem skopiuj do jobs.lua. Tak samo postępujesz z broniami i shipmentami (shipments.lua) oraz z entities, takimi jak money printer (entities.lua). Po każdej zmianie zrestartuj serwer i zajrzyj do konsoli: zapomniany przecinek daje tam błąd Lua, a twój job nie pojawi się wtedy w menu F4.
Krok 4: ustawienia i moduły
W settings.lua są wszystkie ustawienia ekonomii i zasad, razem z wartościami domyślnymi, na przykład GM.Config.startingmoney = 500 i GM.Config.normalsalary = 45. Zmieniaj tylko to, co naprawdę chcesz mieć inaczej. W disabled_defaults.lua włączasz i wyłączasz całe moduły: true oznacza wyłączony, false włączony. Głód (hungermod) i moduł AFK są domyślnie wyłączone; jeśli chcesz, żeby gracze musieli jeść, ustaw hungermod na false.
Nadaj sobie admina przez FAdmin
DarkRP ma własny system adminów, FAdmin, który jest domyślnie włączony. Nadaj sobie superadmina, wpisując w konsoli panelu fadmin setroot TwojNick, gdy jesteś na serwerze; potem komendy działają też na czacie, z / na początku. Wolisz inny system adminów? Wyłącz wtedy moduł fadmin w disabled_defaults.lua, żeby nie działały jednocześnie dwa systemy.
Baza danych: SQLite wystarczy
DarkRP domyślnie przechowuje pieniądze i dane we wbudowanej bazie SQLite garrysmod/sv.db. Dla jednego serwera to w zupełności wystarczy. MySQL (w mysql.lua, z modułem MySQLOO) potrzebujesz dopiero wtedy, gdy kilka serwerów ma współdzielić te same dane, i wtedy pojawia się też pytanie o 64-bit.
64-bit: co wrześniowa aktualizacja zmienia, a czego nie
16 września Facepunch wydało 64-bitowe wersje klienta, serwera dedykowanego i Hammera. Według patch notes dotyczy to Windowsa; powodem jest mniejsze ryzyko crashy przez zapełnioną 32-bitową przestrzeń adresową przy ciężkich serwerach i wielu addonach. Dla Linuksa wiki wciąż podaje 64-bit jako część gałęzi beta x86-64. W naszym panelu serwer startuje przez srcds_run z gałęzi domyślnej.
Dla zwykłych addonów Lua nie ma to znaczenia. Liczy się tylko przy modułach binarnych w garrysmod/lua/bin/, takich jak MySQLOO: muszą mieć tę samą architekturę co twój serwer. 32-bitowy serwer na Linuksie ładuje gmsv_nazwa_linux.dll, 64-bitowy gmsv_nazwa_linux64.dll. Nie masz pewności? Wpisz w konsoli lua_run print(jit.os, jit.arch): x86 to 32-bit, x64 to 64-bit. Potem pobierz pasujący moduł i najpierw go przetestuj, zanim wpuścisz graczy.
Sloty, RAM i pakiet
Liczbę slotów ustawiasz w panelu zmienną Max Players (domyślnie 32, maksymalnie 128), a tickrate zmienną Tickrate (domyślnie 66). Co do pamięci, jest uczciwa granica: 32-bitowy proces serwera może zaadresować najwyżej 4 GB pamięci. Więcej RAM niż tyle jednemu 32-bitowemu serwerowi nie pomoże.
- Amateur (2 GB, 3,00 €): sandbox albo mały test DarkRP.
- Beginner (4 GB, 6,00 €): serwer DarkRP ze zwykłą kolekcją.
- Traveller (6 GB, 9,00 €): zapas dla ciężkiej kolekcji, która dobija do tych 4 GB.
Większy pakiet wybierasz głównie ze względu na miejsce na dysku: od Researcher (10 GB, 15,00 €) dostajesz 60 GB NVMe zamiast 40 GB. Dla jednego 32-bitowego serwera więcej RAM daje niewiele.
Wszystkie pakiety serwerów Garry's Mod mają dyski NVMe i ochronę DDoS, możesz z nich zrezygnować co miesiąc, a działają w Hengelo, Frankfurcie, Warszawie lub Beauharnois. Nie masz jeszcze serwera? Zobacz jak uruchomić serwer Garry's Mod.
Najczęściej zadawane pytania
Jak zrobić serwer DarkRP?
Ustaw gamemode na darkrp, załaduj DarkRP (Workshop ID 248302805) i swoje addony przez publiczną albo niewidoczną na liście (unlisted) kolekcję Workshop i dodaj GSLT do parametrów startowych. Własne joby i ustawienia trafiają do addonu darkrpmodification w garrysmod/addons, nigdy do plików samego DarkRP.
Gdzie zmieniam joby w DarkRP?
W lua/darkrp_customthings/jobs.lua addonu darkrpmodification, za pomocą DarkRP.createJob. Domyślny job zmieniasz, wyłączając go najpierw w lua/darkrp_config/disabled_defaults.lua, a potem kopiując do jobs.lua.
Czy potrzebuję GSLT do serwera Garry's Mod?
Tak. Wiki Facepunch określa Game Server Login Token jako obowiązkowy; serwery bez tokenu mocno spadają na liście serwerów. Tworzysz go na Steamie z App ID 4000, jeden na serwer, i przekazujesz przez +sv_setsteamaccount.
Czy mój addon działa na 64-bitowej wersji Garry's Mod?
Zwykłe addony Lua działają na 32-bit i 64-bit. Tylko moduły binarne w garrysmod/lua/bin muszą pasować do architektury: _linux.dll dla 32-bitowego Linuksa, _linux64.dll dla 64-bitowego. Komendą lua_run print(jit.os, jit.arch) w konsoli sprawdzisz, na której działa twój serwer.