Garry's Mod в Docker
Запуск сервера Garry's Mod при помощи Docker
Создание своего Garry's Mod сервера с использованием Docker Container
Мой репозиторий можно посмотреть тут:
FoerMaster/garrysmod-to-dockerУстановка
Скачиваем репозиторий на сервер
git clone https://github.com/FoerMaster/garrysmod-to-docker my_awesome_serverПолучаем следующую структуру папок:
При необходимости удаляем все README.md файлы и по сути уже можем запускать сервер и он будет работать, но мы пойдем дальше.
Загрузите в папку src все файлы вашего сервера с которыми вы работали ранее внутри папки garrysmod.
К примеру вы в папке garrysmod меняли файл по пути lua/autorun/server/admin_functions.lua и добавили свой адддон/игровой режим.
Считайте что папка src является папкой garrysmod но без лишнего мусора с которым вы не работали и не затрагивали.
При запуске сервера или при уже запущенном сервере, все файлы и папки будут откопированы в чистый gmod сервер с заменой.
Пример проекта который у меня получился на текущем этапе:
Теперь настроим запуск сервера при необходимости, откройте docker-compose.yaml
name: gserver
services:
gmod:
image: ghcr.io/foermaster/gserver-docker-source:main # Можно поменять ветку на dev чтобы использовать dev ветку Garry's Mod!
platform: linux/amd64
stdin_open: true
tty: true
volumes:
- ./src:/upd
- ./data/data:/gmodserv/garrysmod/data
- ./data/sv.db:/gmodserv/garrysmod/sv.db
network_mode: "host"
environment:
HOST_IP: ${HOST_IP:-127.0.0.1}
GMOD_PORT: "27015" # Порт сервера
GMOD_TICKRATE: "32" # Тикрейт сервера
GMOD_MAXPLAYERS: "16" # Макс слоты
GMOD_GAMEMODE: "sandbox" # Игровой режим
GMOD_MAP: "gm_construct" # Карта
GMOD_INSECURE: "true" # Отключить VAC (true/false)
POLL_INTERVAL: "2" # Интервал прохода вотчера файлов (указываем в секундах)
command: # Опционально можем задать кастомные параметры запуска
- +hostname # Указываем название сервера при запуске
- "My Awesome Server" # аргумент (название сервера при запуске)
- +rcon_password
- "adminpass"
- +sv_lan
- "0"
hostname: gserverТеперь просто запускаем сервер!
docker-compose up -d # Запуск контейнера в фонеЛоги можно посмотреть тут:
docker-compose logs gmodРазработка в Docker
В образе docker встроен file watcher он заменяет уже существующие файлы внутри garrysmod, если по какой-то причине вы удалили заменяемый файл, скрипт вернет на его место оригинальный файл!
Обновления
Докер переодический проверяет текущую версию сервера и если он обнаружит что она устарела, вам об этом напишет в логи/консоль!
Последнее изменение страницы:22 января 2026 г.