Multiplayer - factorio wiki

From Official Factorio Wiki


Сам мультиплеер з'явився в 0.11.x версії гри і до сих пір (0.12.32) він іграбелен тільки в мережах, з низькою затримкою (LAN). Тобто гра між гравцем з Москви і гравцем з Кременчука буде принаймні не дуже приємною, тому що гра приймає швидкість (тик-тайм) для всіх виходячи з найбільш великий затримки між гравцями. У всякому разі з 0.12.0 версії з'явилася функція "приховування затримки", що дозволило грі бути більш плавною, без сильних коливань тик-тайму.

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

Для будь-яких серйозних функцій (збереження, захід у гру і т.д.) гра зупиняється, щоб синхронізуватися між усіма гравцями. Це означає, що якщо який-небудь з гравців має настройку автосохранение раз в 1 хвилину, то у всіх гравців, навіть у тих, кого ця настройка виключена, гра буде збережуться раз в хвилину.

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

Гра через LAN / Інтернет

Гра через інтернет не гарантується в 0.11.x версії гри. Кількість лагів в грі залежать від швидкості з'єднання і затримок між усіма гравцями. З 0.12.x версії стало більш комфортно грати через інтернет, тому що з'явилася функція "приховування затримки", але вона як і раніше не ідеальна через схеми p2p, де приймається найгірше з'єднання з гравців для всіх.

Голосовий чат

  • Рекомендується використовувати TeamSpeak, Skype, RaidCall, Discord, тому що в грі бажано активну координація дій (споруда, відображення атак і т.д.). Сервера TeamSpeak можна знайти на форумі.

Пошук гравців

Сервер factorio або чому p2p

Вже досить багато було дискусій на тему, чому гра не використовує клієнт-сервер модель. Вирішено було залишити модель клієнт-клієнт.

Правда з 0.12.x версії з'явилася збірка headless, яка емулює поведінку сервера, але як і раніше їм не є, а просто стає хостом гри.

Dedicated / Headless сервер

З 0.12.0 версії headless / dedicated сервер може бути запущений з командного рядка, з опцією '--start-server ВАШМІР.zip'.

  • Графічна частина гри не ініціалізується зовсім (швидше завантаження, зменшене споживання пам'яті, повністю працює на серверах, де немає графічної оболонки. Наприклад можна запустити headless сервер на Debian)
  • Гра запускається миттєво і завантажує збереження (світ), який був переданий у опціях запуску.
  • Сервер не поміщає гравця в грі, як це робить звичайний хост.
  • Гра зупиняється, коли на сервері відсутні гравці.
  • При закриття сервера, зберігається гра. (Так само нормально функціонує автосейв)

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

Трохи нижче розташована інструкція для запуску сервера на Windows або Linux

Windows / Steam версія

Створення server.bat для Steam версії гри

Windows / стандартну версію

  • Створіть світ в звичайній грі, якщо у вас його ще немає. Збережіть його і запам'ятайте його назву.
  • Відкрийте папку установки factorio
  • Для x64 систем за замовчуванням
  • Для x32 систем за замовчуванням

Далі не має значення, Steam або звичайна у вас версія гри

  • Створіть текстовий файл і відкрийте його для редагування Notepad'ом
  • Скопіюйте в нього наступне
  • Замініть ВАШЕСОХРАНЕНІЕ на ваше назва світу
  • Збережіть файл, назвавши його server.bat. ВАЖЛИВО: При збереженні виберіть тип файлу 'Все файли'.
  • Використовуйте server.bat, щоб запустити сервер.
  • Щоб закрити сервер, використовуйте поєднання клавіш Ctrl + C. Тільки у такий спосіб ви завершите сервер нормально і він збереже гру перед завершенням.

Даний гайд був перевірений на Debian версії 8.2 jessie. Так само він не пояснює настройку firewall, в Debian цим промишляє старий добрий iptables, а для цього є Google. Так само даний гайд має на увазі, що у вас є хоч якесь уявлення про роботу Linux, інакше ви приречені;)

І так, ви вирішили використовувати headless сервер на Linux, в нашому випадку на Debian, ну що ж, приступимо:

  • Створіть папки mods, saves
  • Завантажте попередньо створений світ в factorio / saves
  • Швидше за все вам потрібно встановити libasound2
  • Спробуйте запустити сервер
  • Якщо сервер не запустився, лаючись на відсутність потрібних бібліотек, то встановити їх можна просто пошукавши в репозиторіях з консолі
  • З великою ймовірністю ця бібліотека знайдеться в репозиторіях, якщо немає, то пошукайте в Google або напишіть на нашому форумі.
  • Встановити бібліотеку можна командою
  • Спробуйте знову запустити сервер, якщо він знову не запустився, повторіть попередні два пункти
  • Ви можете побачити список використовуваних бібліотек сервером

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

Як не дивно, є спосіб запуску сервера в 0.11.X версії гри, але він трохи потребує доопрацювання.

Що необхідно зробити 0.11.x:

Ігрові режими

Кооператив

  • PvP з можливістю створювати своїх кусак (застарілий)
  • Зараз (0.12.x) можна вручну, через ігрову консоль, поміняти угруповання] для кожного з гравців. Наприклад для гравця (в одиночній грі) можна поміняти угруповання на 'нейтрали' наступною командою:

угруповання

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

Створюємо угруповання з назвою "force 1". угруповання "player" використовується для всіх гравців за замовчуванням угруповання "enemy" використовується для кусак угруповання "neutral" особлива, вона не ворожа, може взаємодіяти з іншими угрупуваннями і так само її можуть використовувати інші угруповання. Змінює гравцеві з ім'ям "friend 1" угруповання на "force 1" дає вказівку угрупованню "force 1" атакувати іншу угруповання з ім'ям "force 2", але не навпаки. список всіх угрупувань, що існують в даному світі

Технічні подробиці

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

І пам'ятайте, що factorio 0.11.x не розрахована на гру в інтернет мережах з великою затримкою.

більше гайдів

більше порад

  • клавіша для консолі відкриває чат, для мультиплеєра. Щоб виконати команду, вам потрібно написати '/ c' перед самою командою.
  • Можна поміняти колір гравця наступною командою

Де "friend 1" нікнейм гравця. r. g і b для червоних, зелених і синіх кольорів відповідно. a для альфа каналу. Можливі значення від 0 до 1. Тут можна подивитися поширені кольори.

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