LINUX.ORG.RU
ФорумGames

Есть ли способы запустить две версии игры и соединить их по локальной сети?

 , ,


0

2

Собственно дело в следующем: Новая Цивилизация лишилась режима хот-сит.

Есть желание запустить ее два раза на одном ПК и соединить по «локальной сети». В идеале один «экран» вывести на монитор, а «второй экран» отправить по тому же Саншайну/Мунлайту на телевизор. Или развести картинку по разным tty, на худой конец.

Есть же куча всяких контейнеров, виртуализаций и т.д. Можно добиться вышеописанного без создания полноценных виртуалок?

Ты бы описал что происходит когда ты её просто два раза запускаешь, ты же это попробовал уже?

Или развести картинку по разным tty, на худой конец.

А запустить два экземпляра иксов от разных юзеров на разных tty?

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Ты бы описал что происходит когда ты её просто два раза запускаешь, ты же это попробовал уже?

Ну, они вроде как друг друга видят, но при попытке присоединиться, игра (клиент) банально падает. У хоста при этом бьется интерфейс.

А запустить два экземпляра иксов от разных юзеров на разных tty?

У меня Вейленд.

Vochatrak-az-ezm ★★
() автор топика
Ответ на: комментарий от Vochatrak-az-ezm

Так в чём проблема конкретно? Большинство вообще не в курсе этой игры и максимум слышало её название, а ты подробности не сообщаешь, видимо думая что всё и так понятно. Ты, конечно, можешь ограничить круг отвечающих только теми, кто в неё играл, но по-моему это не совсем разумно, учитывая что проблема выглядит не специфичной для конкретно этой игры.

Из твоего первого сообщения вроде бы следует, что игра может подключаться к другому компу с тоже запущеной игрой. Я предположил, что для подключения надо указать айпи-адрес и, соответственно, можно указать какое-нить 127.0.0.1 для подключения к самому себе. Там не так?

firkax ★★★★★
()
Ответ на: комментарий от dataman

hotseat же!

ТС хочет запустить локально несколько экземпляров и играть по сети с выводом графики на разные мониторы или tty.

По идее через контейнеры это можно организовать.

MirandaUser2
()
Ответ на: комментарий от firkax

Я же говорю, игра просто крашится при попытке соединения.

Очевидно что процесс игры надо изолировать (а вероятно еще и запускать от двух разных юзеров).

Я не думаю что для запуска мультиплеера по локалке, достаточно просто запустить игру два раза.

Vochatrak-az-ezm ★★
() автор топика
Ответ на: комментарий от Anoxemian

но тогда игра будет видеть второй процесс. А если сделать отдельный PID namespace то через какой-нибудь общий файл в /tmp. Думаю, что надежнее сразу в контейнер.

Я запускал игрушки под wine в разных lxc-контейнерах на разных tty. В каждом свой экземпляр X.

MirandaUser2
()
Ответ на: комментарий от Vochatrak-az-ezm

а вероятно еще и запускать от двух разных юзеров

Я тебя сразу и спросил - ты пробовал это делать (раузмеется разные юзеры это разные tty и разные графические сервера)? Но ты начал что-то «да нет это не важно надо локалку сначала».

firkax ★★★★★
()

Нюанс - а игра стимовая или нет? Если стимовая - ты пробовал запускать со стимом в оффлайн режиме?

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

Norgat ★★★★★
()
Последнее исправление: Norgat (всего исправлений: 1)
Ответ на: комментарий от Vochatrak-az-ezm

Подготовка lxc-контейнера с корректным доступом к «железу», сети, tty это не то, что бы совсем простая задача.

Если есть уже собранное решение типа games-on-whales/wolf, предложенного выше, то лучше попробовать именно его.

MirandaUser2
()

Есть желание запустить ее два раза на одном ПК и соединить по «локальной сети». В идеале один «экран» вывести на монитор, а «второй экран» отправить по тому же Саншайну/Мунлайту на телевизор.

Не пробовал, но в теории возможно. Саншнайну нужен монитор, его можно повесить виртуально на выход карточки. У меня для саншайна монитор подключен такой опцией в загрузчике:

drm.edid_firmware=HDMI-A-2:edid/samsung-q800t-hdmi2.1 video=HDMI-A-2:e

