Установка Quake 3 Server с использованием Docker Compose
Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Quake 3 Server с использованием Docker Compose.
QuakeJS - это проект, позволяющий играть в Quake 3 в браузере, используя технологию WebGL для рендеринга графики. Это делает QuakeJS идеальным выбором для тех, кто хочет быстро и без установки дополнительного программного обеспечения организовать игровой сервер.
💾 Репозиторий, использованный в этом руководстве, можно найти на GitHub.
❗ Убедитесь в наличии записей типа A в вашей DNS-зоне, которые указывают на IP-адрес сервера с установленным Quake 3 Server. Если вы добавили эти записи недавно, стоит подождать перед запуском сервисов. Распространение DNS-записей может требовать времени — от нескольких минут до 48 часов, а иногда и дольше.
❗ В качестве альтернативы, для подключения можно использовать публичный статический IP-адрес вашего сервера.
В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 22.04 LTS.
Подробно о том, как установить Ubuntu Server 22.04 LTS, вы можете прочитать в моем руководстве “Установка Ubuntu Server 22.04 LTS”.
Также на сервере должен быть установлен Docker Engine и Docker Compose.
Узнать о том, как установить Docker Engine на Ubuntu Server, вы можете, прочитав “Установка Docker Engine и Docker Compose на Ubuntu Server”.
Кроме того, на сервер должен быть установлен OpenSSH, а также открыт 22 порт, чтобы иметь возможность подключаться к серверу по протоколу SSH.
Для установки OpenSSH на сервер вы можете воспользоваться командой:
sudo apt install openssh-server
Если вы планируете подключиться к серверу, используя операционную систему Windows, то можете воспользоваться PuTTY или MobaXterm.
В данном руководстве рассматривается подключение к серверу при помощи терминального эмулятора iTerm2, установленного на операционную систему macOS.
💡 Обратите внимание, вам потребуется открыть следующие порты TCP для доступа к сервисам:
- TCP порт 80 - для доступа к Quake 3 через веб-интерфейс.
- TCP порт 27960 - для игровых серверов Quake 3, который используется для подключения клиентов к серверу.
Подключаемся к серверу, на который планируется установить Quake 3 Server.
Далее нужно клонировать репозиторий, который содержит конфигурационные файлы, которые содержать все необходимые условия для работы Quake 3 Server.
Клонировать репозиторий можно с помощью команды:
git clone https://github.com/heyvaldemar/quake3-server-docker-compose.git
Переходи в директорию с репозиторием с помощью команды:
cd quake3-server-docker-compose
Далее вам необходимо изменить переменные в файле .env
и server.cfg
в соответствии с вашими требованиями.
💡 Обратите внимание, что .env
и server.cfg
должны находиться в той же директории, что и quake3-server-docker-compose.yml
.
Теперь запустим Quake 3 Server с помощью команды:
docker compose -f quake3-server-docker-compose.yml -p quake3-server up -d
Для доступа к Quake 3 через веб-интерфейс необходимо с рабочей станции перейти по ссылке http://quake3.heyvaldemar.net, где quake3.heyvaldemar.net — имя моего сервера. Соответственно, вам необходимо указать имя или IP-адрес вашего сервера с установленным Quake 3 Server.
Нажимаем на кнопку “I agree”, если вы согласны с лицензионным соглашением.
Желаю всем приятной игры!
Чтобы подключиться к вашему серверу Quake 3 Server, введите его доменное имя в клиенте игры. Это имя должно вести на IP-адрес сервера, где установлен Quake 3 Server. Также вы можете просто использовать публичный статический IP-адрес сервера для прямого подключения.
❗ Если вы используете доменное имя, убедитесь, что в вашей DNS-зоне правильно настроены записи типа A, указывающие на этот IP. Если записи были созданы недавно, рекомендуется подождать перед началом работы с сервисами. Распространение DNS-записей может занять от нескольких минут до 48 часов, а иногда и больше.
Для применения новых настроек в файле server.cfg
вашего сервера Quake 3, выполните следующую команду. Это позволит перезапустить контейнер Docker с сервером, что необходимо для активации изменений в конфигурации.
QUAKE3_SERVER_CONTAINER=$(docker ps -aqf "name=quake3-server-quake3-server") \
&& docker container restart $QUAKE3_SERVER_CONTAINER
После выполнения этой команды все изменения, внесенные вами в файл конфигурации, будут применены, и сервер будет перезапущен с новыми параметрами. Это обеспечивает быстрое и удобное обновление настроек без необходимости полной остановки сервера.
Эксклюзивы для подписчиков Patreon
Присоединяйтесь к моему Patreon и погрузитесь в мир Docker и DevOps. Здесь вас ждет эксклюзивный контент, разработанный специально для энтузиастов и профессионалов в области IT. Вашим наставником будет Владимир Михалев, опытный специалист, предлагающий ряд уровней членства от новичков до экспертов.
Что вы получите
🏆 Посты только для патронов (https://www.patreon.com/heyvaldemar){:target=”_blank”}: Полный доступ к глубоким статьям, которые раскрывают методы работы с Docker и DevOps, включая пошаговые инструкции, продвинутые советы и подробные анализы, недоступные широкой публике.
🏆 Ранний доступ (https://www.patreon.com/heyvaldemar){:target=”_blank”}: Получите возможность первыми узнавать о новых материалах и обучающих программах, опережая технологические тренды.
🏆 Приоритетная поддержка (https://www.patreon.com/heyvaldemar){:target=”_blank”}: Ваши вопросы и проблемы будут решены в первую очередь, обеспечивая индивидуальный подход и непосредственную помощь.
🏆 Влияние на будущий контент (https://www.patreon.com/heyvaldemar){:target=”_blank”}: Ваши предложения и отзывы напрямую влияют на выбор тем и создание учебных пособий, делая материалы максимально актуальными и полезными.
🏆 Признание и взаимодействие (https://www.patreon.com/heyvaldemar){:target=”_blank”}: Активные участники и поддерживающие пользователи получают благодарности в видео и на публичных трансляциях, подчеркивая вашу значимость для нашего сообщества.
🏆 Особые скидки (https://www.patreon.com/heyvaldemar){:target=”_blank”}: Наслаждайтесь скидками на курсы и предстоящие мероприятия, которые доступны исключительно для членов Patreon.
🏆 Возможности для нетворкинга (https://www.patreon.com/heyvaldemar){:target=”_blank”}: Общайтесь с другими IT-специалистами и энтузиастами в поддерживающей атмосфере, расширяя вашу профессиональную сеть и обмениваясь знаниями.
🏆 Искренняя благодарность и обновления (https://www.patreon.com/heyvaldemar){:target=”_blank”}: Личная благодарность за вашу поддержку, которая стимулирует создание нового контента и постоянное развитие.
Присоединяйтесь ко мне сейчас и начните свое путешествие по освоению Docker и DevOps с эксклюзивными материалами и поддерживающим сообществом!
Мои курсы
🎓 Погрузитесь в мои обширные курсы по информационным технологиям, разработанные как для энтузиастов, так и для профессионалов. Независимо от того, хотите ли вы освоить Docker, покорить Kubernetes или углубить свои навыки в области DevOps, мои курсы предлагают структурированный путь к повышению вашего технического мастерства.
Мои услуги
💼 Загляните в мой каталог услуг и узнайте, как мы можем сделать вашу технологическую жизнь лучше. Будь то повышение эффективности вашей IT-инфраструктуры, развитие вашей карьеры или расширение технологических горизонтов — я здесь, чтобы помочь вам достичь ваших целей. От DevOps-трансформаций до сборки игровых компьютеров — давайте сделаем ваши технологии непревзойденными!
Пополнить запасы моего кофе
💡 Telegram | Boost
💖 PayPal
🏆 Patreon
💎 GitHub
🥤 BuyMeaCoffee
🍪 Ko-fi
Подпишись
⭐ Telegram | Блог
🎬 YouTube
🐦 Twitter
🎨 Instagram
🐘 Mastodon
🧵 Threads
🎸 Facebook
🧊 Bluesky
🎥 TikTok
💻 LinkedIn
📣 daily.dev Squad
🧩 LeetCode
🐈 GitHub
Этот контент создан искусственным интеллектом?
Нет! Каждая статья — результат моей работы, наполненной страстью к Docker и десятилетиями опыта в IT. Я применяю ИИ для улучшения грамматики, чтобы обеспечить четкость технических деталей, однако все идеи, стратегии и рекомендации исключительно мои. Этот метод иногда может вызывать срабатывание детекторов ИИ, но можете быть уверены, что вся представленная информация и опыт — подлинно мои.