Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить 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

Установка Quake 3 Server с использованием Docker Compose

Переходи в директорию с репозиторием с помощью команды:

cd quake3-server-docker-compose

Установка Quake 3 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 Server с использованием Docker Compose

Для доступа к Quake 3 через веб-интерфейс необходимо с рабочей станции перейти по ссылке http://quake3.heyvaldemar.net, где quake3.heyvaldemar.net — имя моего сервера. Соответственно, вам необходимо указать имя или IP-адрес вашего сервера с установленным Quake 3 Server.

Нажимаем на кнопку “I agree”, если вы согласны с лицензионным соглашением.

Установка Quake 3 Server с использованием Docker Compose

Желаю всем приятной игры!

Установка Quake 3 Server с использованием Docker Compose

Чтобы подключиться к вашему серверу 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

После выполнения этой команды все изменения, внесенные вами в файл конфигурации, будут применены, и сервер будет перезапущен с новыми параметрами. Это обеспечивает быстрое и удобное обновление настроек без необходимости полной остановки сервера.


Мои курсы

🎓 Погрузитесь в мои обширные курсы по информационным технологиям, разработанные как для энтузиастов, так и для профессионалов. Независимо от того, хотите ли вы освоить 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. Я применяю ИИ для улучшения грамматики, чтобы обеспечить четкость технических деталей, однако все идеи, стратегии и рекомендации исключительно мои. Этот метод иногда может вызывать срабатывание детекторов ИИ, но можете быть уверены, что вся представленная информация и опыт — подлинно мои.

Владимир Михалев
Я - Владимир Михалев, Капитан Docker, но друзья могут называть меня Вальдемарыч.

DevOps комьюнити

Привет! 👋 Если у тебя есть вопросы по установке или настройке, то задайте их мне и другим IT-экспертам нашего сообщества: