Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

Преимущества

⭐ Нет ограничения по слотам.
⭐ Низкий пинг - можно выбрать любую локацию, например Москва или Питер.
⭐ Безлимитное количество сетей и устройств, ограничено только мощностью сервера.
⭐ Нет необходимости покупать дорогостоящий сервер - достаточно арендовать сервер с минимальными ресурсами для обеспечения соединения между игроками, которые и будут выступать хостом.

Установка

Для работы панели необходимо установить Docker:

​curl -fsSL https://get.docker.com -o get-docker.sh && sudo bash get-docker.sh

Создадим директорию, в которой будет находиться наше решение:

mkdir -p /srv/zerotier/

Создадим в рабочей директории решения файл docker-compose.yml:

​touch /srv/zerotier/docker-compose.yml

Добавим в него следующее содержимое, по желанию указав необходимые параметры окружения:

services: postgres: image: postgres:15.2-alpine container_name: ztnet-database restart: unless-stopped environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: ztnet volumes: - postgres-data:/var/lib/postgresql/data zerotier: image: zyclonite/zerotier:1.14.2 hostname: zerotier container_name: zerotier restart: unless-stopped volumes: - zerotier:/var/lib/zerotier-one cap_add: - NET_ADMIN - SYS_ADMIN devices: - /dev/net/tun:/dev/net/tun ports: - "9993:9993/udp" environment: - ZT_OVERRIDE_LOCAL_CONF=true - ZT_ALLOW_MANAGEMENT_FROM=172.31.255.0/29 ztnet: image: sinamics/ztnet:latest container_name: ztnet working_dir: /app volumes: - zerotier:/var/lib/zerotier-one restart: unless-stopped ports: - 3000:3000 environment: POSTGRES_HOST: postgres POSTGRES_PORT: 5432 POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: ztnet NEXTAUTH_URL: "http://localhost:3000" NEXTAUTH_SECRET: "random_secret" NEXTAUTH_URL_INTERNAL: "http://ztnet:3000" links: - postgres depends_on: - postgres - zerotier volumes: zerotier: postgres-data: networks: default: name: zerotier driver: bridge ipam: driver: default config: - subnet: 172.31.255.0/29

Запуск и настройка

Запустим командой

docker compose -f /srv/zerotier/docker-compose.yml up -d

Входим в установленную панель по адресу http://<IP_СЕРВЕРА>:3000

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

Регистрируемся, нажав на кнопку «Get started!», вводим имя пользователя, любую почту (подтверждать её не нужно) и пароль.

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

После регистрации сразу откроется главный экран панели, на котором нам необходимо нажать «Create a network», для того чтобы приступить к созданию приватной сети.

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

Созданная сеть выглядит следующим образом:

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

Сетью уже можно пользоваться, но давайте разберём подробно некоторые моменты:

1. В правом верхнем углу имеется переключатель видимости сети: Private и Public.

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

Если необходимо чтобы сеть была доступна только доверенным лицам, и Вы вручную одобряли тех пользователей, которые желают присоединиться к сети – выбираем Private.

Если желаете сделать сеть доступной для свободного присоединения для всех без исключения – выбираем Public.

2. Вы также можете настроить префикс новой сети, выбрав один из популярных вариантов, или же задав свой, в разделе IP Assignment → Advanced.

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

Для примера зададим новый префикс сети с CIDR 10.0.0.0/24. Тогда укажем следующие значения:

Range start – 10.0.0.1
Range end – 10.0.0.254

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

Применив изменения, добавится новый route в разделе «Managed Routes». При этом желательно удалить старый route и старый префикс, в нашем случае это 10.121.15.0/24

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

Подключение

Устанавливаем клиент ZeroTier с официального сайта, после чего подключаемся к нашей сети.

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

Жмем ПКМ по иконке ZeroTier в трее и выбираем в нём пункт «Join New network». В появившемся окне вводим ID сети, которую мы создали. Его можно найти в установленной веб-панели ZTNet на вкладке сети.

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

Новое подключение необходимо подтвердить на стороне панели, нажав на чекбокс около клиента, который пытается осуществить подключение. Тоже самое необходимо осуществить на стороне каждого клиента, который должен находиться в сети ZeroTier.

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

Эксплуатация

Проверим работоспособность нашего решения на практике:После подключения другого клиента (Ваших друзей) к сети проверим возможность подключения к нему, проверив прямой пинг до него через терминал, возьмём IP нашего друга из примера: Win + R → cmd

ping 10.0.0.201
Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

Если пинг есть - значит всё ок. Теперь мы можем использовать возможности ZeroTier для наших целей.

Майнкрафт - это моя жизнь

Для примера создадим сервер Minecraft и проверим, сможем ли мы играть совместно с участниками сети.

1. Запускаем одиночную игру и разрешим подключение по сети, указав любой порт

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

2. Делимся с друзьями нашим IP клиента ZeroTier. Его можно будет найти в веб-панели ZTNet.

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

3. Просим друзей подключиться через «Прямое подключение» в списке серверов Minecraft.

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

Примечание: для режима игры "LAN" необходимо наличие лицензии или использование системы скинов, в нашем примере ely.by. Иначе будет ошибка "Недействительная сессия (Попробуйте перезайти в игру)"

Если подключение прошло успешно, значит всё настроено верно.

Создаем аналог Hamachi на примере ZeroTier для игры с друзьями по сети

Для тех, кто не любит многобукаф

Скачать готовый скрипт установки

8
2
2
1
11 комментариев