Pterohost docs

Установка и настройка DarkRP на сервере Garry's Mod

Пошаговое руководство по установке DarkRP и DarkRPModification, настройке работ, предметов и FAdmin на сервере Garry's Mod.

DarkRP - самый популярный игровой режим для Garry’s Mod, симулирующий ролевую жизнь в городе. Если вы хотите запустить собственный RP-сервер с уникальными работами, экономикой и правилами, эта статья поможет вам установить DarkRP с нуля, правильно настроить конфигурацию и добавить первые работы и предметы. Разберём каждый шаг подробно, чтобы сервер заработал без ошибок.

Что понадобится

  • Работающий сервер Garry’s Mod (выделенный или хостинг).
  • Доступ к файлам сервера по FTP/SFTP или через панель управления.
  • Аккаунт GitHub для скачивания актуальных версий аддонов.
  • Базовое понимание файловой структуры Garry’s Mod.

Хотите запустить DarkRP-сервер, не разбираясь в Linux и командной строке? На Pterohost вы получаете готовый сервер Garry’s Mod с удобной панелью управления и файловым менеджером прямо в браузере. Процессор AMD Ryzen 9 7950X3D, NVMe SSD и бесплатная защита от DDoS - сервер будет работать стабильно даже при большом онлайне. По промокоду 4START скидка 20% на первый заказ.

Скачивание DarkRP и DarkRPModification

DarkRP состоит из двух отдельных репозиториев, и это не случайно:

  • darkrp - ядро игрового режима. Его нельзя редактировать напрямую, иначе обновления затрут все изменения.
  • DarkRPModification - специальный аддон для ваших настроек. Именно здесь добавляют работы, предметы и меняют параметры.

Скачайте оба репозитория с GitHub:

# Клонирование через Git (рекомендуется для удобного обновления)
git clone https://github.com/FPtje/DarkRP.git darkrp
git clone https://github.com/FPtje/darkrpmodification.git DarkRPModification

Или загрузите ZIP-архивы вручную с сайта GitHub и распакуйте их локально.

Установка файлов на сервер

Оба распакованных аддона нужно разместить в правильной папке. Путь относительно корневой директории сервера:

garrysmod/
  gamemodes/
    darkrp/          <- папка ядра DarkRP
    DarkRPModification/  <- папка ваших настроек

Загрузите файлы по FTP/SFTP. Если вы не знакомы с этим способом подключения, читайте статью Подключение по FTP/SFTP.

Параметры запуска сервера

После установки аддонов нужно указать серверу, какой игровой режим и карту использовать. Найдите строку запуска в настройках хостинга или в файле start.sh и добавьте параметры:

./srcds_run -game garrysmod +gamemode darkrp +map rp_downtown_v4c_v2 +maxplayers 32
ПараметрЗначениеОписание
+gamemodedarkrpИмя папки режима в gamemodes/
+maprp_downtown_v4c_v2Стартовая карта (популярная RP-карта)
+maxplayers32Максимум игроков на сервере
+port27015UDP-порт сервера

Перезапустите сервер. Если в консоли появилась строка Initializing DarkRP - аддон загрузился успешно.

Настройка конфигурации

Все изменения производятся исключительно в папке DarkRPModification. Никогда не редактируйте папку darkrp - при обновлении ядра все правки будут потеряны.

Файлы конфигурации

DarkRPModification/
  lua/
    darkrp_config/
      disabled_defaults.lua   <- отключение стандартных механик
      settings.lua            <- основные параметры сервера
    darkrp_customthings/
      jobs.lua                <- работы (классы персонажей)
      shipments.lua           <- ящики с оружием
      entities.lua            <- покупаемые сущности
      categories.lua          <- категории в F4-меню
      ammo.lua                <- боеприпасы
      vehicles.lua            <- транспортные средства

Основные параметры в settings.lua

Откройте файл DarkRPModification/lua/darkrp_config/settings.lua и задайте ключевые параметры:

-- Название сервера в игре
GM.Config.servername = "Мой DarkRP сервер"

-- Название игровой валюты
GM.Config.currency = "$"

-- Начальная сумма денег у нового игрока
GM.Config.startingmoney = 500

-- Максимальный размер зарплаты
GM.Config.maxjobsalary = 500

-- Разрешить игрокам менять ник
GM.Config.allowselfpromotion = false

Добавление работ

Работы (классы персонажей) настраиваются в файле jobs.lua. Каждая работа описывается блоком кода:

