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. Тут можна подивитися поширені кольори.