// Garry's Mod

Serwer DarkRP w Garry's Mod: joby, addony i 64-bit krok po kroku

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:

Struktura folderów serwera DarkRP: addon darkrpmodification w garrysmod/addons z darkrp_config i darkrp_customthings, obok lua/bin na moduły binarne i gamemode DarkRP, którego nie zmieniasz
Gdzie zmieniasz DarkRP: wszystko w addonie darkrpmodification, nic w gamemodes/darkrp.
  • lua/darkrp_config/: settings.lua (najważniejsze ustawienia), disabled_defaults.lua, mysql.lua i licenseweapons.lua.
  • lua/darkrp_customthings/: jobs.lua, shipments.lua, entities.lua oraz pliki dla agend, amunicji, grup drzwi, czatów grupowych i pojazdów.
  • lua/darkrp_language/ na tłumaczenia i lua/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.

Czytaj dalej

// WYPRÓBUJ SAM
Twój serwer Minecraft online w 60 sekund
Zobacz pakiety →