TEAM_POLICE = DarkRP.createJob("Полицейский", {
    color = Color(0, 0, 255, 255),
    model = {"models/player/police.mdl"},
    description = [[Охраняет порядок в городе.]],
    weapons = {"arrest_stick", "unarrest_stick", "weapon_pistol"},
    command = "police",
    max = 4,
    salary = 100,
    admin = 0,
    vote = false,
    hasLicense = true,
    category = "Полиция",
})

Основные поля работы:

ПолеТипОписание
colorColorЦвет ника в чате
modeltableСписок моделей на выбор
weaponstableСтартовое оружие
maxnumberМаксимум игроков в работе
salarynumberЗарплата в минуту
adminnumber0 - для всех, 1 - только для операторов, 2 - только для админов
voteboolТребуется ли голосование для выбора
hasLicenseboolРазрешено ли носить оружие официально

Добавление предметов (entities и shipments)

Покупаемые сущности добавляются в entities.lua:

DarkRP.createEntity("Принтер денег", {
    ent = "money_printer",
    model = "models/props_c17/consolebox01a.mdl",
    price = 200,
    max = 2,
    cmd = "buyprinter",
    category = "Прочее",
})

Ящики с оружием - в shipments.lua:

DarkRP.createShipment("AK-47", {
    model = "models/weapons/w_rif_ak47.mdl",
    entity = "fas2_ak47",
    price = 1500,
    amount = 10,
    separate = false,
    pricesep = 200,
    noship = false,
    allowed = {TEAM_GUN_DEALER},
    category = "Огнестрельное оружие",
})

Управление через FAdmin

DarkRP включает встроенную систему администрирования FAdmin. Она менее мощная, чем ULX, но достаточна для базовых задач.

Основные команды FAdmin через консоль сервера:

# Выдать права администратора по Steam ID
fadmin setgroup STEAM_0:0:12345678 superadmin

# Посмотреть группу игрока
fadmin getgroup STEAM_0:0:12345678

Для полноценного администрирования рекомендуется дополнительно установить ULX - читайте статью Установка ULX и права администратора.

Частые ошибки

DarkRP не загружается, в консоли ошибка “gamemode not found” Проверьте, что папка называется именно darkrp (строчными буквами) и находится в garrysmod/gamemodes/. Параметр запуска должен быть +gamemode darkrp.

Изменения в jobs.lua не применяются после перезапуска Убедитесь, что вы редактируете файл в папке DarkRPModification, а не в папке darkrp. Сохраните файл в кодировке UTF-8 без BOM.

Ошибки Lua в консоли при загрузке работ Чаще всего - пропущена запятая или лишняя запятая в конце блока. Проверьте синтаксис. Каждое свойство, кроме последнего, должно заканчиваться запятой.

Карта не загружается, сервер вылетает Карта rp_downtown_v4c_v2 должна находиться в garrysmod/maps/. Скачайте её из Steam Workshop и добавьте вручную или через FastDL.

Игроки не видят модели персонажей (видят ERROR) Настройте FastDL или Workshop Collection, чтобы клиенты загружали нужный контент. Добавьте sv_downloadurl и список ресурсов в resource.lua.

Устали разбираться с FTP и Lua-ошибками? Pterohost берёт рутину на себя - автоустановка сервера Garry’s Mod, встроенный файловый менеджер для редактирования конфигов прямо в браузере, поддержка 24/7 и бесплатная миграция с текущего хостинга. По промокоду 4START скидка 20% на первый заказ.

Часто задаваемые вопросы

Как установить DarkRP на сервер Garry’s Mod? Скачайте DarkRP и DarkRPModification с GitHub, распакуйте оба аддона в папку garrysmod/gamemodes/, укажите в параметрах запуска +gamemode darkrp и перезапустите сервер.

Как настроить DarkRP? Все настройки меняются в DarkRPModification, а не в самом DarkRP. Файлы конфигурации находятся в lua/darkrp_config/ и lua/darkrp_customthings/.

Как добавить работу в DarkRP? Откройте файл garrysmod/gamemodes/DarkRPModification/lua/darkrp_customthings/jobs.lua и добавьте новую работу по шаблону TEAM_* с нужными параметрами.

Где менять настройки DarkRP? В папке DarkRPModification/lua/darkrp_config/. Основной файл - disabled_defaults.lua, где можно отключить стандартные механики, и settings.lua для общих параметров сервера.

Почему не сохраняются настройки DarkRP? Изменения нужно вносить только в DarkRPModification, а не в папку darkrp. После сохранения файлов перезапустите сервер. Если правите на работающем сервере - используйте команду rp_reloadconfig.

Читайте также