Сетевая игра

Сам мультиплеер появился в 0.11.x версии игры и до сих пор (0.12.32) он играбелен только в сетях, с низкой задержкой (LAN). Т.е. игра между игроком из Москвы и игроком из Владивостока будет по крайней мере не очень приятной, т.к. игра принимает скорость (тик-тайм) для всех исходя из наиболее большой задержки между игроками. Во всяком случае с 0.12.0 версии появилась функция «скрытия задержки», что позволило игре быть более плавной, без сильных скачков тик-тайма.
В данное время мультиплеер в игре работает по схеме p2p (клиент-клиент), что означает отсутствие необходимости в сервере, хотя и присутствует сборка игры, без графического функционала (headless).
Для любых серьёзных функций (сохранение, заход в игру и т.д.) игра останавливается, чтобы синхронизироваться между всеми игроками. Это означает, что если какой-нибудь из игроков имеет настройку автосохранение раз в 1 минуту, то у всех игроков, даже у тех, кого эта настройка выключена, игра будет сохранятся раз в минуту.
Любой игрок может зайти в существующую игру по известному ему IP адресу и порту. Когда игрок подключается к игре, игра ставиться на паузу автоматическии, и игрок получает карту. В случае, если хост игры закончит играть, то остальные игроки могут продолжить играть ([не проверено] в одиночной игре) не прерывая игру.
Иногда во время игры происходит рассинхронизация. Причины рассинхронизации могут быть разными, от потери пакетов в сети, до разных версий модов. До 0.12.30 игра проверяла только версии модов и не проверяла их hash, и некоторые игроки могли изменять файлы игры и модов, не говоря об этом другим игрокам, что могло с большой вероятностью вызвать рассинхронизацию. Когда происходит рассинхронизация, игра ставится на паузу и все игроки скачивают карту у хоста-игры заного, и после этого игра автоматически продолжается.
Contents
Игра через LAN / Интернет
Игра через интернет не гарантируется в 0.11.x версии игры. Количество лагов в игре зависят от скорости соединения и задержек между всеми игроками. С 0.12.x версии стало более комфортно играть через интернет, т.к. появилась функция «скрытия задержки», но она по прежнему не идеальна из-за схемы p2p, где принимается наихудшее соединение из игроков для всех.
- Все игроки должны иметь одинаковые версии игры и модов.
- Желательно всем игрокам, кроме хоста выключить автосохранение.
- По умолчанию factorio использует порт 34197. Порт можно изменить тут.
- Factorio использует протокол UDP, так что убедитесь, что ваш роутер сконфигурирован корректно.
- В игре реализован свой протокол доставки пакетов, построенный на UDP протоколе, для уменьшения потерь пакетов и проблем с порядком доставки пакетов
- Убедитесь, что у вас правильно сконфигурирован firewall и ваше антивирусное ПО не блокирует UDP пакеты.
- Хосту игры обязательно иметь белый (видно из интернета) IP адрес, чтобы другие игроки могли подключиться к вам.
- Так же можно использовать различные ПО, предоставляющее VPN туннели, между игроками. В таком случае ваша сеть превращается в LAN over Internet, что не убирает проблему задержек, но убирает проблему с NAT’ом. Невозможность игры при 3+ игроков одновременно.
Сервер 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 систем по умолчанию
- Для x32 систем по умолчанию
Далее не имеет значение, Steam или обычная у вас версия игры
- Создайте текстовый файл и откройте его для редактирования Notepad’ом
- Скопируйте в него следующее
- Замените ВАШЕСОХРАНЕНИЕ на ваше название мира
- Сохраните файл, назвав его 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) (Внимание: только для авторизованных пользователей)
- Создайте папки mods, saves
- Загрузите предварительно созданный мир в factorio/saves
- Скорее всего вам потребуется установить libasound2
- Попробуйте запустить сервер
- Если сервер не запустился, ругаясь на отсутствие нужных библиотек, то установить их можно просто поискав в репозиториях из консоли
- С большой вероятностью эта библиотека найдётся в репозиториях, если нет, то поищите в Google или напишите на нашем форуме.
- Установить библиотеку можно командой
- Попробуйте снова запустить сервер, если он опять не запустился, повторите предыдущие два пункта
- Можно посмотреть список используемых библиотек сервером
Dedicated/Headless сервер для 0.11.X версии
Как ни странно, есть способ запуска сервера в 0.11.X версии игры, но он немного требует доработки.
Что необходимо сделать 0.11.x:
Игровые режимы
Кооператив
Группировки
Так же вы можете создавать свои группировки (всего их может быть 64 штуки, включая 3 родные player, neutral, enemy). Тут более детально об этом.
Создаём группировку с названием «force 1». группировка «player» используется для всех игроков по умолчанию группировка «enemy» используется для кусак группировка «neutral» особенная, она не вражеская, может взаимодействовать с другими группировками и так же её могут использовать другие группировки. Изменяет игроку с именем «friend 1» группировку на «force 1» даёт указание группировке «force 1» атаковать другую группировку с именем «force 2», но не наоборот. список всех группировок, существующих в данном мире
Технические подробности
Больше информации/инструментов
- Используйте моды: basic planner, Planning-Tool-Mod.
- Можете заглянуть к нам на форум, возможно на ваш вопрос уже дан ответ. для настройки headless сервера.
И помните, что factorio 0.11.x не рассчитана на игру в интернет сетях с большой задержкой.
Больше гайдов
Больше советов
- клавиша для консоли открывает чат, для мультиплеера. Чтобы выполнить команду, вам нужно написать ‘/c ‘ перед самой командой.
- Можно поменять цвет игрока следующей командой
Где «friend 1» никнейм игрока. r, g и b для красных, зелёных и синих цветов соответственно. a для альфа канала. Возможны значения от 0 до 1. Тут можно посмотреть распространённые цвета.
Factorio пиратская как играть по сети
При динамическом ip через любой эмулятор локальной сети.
При статическом ip, пробросить порт игры (не помню какой вроде 34197) в роуторе, добавить игру в исключения брандмауэра если ещё нету. Товарищ подключается по ip.В обоих случаях для создания сервера
сетевая игра — создать новую (будет такое же меню создание мира как и при одиночке) или создать из сохранённых — в настройках сервера убираешь галочки с "подтвердить личность" и "Использовать баны сервера аутентификации" — обязательно оставить галочку "Локальная сеть".Factorio как играть по сети