Но надо как-то еще разделить ввод, по идее, для этого нужно запустить еще одну графическую сессию с этим виртуальным монитором и саншайном.

Игры надо запустить в изолированных окружениях. Без этого вторая копия может не запускаться или могут быть конфликты во время работы.

Пробовал собрать мультисит под линуксом, с одной видеокартой это не простая задача. Если карточка одна и предполагается, что один игрок сидит за основной машиной и стримит еще один экземпляр игры через саншайн для другого юзера, то я бы начал копать в сторону kvm с virtio-gpu/venus.

altwazar ★★★★★
()
Последнее исправление: altwazar (всего исправлений: 1)
Ответ на: комментарий от altwazar

Игры надо запустить в изолированных окружениях.

Есть готовые решение для этого?

Пробовал собрать мультисит под линуксом, с одной видеокартой это не простая задача.

Ну у меня есть встройка и дискретка. Физически монитор подключен именно к встройке, а дискретка рендерит игры через DRI_PRIME.

Это упрощает дело?

Vochatrak-az-ezm ★★
() автор топика
Ответ на: комментарий от Vochatrak-az-ezm

Есть готовые решение для этого?

Не видел. Но, возможно, получиться запустить от разных пользователей и это не потребуется.

Это упрощает дело?

Да, можно запустить отдельный сеанс со своими устройствами: loginctl attach seat1 ...

Тогда, по идее, можно повесить виртуальный монитор на вторую карточку для вывода картинки на неё, запустить с ней сеанс с другим пользователем, там запустить игру и настроить захват с этой карточки в саншайне.

altwazar ★★★★★
()
Ответ на: комментарий от altwazar

Но, возможно, получиться запустить от разных пользователей…

Не выходит, пишет что:

Authorization required, but no authorization protocol specified

Не наяндексил чем это лечить.

Vochatrak-az-ezm ★★
() автор топика

Есть желание запустить ее два раза на одном ПК и соединить по «локальной сети».

Делай отдельного пользователя с хомяком.

В идеале один «экран» вывести на монитор, а «второй экран» отправить по тому же Саншайну/Мунлайту на телевизор. Или развести картинку по разным tty, на худой конец.

https://app.lizardbyte.dev/2023-09-14-remote-ssh-headless-sunshine-setup/?lng...

Dr64h ★★★
()
Ответ на: комментарий от altwazar

Просто попытался залогиниться через su testuser и попытался запустить.

Просто пока я не уверен что запуск от другого юзера сработает, не стал копаться в настройках мультисита.

Vochatrak-az-ezm ★★
() автор топика

Херня будет с клавиатурой и мышью, потому что лялих тупой, узколобый, однорукий, одноглазый, одноXовый, одно*вый и с одной извилиной. Но можно конечно просто одно-джойстик подключить через одноместо.

fucpsy
()
Последнее исправление: fucpsy (всего исправлений: 1)
Ответ на: комментарий от altwazar

У меня «все» работало, просто запускаешь саншайн от другого пользователя. Но все устройства ввода используются совместно, поэтому поэтому использовать никак.

einhander ★★★★★
()

найди дракон(для почты россии конца нулевых) - там как раз на одной железки крутили многотерминальное(физически пара всего дисплеи клавы мыф) подключение (2)

всяко для unix(kzликс тож) c маняфреймов

есть многотерминалы и реальные

qulinxao3 ★☆
()
Последнее исправление: qulinxao3 (всего исправлений: 1)
Ответ на: комментарий от Dr64h

Скорее всего надо еще смотреть какие устройства захватываются в самом санлайте. Возможно тупо захардкожено. Потому как помню, что надо делать правило на удев для текущего пользователя.

einhander ★★★★★
()

Народ, а виртуалка с пробросом видеокарты дает большой оверхед?

В смысле, может все таки поднять qemu (или xen лучше?) и запускать одну версию игры из нее?

Одна копия игры на хосте (допустим на встройке), вторая в виртуалке (уже на дистретке). Или так они по сети не соединяться?

Vochatrak-az-ezm ★★
() автор топика
Ответ на: комментарий от Vochatrak-az-ezm

Игра так же падает на попытке присоединиться к носту.

У меня была проблема, что обе копии пытались слушать один и тот же порт. Но в моём случае получилось это решить с изменением конфига в игре.

altwazar ★★★★★
()