Игрок
Содержание:
- Steam engine power
- Types of modules
- Мультиплеерные команды
- Продвинутое
- Автоматизация исследования
- Nests
- Most downloaded mods
- Bob’s Functions Library mod
- Bob’s Metals, Chemicals and Intermediates
- Bob’s Adjustable Inserters
- Bob’s Assembling machines
- Squeak Through
- LTN — Logistic Train Network
- Angel’s Refining
- Helmod: assistant for planning your base.
- Angel’s Petrochemical Processing
- История изменений
- Inventory manipulation scripts
- Манипуляции с инвентарем
- Электроэнергия
- Dedicated/Headless сервер
- Modding tools
- Инструменты для моддинга
- Игра через LAN / Интернет
Steam engine power
Each steam engine needs 0.5 boilers when running at full capacity. One offshore pump can supply 20 boilers and 40 steam engines.
The above ratio can be calculated from information available in-game: One boiler consumes 1.8MW of fuel and produces energy stored in steam at 100% efficiency. One steam engine consumes 900kW of energy stored in steam, so each boiler can supply 2 steam engines: . One steam engine consumes 30 steam per second, and one offshore pump produces 1200 water per second, so each offshore pump produces enough water to supply 40 steam engines: . The number of boilers can be derived from the number of steam engines: . This produces the 1:20:40 ratio.
A possible setup
Types of modules
There are three types of modules in Factorio, each with 3 tiers of effect. Higher tiers have stronger effects but are more expensive. Note that the machine’s properties (speed, energy consumption and pollution) cannot be reduced below 20% of the original value.
Speed module
Speed modules increase the speed and energy consumption of a machine.
Module | Speed bonus | Energy consumption |
---|---|---|
+20% | +50% | |
+30% | +60% | |
+50% | +70% |
Advantages & Disadvantages:
- Increases speed of machine.
- If used with productivity modules, it can increase the efficiency of the machine in terms of items produced per joule (or items produced per pollution generated).
-
Increases energy use per cycle (exceptions exist).
Increased energy usage means increased pollution generation (pollution depends on power usage).
Productivity module
Productivity modules add a purple «productivity bar» when placed inside item-producing buildings and labs. If the productivity bar is already present through completed research, the modules will simply speed up the bar. Each time the machine finishes crafting the recipe it is set to, an amount is added to the bar equal to the percentages of the productivity modules inside the machine. When the bar reaches 100%, an extra set of products is immediately generated without consuming any resources.
Module | Productivity bonus | Energy consumption | Speed | Pollution multiplier |
---|---|---|---|---|
+4% | +40% | -5% | +5% | |
+6% | +60% | -10% | +7% | |
+10% | +80% | -15% | +10% |
Advantages & Disadvantages:
- Creates an additional free item occasionally.
- Increases energy use per cycle.
- Increases pollution generated.
- Slows the machine.
Efficiency module
Efficiency modules reduce the required electricity to run the machine. The lowest amount of energy that efficiency modules can be used to achieve is 20% of the machine’s base energy usage.
Module | Energy consumption |
---|---|
-30% | |
-40% | |
-50% |
Advantages & Disadvantages:
-
Reduces energy use per cycle.
Decreased energy usage means decreased pollution generation (pollution depends on power usage).
- Cannot lower energy usage below 20%.
- If used with productivity modules, sometimes the efficiency gain is lower than what a speed module could achieve.
Мультиплеерные команды
Команда | Пример | Описание | Только для админа |
---|---|---|---|
<message> | Всем привет! | Если ввод текста в консоли не начинается с символа , то оно обрабатывается как сообщение другим игрокам. | Нет |
/admin | /admin | Открывает интерфейс игроков. | Да |
/ban <player> <reason> | /ban xTROLLx Throwing grenades in base | Выдача бана конкретному игроку. | Да |
/bans | /bans | Выводит список забаненых игроков. | Нет |
/banlist <add/remove/get/clear> <player> | /banlist get | Добавляет или удаляет игрока из банлиста. Тоже что и /ban или /unban. | Нет |
/config <get/set> <option> <value> | /config set password hunter2 | Выводит или устанавливает различные настройки мультиплеера. Доступные настройки: afk-auto-kick, allow-commands, allow-debug-settings, autosave-interval, autosave-only-on-server, ignore-player-limit-for-returning-players, max-players, max-upload-speed, only-admins-can-pause, password, require-user-verification, visibility-lan, visibility-public. | Да |
/delete-blueprint-library <player> | /delete-blueprint-library everybody confirm | Удаляет содержимое библиотеки чертежей выбранного игрока находящегося в не сети. Ввод “everybody confirm” удаляет содержимое библиотеки для всех игроков. | Да |
/demote <player> | /demote AzureDiamond | Снимает с игрока права админа. | Да |
/ignore <player> | /ignore Cthon98 | Игнорирует сообщения от выбранного игрока. Не работает для на админе. | Нет |
/ignores | /ignores | Выводит список игнорируемых игроков. | Нет |
/kick <player> <reason> | /kick xTROLLx Throwing grenades in base | Кикает выбранного игрока. | Да |
/mute <player> | /mute Cthon98 | Запрещает отправление сообщений в чат выбранному игроку. | Да |
/mutes | /mutes | /mute для всех игроков. | Нет |
/open <player> | /open AzureDiamond | Открывает инвентарь другого игрока. | Да |
/o <player> | /o AzureDiamond | Тоже, что и /open. | Да |
/players [online/o/count/c] | /players | Выводит список всех игроков в игре. (параметр online/o выводит только тех игроков, которы находятся в онлайне; count/c выводит только количество игроков) | Нет |
/p [online/o/count/c] | /p o c | Тоже, что и /players. | Нет |
/promote <player> | /promote AzureDiamond | Наделяет игрока правами админа. | Да |
/purge <player> | /purge Cthon98 | Удаляет все сообщения от игрока из истории чата. | Да |
/reply <message> | /reply oh, really? | Ответ предыдущему игроку, который упомянул вас. | Нет |
/r <message> | /r oh, really? | Тоже, что и /reply. | Нет |
/server-save | /server-save | Сохраняет игру на сервере в мультиплеере. | Да |
/shout <message> | /shout Hello world! | Отправляет сообщение всех игрокам, включая другие стороны. | Нет |
/s <message> | /s Hello world! | Тоже, что и /shout. | Нет |
/swap-players <player> | /swap-players AzureDiamond | Переключение между своим персонажем и персонажем другого игрока или переключение между персонажами выбранных игроков. | Да |
/unban <player> | /unban xTROLLx | Разбан игрока. | Да |
/unignore <player> | /unignore Cthon98 | Разрешает получение сообщений от игрока. | Нет |
/unmute <player> | /unmute Cthon98 | Разрешает отправлять игроку сообщения в чат. | Да |
/whisper <player> <message> | /whisper AzureDiamond that’s what I see | Отправляет сообщение выбранному игроку. | Нет |
/w <player> <message> | /w AzureDiamond that’s what I see | Тоже, что и /whisper. | Нет |
/whitelist <add/remove/get/clear> | /whitelist get | Добавляет или удаляет игрока из вишлиста (белый список), списка игроков, которые могут присоединится к игре. Ввод “get” без имени игрока выводит список игроков отмеченных в вишлисте. Пустой вишлист означает, что к игре могут присоединится все желающие. | Нет |
Продвинутое
Крафт предметов может быть автоматизирован. Чтобы автоматически создавать предметы, для этого поместите сборочный автомат и выберите рецепт
Обратите внимание, если рецепт достаточно сложный, могут потребоваться более высокие уровни сборочных автоматов. Затем поместите все требуемые ингредиенты во входные слоты, и сборщик должен создать предмет
Заметьте, что в отличие от ручного изготовления, в автоматизированном нужно строить цепочки сборщиков для производства промежуточных компонентов. Например, для изготовления лампы требуется сборщик для изготовления медного провода, сборщик для изготовления железных прутьев, сборщик для изготовления электросхем и т.д.. Сборочные автоматы не могут автоматически создавать предварительные компоненты как игрок.
Для поддержания непрерывного производства ингредиенты должны быть обеспечены с помощью конвейеров и манипуляторов. Изготовленные изделия также могут быть извлечены манипулятором и затем использоваться в другом месте.
Автоматизация исследования
Итак, уже много что произошло. Теперь нам нужно перейти к следующему этапу игры и начать исследовательский бум. Для этого нам нужно автоматизировать производство исследовательских пакетов и их доставку в лаборатории. После этого мы не будем отвлекаться на исследования.
Вариантов размещения может быть уйма, я вам покажу общий принцип, просто для понимания как все устроено. Я настоятельно рекомендую вам следующим исследованием взять Логистику и вручную создать пакеты, которые для этого потребуются. Логистика даст вам важные штуки: разделители, подземные конвейеры и быстрые манипуляторы. Разделители и подземные конвейеры – одни из самых важных вещей на этом этапе. Собственно они делают то, о чем подсказывают их названия.
Итак, что требуют исследовательские пакеты? Нам нужны медные плиты и железные шестерни. До этого мы занимались только с сырьем, как же нам делать предметы? Сборочный автомат – это ответ на наш вопрос. Разместив его и открыв меню можно указать, что бы вы хотели сделать с его помощью. Теперь осталось загрузить компоненты будущего предмета и сборочный автомат начнет производство. Затем нужно будет извлечь готовый продукт. В случае с крансными исследовательскими пакетами нам нужен сборочный автомат, который делает шестеренки и автомат, которые делает собственно исследовательские пакеты. Неплохим вариантом будет проложить конвейер с одной стороны, который будет доставлять медные плиты, и еще один конвейер, который будет доставлять шестеренки, вышедшие из другого сборочного автомата.
На этой картинке есть еще несколько милых хитростей, о которых я расскажу поподробней. Если детали идут по разным конвейерам, у вас могут возникнуть трудности, чтобы забрать детали с дальнего конвейера. Да, можно использовать длинный манипулятор, но вы можете по каким-либо причинам не хотеть его использовать (например вам нужен быстрый манипулятор, чтобы быстро закидывать детали в сборочный автомат).
В красной рамке показано, как решить эту проблему. Разделителем вы можете отвести одну линию поближе, оставляя основную магистраль для дальнейшего использования. Мы также использовали подземный конвейер для меди, чтобы уйти с территории, в настоящий момент использующейся для работы, при этом магистраль также свободно проходит дальше для наших нужд. Еще раз: это лишь один возможный способ, которому вы вовсе не обязаны следовать.
В синей рамке показан способ позволить меди идти по магистрали, забрав отведя ветку для наших исследовательских пакетов
Обратите внимание, еще один маленький кусочек конвейера и теперь медь поменяла свое направление и идет по правой (ближней) стороне, оставляя дальнюю сторону для выгрузки шестеренок. Дальше просто: шестеренки и медь помещается в автоматы, выходят исследовательские пакеты
Флаконы направляются к лабораториям, где вы исследуете что хотите, вот пример:
Nests
The spawn points of biters and spitters. While nests themselves are generally defenseless, the enemies they release over time effectively serve as a form of guards to distract the player and any nearby turrets, and are often accompanied by worms. Nests exposed to pollution will use it to send enemies to join attacks. Enemies not engaged in combat may seek out the nearest nest for protection.
The nests are highly resistant to fire and otherwise generally more resilient than a medium worm.
Picture | Name | Description |
---|---|---|
Biter’s nest |
Resistances:
|
|
Spitter’s nest |
Resistances:
|
Expansions
Every 4-60 minutes, a group of 5-20 biters/spitters will leave their base to create a new base which will consist of as many worms/nests as there are members in the group. This group will search for a suitable spot that’s 3-7 chunks away from existing bases. The interval between enemy expansions is global, and the higher enemy evolution, the shorter the interval is on average. Furthermore, with higher evolution, the groups are bigger on average.
Most downloaded mods
1
2
174
175
Bob’s Functions Library mod
by Bobingabout
Adds a series of useful functions used by Bob’s Mods. These can easilly be used by other mods too.
5 months ago
0.13 — 1.1
1575549
Libraries
Download
by orzelek
Overhauls resource spawning system.
a month ago
0.14 — 1.1
1570635
General
Download
by Bobingabout
Adds logistic related things.
6 months ago
0.13 — 1.1
1458242
Logistics
Download
Bob’s Metals, Chemicals and Intermediates
by Bobingabout
Smelt extra ores into plates, and make useful intermediate products.
A key part of the Bob’s mods suite.
6 months ago
0.13 — 1.1
1296584
Manufacture
Download
by Bobingabout
Adds new power structures.
6 months ago
0.13 — 1.1
1267615
Power production
Download
Bob’s Adjustable Inserters
by Bobingabout
Adds hotkeys and a GUI to adjust inserter pickup and drop locations.
10 months ago
0.13 — 1.1
1235568
Logistics
Download
by Bobingabout
Make things for warfare.
6 months ago
0.13 — 1.1
1183540
Weapons
Download
Bob’s Assembling machines
by Bobingabout
Adds assembling machines 4, 5 and 6. And other machine higher tiers too.
6 months ago
0.13 — 1.1
1182112
Manufacture
Download
Squeak Through
by Supercheese
Allows you to walk between what used to be obstacles such as directly adjacent solar panels, pipes, steam engines, mining drills, and chests. No more frustration when walking about your base!
7 months ago
0.13 — 1.1
1120903
General
source code
Download
by Bobingabout
Adds some useful mining tools and entities.
6 months ago
0.13 — 1.1
1109457
Mining
Download
by Bobingabout
Research expansion
6 months ago
0.13 — 1.1
1075891
General
Download
by trold
A tool for locating input starved machines.
10 months ago
0.13 — 1.1
1057706
Info
source code
Download
by Bobingabout
Adds a whole new electronics production chain.
8 months ago
0.13 — 1.1
1053559
General
Download
by Bobingabout
Technology and Recipe restructuring.
6 months ago
0.13 — 1.1
1037331
Balancing
Download
LTN — Logistic Train Network
by Optera
Adds logistic-train-stops acting as anchor points for building a fully automated, train logistic network.
It can handle all possible train configuration. Just send all trains to depots and LTN will pick the best suitable train for a job.
LTN cuts the amount of rolling stock required to run a megabase down to 30% or less.
With cargo ships installed also adds a logistic port for ships.
3 months ago
0.14 — 1.1
1020799
Trains
source code
Download
Angel’s Refining
by Arch666Angel
Adds ore refining to the game. Compound ores have to be refined before you are able to smelt and cast them into plates. Works best in conjunction with Bobmods and supports additional mods like Yuoki Industries, Uranium Power and Nucular.
2 months ago
0.14 — 1.1
1017250
Mining
source code
Download
Helmod: assistant for planning your base.
by Helfima
Assistant to plan its base. calculates the needs, resources, factories, beacon or electric power.
7 months ago
0.14 — 1.1
1016466
Helper Mods
source code
Download
by Bobingabout
Adds some useful ores.
6 months ago
0.13 — 1.1
1011912
Mining
Download
by Bobingabout
Expansion to the Modules system.
10 months ago
0.13 — 1.1
995576
General
Download
Angel’s Petrochemical Processing
by Arch666Angel
Angel’s Petrochemical processing changes Oil processing and adds Gas processing, as well as a more complex web of chemical production. Includes overrides and tie-ins to Bob’s technologies and recipes. Dependencies: Angel’s Refining
2 months ago
0.14 — 1.1
904136
Oil
source code
Download
История изменений
-
Излишки, получаемые в процессе создания теперь снова доступны для производства других предметов. Для примера, создание двух зелёных микросхем теперь не будет оставлять двух дополнительных медных кабелей в инвентаре игрока. Это применимо только для предметов, поставленных в очередь производства друг с другом (например, 5 зелёных микросхем). Предметы, которые игрок запросил по отдельности не будут использованы для потребностей любых дальнейших заказов..
:
-
Броня имеет бонусы к размеру инвентаря (10 для модульной брони, 20 для силовой и 30 для силовой брони мк2).
:
-
Изменено быстрое перемещение из основного инвентаря игрока, так что ctrl+клик на пустых слотах не переместят предметы в логистические мусорные слоты..
:
-
Новые эффекты дульной вспышки.
:
-
Улучшена анимация бега игрока.
:
-
Новая анимация игрока, в зависимости от брони
:
-
Добыча сундука теперь прерывается вместо того чтобы разбросать предметы по земле.
:
-
:
- Игрок получает раздельное предупреждающее уведомление когда его строение уничтожают.
- Интерфейс рецептов показывает не доступные для ручного создания рецепты (однако, подсказки к ним показывают в какой машине их можно создать).
-
:
- Игрок начинает игру с одним твердотопливным буром и одной каменной печью в режиме свободной игры.
- Игрок может чинить строения при помощи ремкомплектов.
-
Игрок двигается медленнее во время стрельбы.
:
-
Игроку добавлена возможность запрашивать предметы напрямую при помощи логистических дронов.
:
-
:
- Теперь игрок поднимает все предметы в радиусе, вместо того чтобы поднимать один предмет за тик.
- Добавлены партиклы стрельбы.
-
Игрок не застревает в углах.
:
-
:
- Игрок больше не соприкасается с подземным конвейером.
- Добавлено самонаведение для оружия.
-
Добавлено предупреждающее сообщение когда игрок пытается построить здание в неподходящем месте.
:
-
:
- Экран краснеет при получении урона.
- Добавлены анимации для персонажа.
-
Первое появление.
:
Inventory manipulation scripts
Allows for infinite free crafting. Disable by replacing true with false.
c game.player.cheat_mode=true
Refill resources (refill oil, iron etc.)
While holding the cursor over a resource tile in-game
c game.player.selected.amount=7500
Alternatively you can refill all resources in the map with the following command. Change ore.amount to the desired value.
c surface = game.player.surface for _, ore in pairs(surface.find_entities_filtered({type="resource"})) do ore.amount = 10000 end
Add items to the player’s inventory
Replace iron-plate with the internal name of the item desired.
c game.player.insert{name="iron-plate", count=100}
For instance, here’s a stack of the god-mode energy system interface:
c game.player.insert{name="electric-energy-interface"}
Add a powerful armor with equipment and some tools for construction:
c local player = game.player player.insert{name="power-armor-mk2", count = 1} local p_armor = player.get_inventory(5)[1grid p_armor.put({name = "fusion-reactor-equipment"}) p_armor.put({name = "fusion-reactor-equipment"}) p_armor.put({name = "fusion-reactor-equipment"}) p_armor.put({name = "exoskeleton-equipment"}) p_armor.put({name = "exoskeleton-equipment"}) p_armor.put({name = "exoskeleton-equipment"}) p_armor.put({name = "exoskeleton-equipment"}) p_armor.put({name = "energy-shield-mk2-equipment"}) p_armor.put({name = "energy-shield-mk2-equipment"}) p_armor.put({name = "personal-roboport-mk2-equipment"}) p_armor.put({name = "night-vision-equipment"}) p_armor.put({name = "battery-mk2-equipment"}) p_armor.put({name = "battery-mk2-equipment"}) player.insert{name="construction-robot", count = 25}
Increase player inventory slots
Gives 100 additional bonus inventory slots to your entire force. Used by the Toolbelt (research).
c game.player.force.character_inventory_slots_bonus=100
Манипуляции с инвентарем
Чит режим
Бесконечный крафт предметов. Чтобы отключить эту функцию, необходимо true заменить на false.
c game.player.cheat_mode=true
Пополнение ресурсов (нефть, железо и т.п.)
При вводе, курсор необходимо удерживать над месторождением.
c game.player.selected.amount=7500
Командой ниже можно пополнить все месторождения на карте. Измените ore.amount на желаемое значение.
c surface = game.player.surface for _, ore in pairs(surface.find_entities_filtered({type="resource"})) do ore.amount = 10000 end
Получение предметов
Замените iron-plate на желаемый предмет в соответствии с его наименованием.
c game.player.insert{name="iron-plate", count=100}
Например, так можно получить интерфейс электроэнергии.
c game.player.insert{name="electric-energy-interface"}
Следующий код позволяет получить мощную броню с модулями и инструментами для строительства:
c local player = game.player player.insert{name="power-armor-mk2", count = 1} local p_armor = player.get_inventory(5)[1grid p_armor.put({name = "fusion-reactor-equipment"}) p_armor.put({name = "fusion-reactor-equipment"}) p_armor.put({name = "fusion-reactor-equipment"}) p_armor.put({name = "exoskeleton-equipment"}) p_armor.put({name = "exoskeleton-equipment"}) p_armor.put({name = "exoskeleton-equipment"}) p_armor.put({name = "exoskeleton-equipment"}) p_armor.put({name = "energy-shield-mk2-equipment"}) p_armor.put({name = "energy-shield-mk2-equipment"}) p_armor.put({name = "personal-roboport-mk2-equipment"}) p_armor.put({name = "night-vision-equipment"}) p_armor.put({name = "battery-mk2-equipment"}) p_armor.put({name = "battery-mk2-equipment"}) player.insert{name="construction-robot", count = 25}
Увеличение слотов инвентаря игрока
Дает 100 дополнительных слотов. Используется пояс для инструментов.
c game.player.force.character_inventory_slots_bonus=100
Электроэнергия
Электричество. Вот теперь дело пойдет еще интересней. Итак, нам потребуется один насос, несколько бойлеров и паровой двигатель. Их сделать несложно. Насос запихиваем в воду – для его работы энергии не требуется. Можно использовать трубы, чтобы доставить воду к бойлерам, а можно просто поставить бойлеры сразу за насосом. Бойлеры, как и трубы, позволяют воде течь из одного в другой, за исключением того, что они также нагревают воду и их нельзя использовать в качестве углов. Бойлеры или трубы затем должны присоединиться к середине узкой стороны парового двигателя. Убедитесь, что подключили их куда надо, иначе ничего работать не будет. Кстати, паровой двигатель также пропускает воду, так что вы можете поставить несколько двигателей один за другим. Вот маленький пример.
Теперь вам понадобятся столбы, чтобы доставить энергию вашим машинам. Воткните несколько так, чтобы их зона покрытия (голубой квадрат) накрывал каждый двигатель хотя бы чуть-чуть. Если у вас получилось, машины, попавшие в зону действия будут подсвечены голубой линией по краям.
Если двигатель проивзодит, но электричество никуда не расходуется, будет висеть желтый мигающий значок: сейчас он есть, потому что у нас нет устройств, работающих на электричестве!
Ваша энергетическая сеть может быть устроена так, как вам удобно.
Лучший способ – это иметь ряд бойлеров, которые снабжают кипятком определенное количество паровых двигателей, а затем подвести конвейер для загрузки угля в бойлеры с помощью манипуляторов.
Чаще всего используют 1 насос, 14 бойлеров и 10 двигателей. Это обеспечивает максимальную загрузку всех трех элементов. 1 насоса достаточно для того, чтобы обеспечить водой 10 двигателей, а 14 бойлеров достаточно, чтобы нагреть воду для этого же числа. Пример выше легко можно развить до этого эффективного числа. Но постойте! Эта игра про экспериментирование, так что ищите свой собственный путь! Придумайте свои уникальный дизайн!
Это моя любимая конфигурация. Запитать ее будет еще проще, когда станут доступны средние столбы ЛЭП.
Наладить сбыт энергии тоже достаточно просто – протяните провода до электрических машин так, чтобы зона действия столба накрывала машины, в точности так, как вы сделали с двигателями. Только проверьте, что ЛЭП действительно соеденина с электростанцией.
Теперь, когда мы познакомились с электричеством, время еще больше увеличить уровень производства.
Кстати, если вам нужны подробности по производству/потреблению электроэнергии, можете щелкнуть по любому столбу и получить исчерпывающий отчет по электроэнергии всей сети.
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 Files\Factorio\bin\x64\
Для x32 систем по умолчанию
C:\Program Files\Factorio\bin\x32\
Далее не имеет значение, 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:
Modding tools
A list of the internal names of most things in the vanilla game can also be found on data.raw.
Access a mod’s data
If the first word of the command is __mod-name__ it will run in the context of the mod with the same name. For instance, this command prints the data from Resource Spawner Overhaul:
c __rso-mod__ game.player.print(serpent.dump(global))
Write all researched technologies to file
c local list = {} for _, tech in pairs(game.player.force.technologies) do if tech.researched then list#list+1 = tech.name end end game.write_file("techs.lua", serpent.block(list) .. "\n", true)
Write all enabled recipes to file
c local list = {} for _, recipe in pairs(game.player.force.recipes) do if recipe.enabled then list#list+1 = recipe.name end end game.write_file("recipes.lua", serpent.block(list) .. "\n", true)
Write mod list to file
Write all currently active mods and their version to the file script-output/mods.txt in the user data directory.
c game.write_file("mods.txt", serpent.block(game.active_mods))
Инструменты для моддинга
Список всех объектов и предметов игры можно найти в data.raw.
Доступ к данным мода
__rso-mod__ — это название мода в формате __mod-name__. Указание __mod-name__ в начале строки заставляет работать код в контексте указанного мода. Ниже представлен код, выводящий информацию моде Resource Spawner Overhaul.
c __rso-mod__ game.player.print(serpent.dump(global))
Вывод всех исследованных технологий в файл
Файл отправится в директорию приложения в подкаталог «script-output».
c local list = {} for _, tech in pairs(game.player.force.technologies) do if tech.researched then list#list+1 = tech.name end end game.write_file("techs.lua", serpent.block(list) .. "\n", true)
Вывод всех доступных рецептов в файл
Файл отправится в директорию приложения в подкаталог «script-output».
c local list = {} for _, recipe in pairs(game.player.force.recipes) do if recipe.enabled then list#list+1 = recipe.name end end game.write_file("recipes.lua", serpent.block(list) .. "\n", true)
Вывод списка модов в файл
Записывает все текущие активные моды и их версии в файл script-output/mods.txt находящейся в директории приложения.
c game.write_file("mods.txt", serpent.block(game.active_mods))
Игра через LAN / Интернет
Игра через интернет не гарантируется в 0.11.x версии игры. Количество лагов в игре зависят от скорости соединения и задержек между всеми игроками. С 0.12.x версии стало более комфортно играть через интернет, т.к. появилась функция «скрытия задержки», но она по прежнему не идеальна из-за схемы p2p, где принимается наихудшее соединение из игроков для всех.
- Все игроки должны иметь одинаковые версии игры и модов.
- Желательно всем игрокам, кроме хоста выключить автосохранение.
- По умолчанию factorio использует порт 34197. Порт можно изменить тут.
- Factorio использует протокол UDP, так что убедитесь, что ваш роутер сконфигурирован корректно.
- В игре реализован свой протокол доставки пакетов, построенный на UDP протоколе, для уменьшения потерь пакетов и проблем с порядком доставки пакетов
- Убедитесь, что у вас правильно сконфигурирован firewall и ваше антивирусное ПО не блокирует UDP пакеты.
- Хосту игры обязательно иметь белый (видно из интернета) IP адрес, чтобы другие игроки могли подключиться к вам.
- Теоретический лимит игроков равен . 🙂
Голосовой чат
Рекомендуется использовать TeamSpeak, Skype, RaidCall, Discord, т.к. в игре желательно активное координация действий (постройка, отражение атак и т.д.). Сервера TeamSpeak можно найти на форуме.
Поиск игроков
- Большинство игроков не имеют белый IP адрес и активно используют различное ПО, предоставляющее VPN туннели, между игроками, к примеру Hamachi или Evolve.