7,376 уникальных посетителей 53 добавили в избранное 






This is a basic guide on how to join or host a multiplayer server.
(Important note : if the server has any mods running you must enable them from the mod manager before connecting)
It also should be noted that both the host and the connected clients will autosave their own version of the current map whenever a autosave occurs.
The default Factorio port is 34197 (changable in the config) and only uses UDP.
IMPORTANT : You will need to create your save file before you start the server, as the dedicated server REQUIRES a save file to be provided. This can easily be done by loading up a game in Single-Player and saving it right away.
1. Go to your steam Factorio folder
2. Create a text document and write in it ‘Factorio.exe —start-server YOURSAVEGAME.zip’ (do not include the » at each side) (replace YOURSAVEGAME with the name of your savegame name you created above)
3. Save the file as a server.bat (note : The save as type option should read ‘all files’)
4. Use the server.bat to start the server
5. The console log will be shown in the window
5+. to close the server select the console and press control+c, if you close the window without doing this the game state will not be saved.
6. Forward the portsImportant: There may be no feedback that the server is running except the factorio.exe in the task manager. That means you won’t see a window or a console!
This can be changed by adding /wait to the .bat-file, for example:
start /wait Factorio.exe —start-server YOUR_SAVE.zipThis is much quicker and easier than hosting a dedicated headless server.
Simply start Factiorio
1. Go to play, multiplayer, and then new game
2. Choose your desired setup and then press play
3. Your friends can now connect to your server with your ip and port as long as you have your selected port is forwarded.Due to the fact that I did not create the guide on how to use evolve I am simply placing this link to the guide created on the fourms.
Factorio как играть по сети

Пока игра в альфа-тестировании, работает она не всегда корректно, хоть и удивляет минимальным количеством ошибок. Для того, чтоб игралось веселее и интереснее, в игре присутствует мультиплеер. Если у вас есть белый ip и открытые порты, то все шикарно, а для остальных — инструкция по запуску.
Прежде всего стоит обзавестись программой, которая позволит вам играть по сети. Таких программ несколько, например Hamachi или Tunngle, но я рекомендую Evolve. Имея все достоинства Tunngle, она лишена её багов, а так же позволяет создавать свои комнаты (party), вместо того, чтобы использовать какие-то левые. И, в отличии от Hamachi, она бесплатна.
Я буду использовать Evolve, но способ подключения к игре, описанный мною, подходит для всех трех программ.
После регистрации и скачивания программы, залогиньтесь. Сразу добавьте программу в список исключений брандмауэра, чтобы не делать это в будущем.
После этого вы увидите примерно такое окно.
Но для начала заходим в «Пуск» и в поисковой строке вводим «брандмауэр» и выбираем строчку «Брандмауэр Windows в режиме повышенной безопасности».

Перед нами открывается окно брандмауэра. Нам нужны его свойства.


Сразу должно всплыть предупреждение об отключении защиты. Так что не советую вам бегать по всяким подозрительным сайтам в таком режиме. После всех изменений жмем «ОК» и закрываем.
Чтобы включить все снова, достаточно будет щелкнуть на панели задач флажок «Устранения проблем ПК» и там нажать на уведомление об отключении брандмауэра.
Теперь нужно открыть программу и залогиниться. Я думаю, ничего сложного нет. Жмем ПКМ на любом месте и выбираем «Create Party»

После чего вы попадете в созданное вами пати. Я своё уже создал, так что зайду в него. Ничего страшного вы не увидите, ваше пати будет точно таким же.


Теперь, не закрывая окно с пати (его можно просто свернуть), заходим в игру.
Там жмем «Настройки» и подгоняем игру под себя.


После всех настроек нужно перезапустить игру, иначе они не вступят в силу.
Как только вы все настроите — идем в главное меню и выбираем пункт «Сетевая игра».