Как найти порт в факторио

Players colored preview.png

Сам мультиплеер появился в 0.11.x версии игры и до сих пор (0.12.32) он играбелен только в сетях, с низкой задержкой (LAN). Т.е. игра между игроком из Москвы и игроком из Владивостока будет по крайней мере не очень приятной, т.к. игра принимает скорость (тик-тайм) для всех исходя из наиболее большой задержки между игроками. Во всяком случае с 0.12.0 версии появилась функция “скрытия задержки”, что позволило игре быть более плавной, без сильных скачков тик-тайма.

В данное время мультиплеер в игре работает по схеме p2p (клиент-клиент), что означает отсутствие необходимости в сервере, хотя и присутствует сборка игры, без графического функционала (headless).

Для любых серьёзных функций (сохранение, заход в игру и т.д.) игра останавливается, чтобы синхронизироваться между всеми игроками. Это означает, что если какой-нибудь из игроков имеет настройку автосохранение раз в 1 минуту, то у всех игроков, даже у тех, кого эта настройка выключена, игра будет сохранятся раз в минуту.

Любой игрок может зайти в существующую игру по известному ему IP адресу и порту. Когда игрок подключается к игре, игра ставиться на паузу автоматическии, и игрок получает карту. В случае, если хост игры закончит играть, то остальные игроки могут продолжить играть ([не проверено] в одиночной игре) не прерывая игру.

Иногда во время игры происходит рассинхронизация. Причины рассинхронизации могут быть разными, от потери пакетов в сети, до разных версий модов. До 0.12.30 игра проверяла только версии модов и не проверяла их hash, и некоторые игроки могли изменять файлы игры и модов, не говоря об этом другим игрокам, что могло с большой вероятностью вызвать рассинхронизацию. Когда происходит рассинхронизация, игра ставится на паузу и все игроки скачивают карту у хоста-игры заного, и после этого игра автоматически продолжается.

Игра через LAN / Интернет

Игра через интернет не гарантируется в 0.11.x версии игры. Количество лагов в игре зависят от скорости соединения и задержек между всеми игроками. С 0.12.x версии стало более комфортно играть через интернет, т.к. появилась функция “скрытия задержки”, но она по прежнему не идеальна из-за схемы p2p, где принимается наихудшее соединение из игроков для всех.

  • Все игроки должны иметь одинаковые версии игры и модов.
  • Желательно всем игрокам, кроме хоста выключить автосохранение.
  • По умолчанию factorio использует порт 34197. Порт можно изменить тут.
  • Factorio использует протокол UDP, так что убедитесь, что ваш роутер сконфигурирован корректно.
    • В игре реализован свой протокол доставки пакетов, построенный на UDP протоколе, для уменьшения потерь пакетов и проблем с порядком доставки пакетов
    • Убедитесь, что у вас правильно сконфигурирован firewall и ваше антивирусное ПО не блокирует UDP пакеты.
    • Хосту игры обязательно иметь белый (видно из интернета) IP адрес, чтобы другие игроки могли подключиться к вам.
    • Так же можно использовать различные ПО, предоставляющее VPN туннели, между игроками. В таком случае ваша сеть превращается в LAN over Internet, что не убирает проблему задержек, но убирает проблему с NAT’ом. Невозможность игры при 3+ игроков одновременно.
  • Теоретический лимит игроков равен 65535. 🙂

Сервер factorio или почему p2p

Уже довольно много было дискуссий на тему, почему игра не использует клиент-сервер модель. Решено было оставить модель клиент-клиент.

Правда с 0.12.x версии появилась сборка headless, которая эмулирует поведение сервера, но по прежнему им не является, а просто становится хостом игры.

Немного ссылок:

  • Информация от разработчиков
  • Более старая информация
  • Хорошее объяснение

Dedicated/Headless сервер

С 0.12.0 версии headless/dedicated сервер может быть запущен из командной строки, с опцией ‘–start-server ВАШМИР.zip’.

В этом режиме:

  • Графическая часть игры не инициализируется совсем (быстрее загрузка, уменьшенное потребление памяти, полностью работает на серверах, где нет графической оболочки. К примеру можно запустить headless сервер на Debian)
  • Игра запускается мгновенно и загружает сохранение(мир), который был передан в опциях запуска.
  • Сервер не помещает игрока в игре, как это делает обычный хост.
  • Игра останавливается, когда на сервере отсутствуют игроки.
  • При закрытие сервера, сохраняется игра. (так же нормально функционирует автосейв)

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

Чуть ниже расположена инструкция для запуска сервера на Windows или Linux

Windows/Steam версия

  • Создайте мир в обычной игре, если у вас его ещё нет. Сохраните его и запомните его название.
  • Откройте Steam и выберите factorio
  • Нажмите на неё правой кнопкой мыши и выберите пункт ‘Cвойства’
  • Далее выберите вкладку ‘ЛОКАЛЬНЫЕ ФАЙЛЫ’
  • И наконец нажмите на кнопку ПРОСМОТРЕТЬ ЛОКАЛЬНЫЕ ФАЙЛЫ
  • Перейдите в папку bin/x64 или bin/x32

Windows/Обычная версия

  • Создайте мир в обычной игре, если у вас его ещё нет. Сохраните его и запомните его название.
  • Откройте папку установки factorio
  • Для x64 систем по умолчанию
C:Program FilesFactoriobinx64
  • Для x32 систем по умолчанию
C:Program FilesFactoriobinx32

Далее не имеет значение, Steam или обычная у вас версия игры

  • Создайте текстовый файл и откройте его для редактирования Notepad’ом
  • Скопируйте в него следующее
Factorio.exe --start-server ВАШЕСОХРАНЕНИЕ.zip
  • Замените ВАШЕСОХРАНЕНИЕ на ваше название мира
  • Сохраните файл, назвав его server.bat. ВАЖНО: При сохранении выберите тип файла ‘Все файлы’.
  • Используйте server.bat, чтобы запустить сервер.
  • Чтобы закрыть сервер, используйте сочетание клавиш Ctrl+C. Только этим способом вы завершите сервер нормально и он сохранит игру перед завершением.

Linux

Данный гайд был проверен на Debian версии 8.2 jessie. Так же он не объясняет настройку firewall, в Debian этим промышляет старый добрый iptables, а для этого есть Google.
Так же данный гайд подразумевает, что у вас есть хоть какое-то представление о работе Linux, иначе вы обречены 😉

И так, вы решили использовать headless сервер на Linux, в нашем случае на Debian, ну что ж, приступим:

  • Скачиваете последнюю версию игры отсюда, в нашем случае сейчас это Generic Linux tar package (64 bit .tar.gz) (Внимание: только для авторизованных пользователей)

Распаковывайте её

tar -xzf factorio.tar.gz
  • Создайте папки mods, saves
mkdir factorio/mods
mkdir factorio/saves
  • Загрузите предварительно созданный мир в factorio/saves
  • Скорее всего вам потребуется установить libasound2
aptitude install libasound2
  • Попробуйте запустить сервер
factorio/bin/x64/factorio --start-server world.zip
  • Если сервер не запустился, ругаясь на отсутствие нужных библиотек, то установить их можно просто поискав в репозиториях из консоли
aptitude search название_библиотеки
  • С большой вероятностью эта библиотека найдётся в репозиториях, если нет, то поищите в Google или напишите на нашем форуме.
  • Установить библиотеку можно командой
aptitude install название_библиотеки
  • Попробуйте снова запустить сервер, если он опять не запустился, повторите предыдущие два пункта
  • Можно посмотреть список используемых библиотек сервером
ldd factorio/bin/x64/factorio

Dedicated/Headless сервер для 0.11.X версии

Как ни странно, есть способ запуска сервера в 0.11.X версии игры, но он немного требует доработки.

Что необходимо сделать 0.11.x:

  • Linux Headless сервер / VNC
  • гайд по Dedicated/Headless серверу

Игровые режимы

Кооператив

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

PvP

  • PvP с возможностью создавать своих кусак (устаревший)
  • Сейчас (0.12.x) можно вручную, через игровую консоль, поменять группировку] для каждого из игроков. К примеру для игрока (в одиночной игре) можно поменять группировку на ‘нейтралы’ следующей командой:
/c game.local_player.force = "neutral"

Группировки

Так же вы можете создавать свои группировки (всего их может быть 64 штуки, включая 3 родные player, neutral, enemy). Тут более детально об этом.

/c game.create_force('force 1')
Создаём группировку с названием “force 1”.
группировка “player” используется для всех игроков по умолчанию
группировка “enemy” используется для кусак
группировка “neutral” особенная, она не вражеская, может взаимодействовать с другими группировками и так же её могут использовать другие группировки.
/c game.get_player('friend 1').force = game.forces['force 1']
Изменяет игроку с именем “friend 1” группировку на “force 1”
/c game.forces['force 1'].set_cease_fire('force 2', true)
даёт указание группировке “force 1” атаковать другую группировку с именем “force 2”, но не наоборот.
/c for v in pairs(game.forces) do game.local_player.print(v) end
список всех группировок, существующих в данном мире

Технические подробности

  • Статья: пятничные факты #76

Больше информации/инструментов

  • Используйте моды: basic planner, Planning-Tool-Mod…
  • Можете заглянуть к нам на форум, возможно на ваш вопрос уже дан ответ.
  • Cookbook для настройки headless сервера.

И помните, что factorio 0.11.x не рассчитана на игру в интернет сетях с большой задержкой.

Больше гайдов

  • Как настроить factorio сервер с помощью cookbook
  • Как настроить factorio сервер | Гайд | Туториал, автор Teaspoon
  • Советы для мультиплеера, автор Nondre

Больше советов

  • клавиша для консоли открывает чат, для мультиплеера. Чтобы выполнить команду, вам нужно написать ‘/c ‘ перед самой командой.
  • Можно поменять цвет игрока следующей командой
/c game.players[game.get_player('friend 1')].color = {r=0.7, g=0.5, b=0.1, a=0.9}

Где “friend 1” никнейм игрока. r, g и b для красных, зелёных и синих цветов соответственно. a для альфа канала. Возможны значения от 0 до 1. Тут можно посмотреть распространённые цвета.

ПО для настройки маршрутизации

  • https://forums.factorio.com/viewtopic.php?f=53&t=6393
  • https://forums.factorio.com/viewtopic.php?f=53&t=6386
  • https://forums.factorio.com/viewtopic.php?f=53&t=7690
  • Гайд, для игры через Evolve

What is the default port

?

Showing 111 of 11 comments

Originally posted by Stealth:

there is also a faq…

Which incidentally doesn’t mention the ports used for Multiplayer hosting. 😉

Originally posted by Mansen:

Originally posted by Stealth:

there is also a faq…

Which incidentally doesn’t mention the ports used for Multiplayer hosting. 😉

it does
“ocal-multiplayer (server-client) 0.12.26 HowTo
local-multiplayer (server-client) 0.12.26 HowTo in 9 steps (win/dedicated)
copy your %appdata%Factorioconfigconfig.ini to %appdata%Factorioconfigconfig-server.ini (copy of it!)
edit in your client ini (config.ini) the port to ‘34198’
open config-server.ini and edit ‘ write-data=__PATH__system-write-data__’ to ‘write-data=__PATH__system-write-data__/server’ and save it
create a directory in %appdata%Factorio named server and %appdata%Factorioserversaves
copy a singleplayer created and saved map to f.e. MPTest from %appdata%Factoriosaves to %appdata%Factorioserversaves
create a txt file in ~SteamSteamappscommonFactorio and insert with copy/paste ‘ start /wait Factorio.exe –start-server MPTest.zip -c %appdata%Factorioconfigconfig-server.ini ‘ and save it as server.bat
forward your router to port ‘34197’ (serverport) (UDP only)
go to whatismyip.com and let your friends connect to ip:34197
have fun (YOU can connect via Factorio -Multiplayer by typing ‘localhost’ )
Be sure that the server.bat contains the exact mapname -by hitting this, the server starts.”

You never specified a particular FAQ though – I am merely pointing that out.

I know perfectly well that there IS an FAQ for this kind of thing – But it’s hidden well away for anyone coming HERE to ask a question.

so you expect the dev´s to expect people to ask multiplayer related things in the general forum? hidden is the wrong word here

What ports a game use are entirely basic information to expect players to ask for any non-UPNP or lobbyless game.

So… yes. And as I pointed out telling people to go look at a non-descriptive FAQ is not the right answer. Pointing them to the location of said FAQ is…

Originally posted by Mansen:

What ports a game use are entirely basic information to expect players to ask for any non-UPNP or lobbyless game.

So… yes. And as I pointed out telling people to go look at a non-descriptive FAQ is not the right answer. Pointing them to the location of said FAQ is…

the right thing – do you expect everyone to point 25k people a day to the right infos? there is such things as commonsense , at least where i come from

A simple google search “factorio default router port” gives you the result (the first one no less) without having to even open the page.

Then we could have avoided this thread entirely instead of devolving in to bickering over FAQ’s made all the more pointless by the fact that the OP got their answer in the first response.

Showing 111 of 11 comments

Date Posted: 24 Mar, 2016 @ 9:46am

Posts: 11

Елена Слюсарь

Профи

(771)


7 лет назад

слушай …
я тебе вот что скажу …
го поиграем а то на вопросы устал отвечать….
скажи свой скайп….

артём илькаевЗнаток (299)

7 лет назад

сколько тебе лет в что играть и скажи с начало плиз как открыть

Елена Слюсарь
Профи
(771)
11 . Factorio . Hamachi либо плати

артём илькаевЗнаток (299)

7 лет назад

ты есть в вк?

factorio как играть по сети в мультиплеер

  • 27.03.2016
  • Загрузка…

Мануал по игре в мультиплеер по сети в factorio

Прямое соединение к интернету (без роутера)

В этом случае вам не нужно использовать сторонние программы для игры в мультиплеер по сети. Для этого вам нужно:

  • Создать сетевую игру пользователем «A»
  • Сообщить внешний IP-адрес пользователю «B»
  • Ввести в поле «Ip-адрес и порт» IP-адрес пользователя «A». Пример: «xxx.xxx.xxx.xxx:34197»

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

Подключение к интернету через разные технологии(wi-fi, 3g, vpn)

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

Таких программ очень много. Зарекомендовавшие и просты в использовании:

  • Hamachi
  • Tunngle
  • Garena (платформа)

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

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

Возможно пример открывания портов для robocraft поможет вам.

Factorio руководство по запуску игры по сети

По большому счёту для игры Factorio по сети не требуются дополнительные программы.
Достаточно открыть необходимые порты(34197) в системе и на роутере, и, очень желательно иметь белый ip. Поэтому первым делом посмотрите этот гайд по созданию сетевой игры без вспомогательных программ, и попробуйте для себя:

Как настроить Сетевую игру в Factorio

Но если возникают какие-то проблемы с открытием портов, или подключением к хосту через ip-адрес, то стоит попробовать поиграть по сети с помощью программ, эмулирующие локальную сеть. Такие как Hamachi, Tunngle, RadminVPN и аналоги.


Просмотры:
131 250

Добавить комментарий