In other languages: English

User:LagExpress/Multiplayer/es: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Languages}}
{{Languages}}{{Translation verification|revisionID=194241}}
{{DISPLAYTITLE:Multijugador|noerror}}
{{DISPLAYTITLE:Multijugador|noerror}}
En adición a ser un juego para un solo jugador, Factorio también ofrece un modo multijugador, permitiendo que múltiples jugadores cooperen y se ayuden entre sí, o trabajen contra el otro en JcJ. Esta página documenta cómo configurar una partida multijugador y cómo unirte a una. De forma predeterminada, las partidas multijugador ejecutan el escenario de [[Game modes and options/es|juego libre]] CO-OP donde todos los jugadores trabajan juntos para lanzar un cohete con un satélite al espacio. Otros escenarios, incluyendo mapas de JcJ, están disponibles para su descarga en el foro de [https://forums.factorio.com/viewforum.php?f=36&sid=93d1fbe9336d31d6bac60847b6c97985 Mapas y Escenarios].
[[File:players_colored_preview.png|190px|right]]Además del modo para un solo jugador, Factorio también ofrece un modo multijugador, permitiendo a muchos [[player/es|Jugador]]es cooperar y ayudarse mutuamente, o trabajar en contra de cada uno en PvP. Esta página documenta cómo configurar una partida multijugador, cómo unirse a una, y las funciones de administración para gestionar tanto el servidor como a otros [[player/es|Jugador]]es. Por defecto, las partidas multijugador ejecutan el escenario de juego cooperativo [[Game modes and options/es|Modo libre]] donde todos los [[player/es|Jugador]]es trabajan juntos para lanzar un cohete con un satélite al espacio. Otros escenarios, incluyendo mapas PvP, están disponibles para descargar desde el [https://forums.factorio.com/viewforum.php?f=36&sid=93d1fbe9336d31d6bac60847b6c97985 foro de Mapas y Escenarios].


== Creando Una Partida Multijugador ==
== Configurando una partida multijugador ==


Las partidas multijugador pueden ser alojadas en el cliente del juego mientras juegas o mediante un servidor dedicado. Las partidas multijugador pueden ser anunciadas en la red LAN asi como en la lista publica de partidas.
[[File:multiplayer_game_night.png|thumb|250px|Una partida multijugador.]]Es posible unirse a una partida multijugador, alojarla mientras juegas o alojarla en un servidor dedicado. Las partidas multijugador pueden ser anunciadas a otros jugadores en la misma red LAN o globalmente.


Usa el botón ''Multijugador'' del menú ''Jugar'' para empezar a jugar una partida multijugador, elige ''Nuevo juego'' o ''Cargar partida'' o ''Escenarios'' para alojar y jugar, o ''Buscar partidas públicas'' o ''Jugar en LAN'' para conectarte a una partida ya en marcha. El anfitrión también puede optar por no anunciar la partida en absoluto, en cuyo caso necesitarás la dirección IP del servidor (pública o accesible de otra manera); entonces puedes ''Conectar al servidor'' para unirte a la partida.
Para comenzar a jugar una partida multijugador, selecciona el botón Multijugador del menú principal. Luego, elige una de estas opciones para alojar y jugar:
 
'''Albergar una nueva partida''': Especifica el escenario deseado, ajusta la configuración del [[Map generator/es|generador de mapas]], y establece las etiquetas del servidor. Las etiquetas del servidor determinan cómo se anunciará tu partida a otros jugadores. Puedes elegir entre:
** '''Público''': Tu partida aparecerá en la lista de partidas públicas.
** '''Steam''': Habilita o deshabilita la función “Unirse al juego” a través de Steam.
** '''LAN''': Tu partida aparecerá en tu red local.
*'''Alojar una partida guardada''': Elige una partida guardada de la lista y establece las etiquetas del servidor como se indicó anteriormente.
 
Para unirte a una partida existente, elige una de estas opciones:
*'''Buscar partidas públicas''': Busca y únete a cualquier partida pública que cumpla con tus criterios.
*'''Buscar partidas LAN''': Únete a cualquier partida que se aloje en tu red local.
*'''Conectar con dirección''': Únete a cualquier partida ingresando la dirección IP del servidor. Esta opción es útil si el anfitrión no utiliza ninguna etiqueta de servidor.


Notas y consejos:
Notas y consejos:


* Todos los jugadores necesitan ''exactamente la misma'' version del juego y mods.
* Todas las instancias del juego deben ser ''exactamente iguales'' teniendo la misma version del juego y mods.
* Los servidores de factorio utilizan el puerto '''34197'''. El puerto puede ser cambiado en el archivo de [[Application directory/es|configuracion]].
* Los servidores de Factorio usan el puerto '''34197'''. El puerto puede ser cambiado en el archivo de [[Application directory/es|configuración]].
* Factorio utiliza solamente el puerto UDP. Asegúrate de configurar correctamente la apertura de puertos en tu router. (El juego construye su propia capa de "entrega fiable" construida sobre UDP para hacer frente a la pérdida de paquetes y problemas de reordenación.)
* Factorio utiliza '''Sólo UDP'''. El juego crea su propia capa de "entrega confiable" basada en el protocolo UDP para lidiar con problemas de reordenamiento de pérdida y reordenamiento de paquetes.
** Asegúrese de que no haya ningún firewall o antivirus bloqueando los paquetes UDP.
** Asegúrate de configurar correctamente el reenvío de puertos (apertura de puertos/port forwarding) de tu router para el puerto '''34197'''.
* The hard limit for the number of players is [https://forums.factorio.com/viewtopic.php?f=53&t=6481&p=50661#p50586 65,535]. However, practical limit for this is much lower, popular streamers have managed slightly over a hundred players.
** Asegúrate de que tu router no [https://doc.pfsense.org/index.php/Static_Port aleatorice el puerto de origen] en los paquetes salientes desde el '''34197'''. Algunos routers lo hacen y requieren [https://forum.pfsense.org/index.php?PHPSESSID=3k4h9n5o2tksgqv910fknf7qt7&topic=142188.msg798594#msg798594 una configuración adicional] para evitarlo.
** Asegúrate de que no haya ningún firewall o antivirus bloqueando los paquetes UDP.
* El límite duro para el número de jugadores es [https://forums.factorio.com/viewtopic.php?f=53&t=6481&p=50661#p50586 65,535]. Sin embargo, el límite práctico para esto es mucho menor, algunos streamers populares han logrado conectar a cientos de jugadores en una misma partida.


=== Servidor Dedicado/Headless ===
=== Servidor dedicado/headless ===


As of Factorio version 0.12.0 onwards, a dedicated (or headless) server can be started using the --start-server command line option. You can run factorio --help to get a list of all command-line arguments that Factorio accepts.
A partir de la versión 0.12.0 de Factorio, se puede iniciar un servidor dedicado (o headless) utilizando el parámetro ''--start-server'' en la línea de comandos. Puedes utilizar el parámetro --help para obtener una lista completa de los parámetros que Factorio acepta.


In the headless mode:
En el modo headless:
* Graphics are not initialized (faster start up, less memory usage, works on completely headless servers)
* No se inicializan los gráficos (inicia más rápido, consume menos memoria, funciona en servidores sin interfaz gráfica)
* Game starts immediately and loads a save given as a parameter to the command
* El juego comienza inmediatamente y carga el archivo de guardado que se ha colocado como argumento en los parámetros
* The server has no character in game
* El servidor no tiene personaje en el juego
* Game is paused while there are no players connected (though this can be overridden using the --no-auto-pause option)
* El juego se pausa mientras no hay jugadores conectados (aunque esto puede ser anulado usando la opción no-auto-pause en el archivo server-settings.json)
* Saves the game on exit (and autosaves normally)
* La partida se guarda al salir (y se guarda automáticamente de forma normal)


''Please note that there has been a slight change between 0.12, 0.13 and 0.14 in how --start-server (and others) interpret the given parameter. Version 0.12 expected --start-server to be followed by a save name, that was to be found in the saves directory. 0.13 instead expects --start-server to be followed by a path to a save file. I.e. if you did '''factorio --start-server foo''' in 0.12, you probably want to use '''factorio --start-server saves/foo.zip''' in 0.13.''
''A partir de la versión 0.13 se espera que --start-server sea seguido por una ruta a un archivo de guardado.''


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 using the --create command-line argument. For example:
Necesitaras crear tu archivo de guardado antes de iniciar el servidor, ya que el servidor dedicado REQUIERE que se proporcione un archivo de guardado. Esto se puede hacer fácilmente utilizando el parámetro de la línea de comandos ''--create''. Por ejemplo:


<pre>
<pre>
./bin/x64/factorio --create ./saves/my-save.zip      # This creates a new save, as if by clicking the New Game button in the GUI
./bin/x64/factorio --create ./saves/partida.zip      # Esto crea un nuevo archivo de guardado como si hubieras hecho click en el botón ''Nuevo Juego'' en la interfaz grafica
</pre>
</pre>


<pre>
<pre>
./bin/x64/factorio --start-server ./saves/my-save.zip # This starts a server that will host the file created on the previous line
./bin/x64/factorio --start-server ./saves/partida.zip # Esto inicia un servidor que alojará el archivo creado con el comando anterior
</pre>
</pre>


There are several JSON configuration files that factorio can make use of to change the server and map settings:
Hay varios archivos de configuración JSON que Factorio puede utilizar para cambiar la configuración del servidor y del mapa:
* '''map-gen-settings''' to set parameters used by the map generator such as width and height, ore patch frequency and size, etc. (Added in 0.13)
* '''map-gen-settings''' para establecer parámetros utilizados por el [[Map generator/es|generador de mapas]] como ancho y alto, frecuencia y tamaño de los parches de mineral, etc. (Añadido en versión 0.13)
* '''map-settings''' to control pollution spread, biter expansion and evolution, and more (Added in 0.15)
* '''map-settings''' para controlar la propagación de la contaminación, la expansión y evolución de los biters, y más (Añadido en la versión 0.15)
* '''server-settings''' which consolidated several command-line options into a single file (Added in 0.14.12)
* '''server-settings''' consolida múltiples opciones de la línea de comandos en un solo archivo (Añadido en la versión 0.14.12)
Example files for each of these parameters are included in the data subdirectory.
Los archivos de ejemplo para cada uno de estos parámetros están incluidos en el subdirectorio ''data'', y también son visibles en el GitHub de Wube aquí: https://github.com/wube/factorio-data


The --map-gen-settings and --map-settings options must be used with the --create option when you create a new map.  For example:
<pre>./bin/x64/factorio --create saves/my-save.zip --map-gen-settings my-map-gen-settings.json --map-settings my-map-settings.json</pre>


Starting the factorio server requires you to specify the location of the server-settings.json file. By default this is in the factorio data folder. For example to start factorio using the most recent saved map, you would run:
Los parámetros --map-gen-settings y --map-settings deben ser utilizados junto a --create cuando creas un nuevo mapa. Por ejemplo:
 
<pre>./bin/x64/factorio --create saves/partida.zip --map-gen-settings my-map-gen-settings.json --map-settings my-map-settings.json</pre>
 
Iniciar el servidor de factorio requiere que especifiques la ubicación del archivo server-settings.json que se encuentra por defecto en la carpeta ''data'' de factorio. Por ejemplo para iniciar factorio utilizando la partida más reciente, ejecutarías:


<pre>./bin/x64/factorio --start-server-load-latest --server-settings ./data/server-settings.json</pre>
<pre>./bin/x64/factorio --start-server-load-latest --server-settings ./data/server-settings.json</pre>


=== Setting up a Linux Factorio server ===
En Windows puede ser útil iniciar el servidor con un archivo ''.bat''. El archivo debe poseer el siguiente contenido:


'''Note:''' Factorio now requires <tt>glibc</tt> version 2.18, but CentOS/RHEL 7 only ship with version 2.17 so this guide will no longer work without [https://forums.factorio.com/viewtopic.php?t=54654#p324493 manually compiling <tt>glibc</tt> 2.18].
<pre>start /wait .\bin\x64\factorio.exe --start-server-load-latest --server-settings .\data\server-settings.json</pre>


This step-by-step guide has been verified on fresh CentOS 7 and RHEL 7 installs but should be applicable with little to no changes on most distributions.
''Mira [[Command_line_parameters]] para más parámetros de la línea de comandos.''


The guide assumes you will install the headless server under '''/opt/factorio''', adjust paths according to your own setup. We will also suggest that you run the Factorio server as a separate user to harden security of your setup.
=== Configurando un servidor de Factorio en Linux ===


Note that there are two distinct packages for Linux that can be used to run a headless server. First is the usual Linux download, that contains the full game. The other is the special  [https://www.factorio.com/download-headless/stable headless package]. The headless package does not contain any files irrelevant for a pure server, such as graphics and sounds. It is also not linked against libraries that may not be present on a server machine, such as Xlib, libGL or libasound. This option should be selected if running in a 3rd party hosted server.
'''Nota:''' Factorio ahora require <tt>glibc</tt> versión 2.18, pero CentOS/RHEL 7 solo viene con la versión 2.17 por lo que esta guía ya no funcionara sin [https://forums.factorio.com/viewtopic.php?t=54654#p324493 compilar manualmente <tt>glibc</tt> 2.18].


This guide does not handle firewall/port forwarding since this can be done in various ways on Linux (make sure to read up how this is done as a Linux admin on your particular distribution)
Esta guía paso a paso ha sido verificada en instalaciones nuevas de CentOS 7 y RHEL 7, pero debería ser aplicable con pocas o ninguna modificación en la mayoría de las distribuciones.


You can use the [https://github.com/Bisa/factorio-init Linux factorio-init script] to start/stop your headless server in a much better way. The script will ensure you only ever use the most recent save when your server starts (even if that was an auto-save) while also letting you set a number of other settings like Autosave frequency and Latency settings. This script will also simplify updating the server when combined with the [https://github.com/narc0tiq/factorio-updater Linux factorio-updater script].
Esta guía asume que instalarás el servidor headless en '''/opt/factorio''', ajusta las rutas según tu propia configuración. También sugerimos que ejecutes el servidor de Factorio como un usuario separado para fortalecer la seguridad de tu instalación.


* Download the selected package -- either full game or the headless package -- and upload the Linux tar.gz or tar.xz package to your server /tmp
Ten en cuenta que hay dos paquetes distintos para Linux que se pueden usar para ejecutar un servidor headless. El primero es la descarga habitual de Linux, que contiene el juego completo. El otro es el [https://www.factorio.com/download paquete especial headless]. El paquete headless no contiene archivos que son irrelevantes para un servidor puro, como gráficos y sonidos. Tampoco está vinculado a bibliotecas que pueden no estar presentes en una máquina de servidor, como Xlib, libGL o libasound. Esta opción debe seleccionarse si se ejecuta en un servidor alojado por terceros.
* Extract the package in /tmp to /opt/factorio
 
Esta guía no toca el tema del firewall/reenvío de puertos ya que esto se puede hacer de varias maneras en Linux (asegúrate de leer cómo se hace esto como administrador de Linux en tu distribución).
 
==== Instalación básica ====
 
* Descarga el paquete seleccionado, ya sea el juego completo o el paquete headless, y sube el paquete Linux tar.gz o tar.xz al directorio /tmp de tu servidor.
* Extrae el paquete en /tmp a /opt/factorio
<pre>
<pre>
$cd /opt/
$cd /opt/


$sudo tar -xzf /tmp/factorio.tar.gz # Use the correct file name. It includes the factorio version number
$sudo tar -xzf /tmp/factorio.tar.gz # utiliza el nombre de archivo correcto, Incluye el número de versión de factorio.
$sudo tar -xJf /tmp/factorio.tar.xz # if you downloaded a .tar.xz file (ver 0.15.x)</pre>
$sudo tar -xJf /tmp/factorio.tar.xz # si descargaste un archivo .tar.xz (ver 0.15.x)</pre>


* Add a new user to your system and assign ownership of the factorio dir to it (please, do not run as the root user, sudo may be needed)
* Agrega un nuevo usuario a tu sistema y asigna la propiedad del directorio factorio a el mismo (por favor, no lo ejecutes como usuario root, puede ser necesario sudo)
<pre>
<pre>
$useradd factorio
$useradd factorio
$chown -R factorio:factorio /opt/factorio</pre>
$chown -R factorio:factorio /opt/factorio</pre>


* Try the binary
* Prueba el binario
<pre>
<pre>
$su factorio
$su factorio
$/opt/factorio/bin/x64/factorio --start-server savename</pre>
$/opt/factorio/bin/x64/factorio --start-server savename</pre>


As long as it fails saying it cannot find/open the savename.zip you are set! Just upload a save from your own computer and put it in the /opt/factorio/saves directory, or use the --create ./saves/newgame.zip argument.
¡Mientras falle diciendo que no puede encontrar/abrir savename.zip estás listo! Solo sube una partida desde tu propia computadora y colócala en el directorio /opt/factorio/saves, o usa el argumento --create ./saves/newgame.zip.
 
=== Cómo publicar en el servidor de emparejamiento una partida alojada en un servidor ===
 
Para publicar la partida en el servidor de emparejamiento, Factorio necesita recibir más información que solo la ubicación del archivo de guardado. Esta información se proporciona en un ''archivo de configuración del servidor''.


=== How to list a server-hosted game on the matching server ===
Para crear un archivo de configuración del servidor, mira el archivo de ejemplo ubicado en '''data/server-settings.example.json''' en el [[Application directory|Directorio de la aplicación]] de Factorio. La forma recomendada es hacer una copia de este archivo de ejemplo y editar la copia.


In order to publish the game to the matching server, Factorio needs to be given some more information than just the save file location. These information are provided in a ''server settings file''.
Los siguientes valores pueden ser cambiados:
; Name: Este será el nombre bajo el cual el servidor aparecerá en la lista de partidas públicas.
; Description: Una descripción de tu servidor. Puede contener hasta 5000 caracteres. [https://factorio.com/blog/post/fff-304 MP server description].
; Tags: Una lista de etiquetas de juego.
; Max Players: Te permite limitar el número de jugadores que pueden estar conectados al servidor al mismo tiempo. Si no quieres límite, simplemente establece max_players en 0.
* Visibilidad para el buscador de partidas publicas: Puede ser público, LAN u oculto.
** Public: El servidor aparecerá en la lista de servidores públicos. Esto requiere que se completen las credenciales de inicio de sesión a continuación.
** LAN: El servidor no aparecerá en la lista de servidores públicos, pero estará disponible a través del botón Jugar en LAN.
** Hidden: Los clientes tendrán que conectarse usando la dirección IP del servidor.
* Credenciales de usuario utilizando un nombre de usuario y contraseña o token de autenticación (encontrado en el sitio web de factorio o en player-data.json); Estos son necesarios si deseas hacer público el servidor. De lo contrario, pueden dejarse vacíos.
** Por razones de seguridad, se recomienda usar el token de autenticación ya que este documento se almacena como texto plano. Aunque se debe tener en cuenta que un token de autenticación también es una información sensible, y se te aconseja mantenerlo en secreto.
* Contraseña del servidor
** El nombre del campo es game_password
* Si verificar o no la identidad del usuario
(Hay valores adicionales en la v0.14 de factorio.)


To create a server settings file, look at the example file located in '''data/server-settings.example.json''' in the Factorio [[Application directory]]. The recommended way is to make a copy of this example file and edit the copy.
=== Detalles técnicos de la implementación ===


The following values can be changed:
El equipo de desarrollo ha publicado notas sobre algunos detalles técnicos relacionados con el modo multijugador en varias entradas del blog Friday Facts:
; Name: This will be the name under which the server will be listed in the server browser
; Description: A brief description of your server
; Tags: A list of game tags
; Max Players: Allows you to limit the number of players that can be connected to the server at the same time. If you want no limit, just set max_players to 0.
* Visibility for server browser: May be either public, LAN or hidden.
** Public: The server will appear in the public server list. This requires the login credentials below to be filled in.
** LAN: The server will not appear in the public server list, but will be available through the Play On LAN button
** Hidden: Clients will have to connect using the server's IP address
* User credentials using a username and password or authentication token (found on the factorio website or in the player-data.json): These are necessary if you wish to make the server public. Otherwise, they can be left empty.
** For security reasons it is recommended to use authentication token as this document is stored as plain text. Though it should be noted that an authentication token is a sensitive piece of information as well, and you are well-advised to keep it secret.
* Server Password
** Field name is game_password
* Whether to verify user identity
(There are additional values in v0.14 of factorio.)


=== Technical Implementation Details ===
* [http://www.factorio.com/blog/post/fff-76 Arquitectura lock step]
* [http://www.factorio.com/blog/post/fff-99 Conexiones cliente-servidor]
* [http://www.factorio.com/blog/post/fff-143 NAT punching, introducido en 0.13]


Notes about some technical details surrounding multiplayer have been published by the development team in several Friday Facts blog posts:
=== Registros DNS SRV ===
Factorio admite [https://www.cloudflare.com/learning/dns/dns-records/dns-srv-record/ Registros DNS SRV] desde la versión 1.1.67.


* [http://www.factorio.com/blog/post/fff-76 Lock step architecture]
Esto hace mas fácil tener varios servidores de Factorio en un mismo host y permitir que los usuarios se conecten a ellos con subdominios distintos en lugar de tener que ingresar números de puerto.
* [http://www.factorio.com/blog/post/fff-99 Client-server connections]
* [http://www.factorio.com/blog/post/fff-143 NAT punching, introduced in 0.13]


=== More Guides ===
El nombre del servicio es <code>_factorio</code> y solo admite el protocolo <code>_udp</code>.


* [https://www.chef.io/blog/2016/03/21/building-a-factorio-multiplayer-server-on-digital-ocean/ How to set up Factorio server with cookbook]
'''Ejemplo:'''
* [http://youtube.com/watch?v=MqsqRWNsbPM How To set up a Factorio Multiplayer Server | Guide | Tutorial], by Teaspoon
* [https://forums.factorio.com/viewtopic.php?f=53&t=6720 Tips to connect in multiplayer], by Nondre


=== Miscellaneous Tips ===
<pre>
* The key for [[Console|Console commands]] is also used initiate chat in multiplayer. To execute a command instead of chatting, you need to type ''/c'' before the command. Commands executed are ''visible to all players''. Additionally, the multiplayer game must have been started with commands allowable for commands to work.
Dominio: wube.software
* Set the player's color using the command
IP:    192.0.2.2
/c game.players["player_name"].color = {r=0.7, g=0.5, b=0.1, a=0.9}
Puerto:   34197
r, g and b are for red, green and blue respectively (possible values are between 0 and 1, use the right-most column on http://prideout.net/archive/colors.php to convert colors to rgb numbers). a is alpha channel aka transparency of the color to the base texture.


== Joining a Multiplayer game ==
Registro DNS:
srv-target    IN A  192.0.2.2
_factorio._udp IN SRV 0 0 34197 srv-target.wube.software.
</pre>


As of version 0.13, players no longer necessarily have to port-forward to play with others. Players may join each other through Steam, or by just the port-forwarded host.
Ahora cuando un cliente de Factorio se conecte a wube.software se conectará en realidad a srv-target.wube.software:34197


Players wishing to join a game may do so in multiple ways:
'''Captura de pantalla de ejemplo:'''


* Joining by directly inputting a public IP and port into Factorio.
[[File:Screenshot of SRV record settings Cloudflare dashboard.png]]
* Selecting the server from the active public server menu.
* Joining through Steam's services.
* Playing a local LAN game.


It is recommended that players use voice chat (TeamSpeak, Discord, Mumble) because you need to talk a lot to coordinate connections, building, handling attacks, etc. TeamSpeak servers are posted in the [https://forums.factorio.com/viewforum.php?f=53 multiplayer forum]. The public Discord of the Factorio community can be found [https://discord.gg/yGQWgy5 here].
'''Entradas del registro:'''


=== Joining by IP ===
* Factorio registrará un mensaje “DNS SRV lookup returned […]” cuando encuentre un registro SRV para el dominio proveído
* Con el registro detallado, Factorio también registrará “DNS SRV lookup for [domain] didn’t return any usable records” cuando no haya ningún registro SRV


To join a multiplayer game by IP, you will need to know the public IP of a valid server. You can find this through social media, websites, or by word of mouth. After acquiring the IP and port, simply go to play -> Multiplayer -> Connect to server, and provide all the information it asks for.
=== Consejos Varios ===
* La tecla para los [[Console/es|comandos de consola]] también se utiliza para iniciar el chat en multijugador. Para ejecutar un comando en lugar de chatear, necesitas escribir ''/c'' antes del comando. Los comandos ejecutados son ''visibles para todos los jugadores''. Además, la partida multijugador debe haberse iniciado con "permitir comandos" para que los comandos funcionen.
* Establece el color del jugador usando el comando
/color r g b
r, g y b son para rojo, verde y azul respectivamente (los valores posibles están entre 0 y 1, usa [https://www.w3schools.com/colors/colors_converter.asp este sitio] para convertir los colores a números rgb).


If the server has been set up correctly to accept public connections, you should be able to join the game.
* Para darte acceso de administrador, necesitas crear un archivo server-adminlist.json en el mismo directorio que factorio-current.log. El archivo debe contener una lista de administradores, así:
<code>[ "usuario1", "usuario2" ]</code>


=== Joining via server list ===
Este archivo se creará si promueves a un jugador a través de la consola.


Factorio's devs keep a list of all public servers that declare themselves to the service, allowing players to join directly through Factorio. Most of these servers will be password-requiring, but many completely public servers can be connected to. To join via server list, go to Play -> Multiplayer -> Browse public games. Provide your Factorio.com login if asked, and a list of public servers will appear. Simply select one.
== Unirse a una partida multijugador ==


=== Joining through Steam ===
A partir de la versión 0.13, los jugadores ya no necesariamente tienen que hacer un reenvío de puertos para jugar con otros. Los jugadores pueden unirse entre sí a través de Steam, o simplemente por el host con reenvío de puerto.


Steam provides a "game invite" system, simply use that to join. You can find more info about how to use steam in it's documentation. ''This is the most recommended way for the average player to use multiplayer with their friends, as it allows Steam to handle everything''.
Los jugadores que deseen unirse a una partida pueden hacerlo de varias maneras:


=== Joining a local LAN game ===
* Unirse ingresando directamente una IP pública y puerto en Factorio.
* Seleccionando el servidor desde la lista de partidas públicas.
* Unirse a través de los servicios de Steam.
* Jugando desde una partida local en LAN.


If you have some friends on the same internet connection as you (in the same building or network), you may play a LAN game. Simply go to Play -> Multiplayer -> Play on LAN.
=== Unirse por IP ===


=== Finding Other Players ===
Para unirse a una partida multijugador por IP, necesitarás conocer la IP pública de un servidor válido. Puedes encontrar esto a través de las redes sociales, sitios web, o de boca en boca. Después de adquirir la IP y el puerto, simplemente ve a Multijugador -> Conectar con dirección, y proporciona toda la información que te pide.


* Use the [https://forums.factorio.com/viewforum.php?f=53 multiplayer board in the forum].
Si el servidor ha sido configurado correctamente para aceptar conexiones públicas, deberías poder unirte a la partida.
* Many players use other software like Evolve to meet other players. This also has the "advantage" of creating a virtual LAN among the players. See down under software.
* Some also use [https://forums.factorio.com/viewtopic.php?f=5&t=9136 Steam] to find other players.
* There is an external [http://serverlist.lgms.nl/ server browser] with various search options.
* Tell your friends to buy Factorio, then play with them!


=== Unirse a través de la lista de partidas publicas ===


=== Connecting to a Server Behind NAT ===
Los desarrolladores de Factorio mantienen una lista de todos los servidores públicos que se declaran al servicio, permitiendo a los jugadores unirse directamente a través de Factorio. La mayoría de estos servidores requerirán contraseña, pero te puedes unir muchos servidores que son completamente públicos. Para unirse a través de la lista de partidas públicas, ve a Multijugador -> Buscar partidas públicas. Proporciona tu inicio de sesión de Factorio.com si es solicitado, y aparecerá una lista de servidores públicos. Simplemente selecciona uno.


Factorio requires that the server (in client-server mode) have a publicly accessible IP address or that all players are on the same LAN. If you are behind NAT, you must set up port forwarding ([[Multiplayer#Playing_over_LAN_.2F_Internet|see above]] for port number) or use virtual LAN software such as Hamachi or Evolve.
=== Unirse a través de Steam ===


Multiplayer games will be launched in client-server mode (also [http://www.factorio.com/blog/post/fff-99 multiplayer forwarding] mode). In this mode, all clients send their network traffic to the server and the server forwards the traffic to the other clients. The advantage of this is that it allows games where some players are inside a LAN and others are outside. The disadvantage may be slightly more lag as packets must travel an extra hop (through the server).
Steam proporciona un sistema de "invitación a juego", simplemente usa eso para unirte. Puedes encontrar más información sobre cómo usar Steam en su documentación. ''Esta es la forma más recomendada para que el jugador promedio use el multijugador con sus amigos, ya que permite que Steam se encargue de todo''.


* [https://forums.factorio.com/viewtopic.php?f=53&t=6393 Forwarding ports without logging into your router]
=== Unirse a una partida local en LAN ===
* [https://forums.factorio.com/viewtopic.php?f=53&t=7714 A guide for connecting with Evolve]
 
* [http://steamcommunity.com/sharedfiles/filedetails/?id=653628496 A guide for connecting with Hamachi]
Si tienes algunos amigos en la misma conexión a Internet que tú (en el mismo edificio o red), puedes jugar una partida en LAN. Simplemente ve a Jugar -> Multijugador -> Buscar partidas LAN.
 
=== Conectarse a un servidor detrás de una NAT ===
 
Factorio requiere que el servidor (en modo cliente-servidor) tenga una dirección IP accesible al público o que todos los jugadores estén en la misma LAN. Si estás detrás de NAT, debes configurar el reenvío de puertos o usar software de LAN virtual como Hamachi o Radmin.
 
Las partidas multijugador se lanzarán en modo cliente-servidor (también [modo de reenvío multijugador](http://www.factorio.com/blog/post/fff-99)). En este modo, todos los clientes envían su tráfico de red al servidor y el servidor reenvía el tráfico a los otros clientes. La ventaja de esto es que permite partidas donde algunos jugadores están dentro de una LAN y otros están fuera. La desventaja puede ser un poco más de retraso ya que los paquetes deben viajar un salto extra (a través del servidor).
 
* [Reenvío de puertos sin iniciar sesión en tu router](https://forums.factorio.com/viewtopic.php?f=53&t=6393)
* [Una guía para conectarse con Hamachi](http://steamcommunity.com/sharedfiles/filedetails/?id=653628496)


== PvP ==
== PvP ==


In PvP mode, players can be on different forces. Each force can have one (free-for-all) or more players (teams). Each force has its own independent research progression. Additionally, each force's [[Turret|turrets]] and [[Combat Robot Capsules|combat bots]] will attack other players as enemies, unless a cease fire is set. Note that, depending on the scenario, cease fires may be unidirectional — setting a cease fire with an opposing force does not guarantee a cease fire from them in return.
En el modo PvP, los jugadores pueden estar en diferentes fuerzas. Cada fuerza puede tener un jugador (todos contra todos) o varios jugadores (equipos). Cada fuerza tiene su propia progresión de investigación independiente. Además, las [[Military units and structures/es|Unidades y estructuras militares]] de cada fuerza atacarán a otros jugadores como enemigos, a menos que se establezca un alto el fuego. Ten en cuenta que, dependiendo del escenario, los altos el fuego pueden ser unidireccionales: establecer un alto el fuego con una fuerza opuesta no garantiza un alto el fuego de ellos a cambio.


To start a PvP game, you can select the 'PvP' scenario from the 'Play' menu, or download a custom scenario which also supports PvP.
Para iniciar una partida PvP, puedes seleccionar el escenario 'PvP' desde el menú 'Jugar', o descargar un escenario personalizado que también admita PvP.


After downloading a PvP scenario, you need to move it to your application directory, and create the multiplayer game using the scenario.
Después de descargar un escenario PvP, debes moverlo al directorio de la aplicación, y crear la partida multijugador usando el escenario.


# Download the scenario and place the scenario directory in the ''scenarios'' directory within your [[Application_directory#Directory_locations_by_OS_and_installation_method|user data directory]].
# Descarga el escenario y coloca el directorio del escenario en el directorio ''scenarios'' dentro de tu [[Application_directory#Directory_locations_by_OS_and_installation_method|directorio de datos de usuario]].
# Launch Factorio
# Ejecuta Factorio
# Click ''Play''
# Click ''Multijugador''
# Click ''Multiplayer''
# Selecciona el ''Escenario''
# Click ''Scenario''
# Elige el escenario PvP que quieras y haz clic en ''Crear''
# Choose the PvP scenario you want and click ''Create''
# Elige la latencia y otras opciones, luego haz clic en ''Jugar''
# Choose latency and other settings, then click ''Play''
# Ahora los otros jugadores pueden unirse a la partida
# Other players can now join the game


=== Forces ===
=== Fuerzas ===


Forces can be manually created via the console. This allows any map/scenario to be used for PvP. This may not be as convenient as a pre-made PvP scenario, as there will be no way for players to turn on/off cease fires other than through the console.
Las fuerzas se pueden crear manualmente a través de la consola. Esto permite que cualquier mapa/escenario se pueda usar para PvP. Esto puede no ser tan conveniente como un escenario PvP pre-hecho, ya que no habrá forma de activar/desactivar los altos al fuego más que a través de la consola.


Each created force has its own research progression and different forces may attack each other.
Cada fuerza creada tiene su propia progresión de investigación y diferentes fuerzas pueden atacarse entre sí.


The console commands for setting up and controlling forces are below:
Los comandos de la consola para configurar y controlar las fuerzas son los siguientes:


<pre>
<pre>
game.create_force("Name")
game.create_force("Nombre")
--Creates the force "Name"
--Crea la fuerza "Nombre"


game.players["Player_name"].force = game.forces["Name"]
game.players["Nombre_del_jugador"].force = game.forces["Nombre"]
--Sets this player to the new force
--Establece que este jugador pertenece a la fuerza "Nombre"


game.forces["Name"].set_cease_fire("Other_force_name", true)
game.forces["Nombre"].set_cease_fire("Nombre_de_otra_fuerza", true)
--Sets the new force ceasefire to the "other force"
--Sets the new force ceasefire to the "other force"
--Establece el alto al fuego hacia la fuerza "Nombre_de_otra_fuerza"


game.forces["Name"].set_spawn_position({x = 10, y = 20}, game.surfaces[1])
game.forces["Nombre"].set_spawn_position({x = 10, y = 20}, game.surfaces[1])
--Sets the spawn position of the force
--Establece la posición de aparición de la fuerza


game.print(#game.forces)
game.print(#game.forces)
--Prints the number of forces
--Imprime el número de fuerzas


for name, force in pairs (game.forces) do
for name, force in pairs (game.forces) do
   game.print(name)
   game.print(name)
end
end
--Prints the name of all the forces
--Imprime el nombre de todas las fuerzas
</pre>
</pre>


The ability of players and entities belonging to one force to interact with structures belonging to another, non-friendly force is limited. However, some types of interactions are still possible:
La capacidad de interactuar de los jugadores y las entidades pertenecientes a una fuerza con las estructuras pertenecientes a otra fuerza no amigable es limitada. Sin embargo, algunos tipos de interacciones aún son posibles:


;Manual pickup from belts
;Recogida manual de las cintas
: Players can pick up items traveling along a transport belt that belongs to an opposing force. Note however that this can't be automated: Inserters will ''not'' take items from an opposing force's belts.
: Los jugadores pueden recoger objetos que viajen por una cinta de transporte que pertenezca a una fuerza contraria. Tenga en cuenta, sin embargo, que esto no se puede automatizar: Los insertadores ''no'' levantaran objetos de las cintas de una fuerza contraria.
;Belt network connection
;Conexión a la red de cintas
: Belts will connect to each other regardless of force membership, so it's possible to extend an opposing force's belt line, and items will flow to them. It is also possible to side-load into, and place items onto (with inserters) an opposing force's belt line.
: Las cintas se conectarán entre sí independientemente de la fuerza a la que pertenezcan, por lo que es posible extender la línea de cintas de una fuerza contraria, y los objetos fluirán hacia ellos. También es posible cargar lateralmente y colocar objetos (con insertadores) en la línea de cintas de una fuerza contraria.
;Fluid network connection
;Conexion a la red de fluidos
: Pipes (and storage tanks, and pumps, &c) will connect to each other regardless of force membership. For example, it's possible to pump fluids out of or into a storage tank belonging to an opposing force.
: Las tuberías (y los tanques de almacenamiento, las bombas, &c) se conectarán entre sí independientemente de la fuerza a la que pertenezcas. Por ejemplo, es posible bombear fluidos desde o hacia un tanque de almacenamiento perteneciente a una fuerza opuesta.
;Cable and wire connection
;Robar energía
: Players can freely connect and disconnect [[Copper_cable|Copper cable]]s and [[Green_wire|Red/Green wire]]s from any entity that supports them, regardless of force membership. Electricity does not belong to a specific force, and it's possible to power structures with electricity from an opposing force's generators. Similarly, it's possible to read and write signals into a [[Circuit_network|Circuit network]] consisting mostly of an opposing force's devices.
: Los jugadores pueden extraer energía de la red eléctrica de una fuerza contraria, construyendo estructuras dentro del área de cobertura de un poste de energía perteneciente a una fuerza contraria. Los postes eléctricos que construyas junto a un poste eléctrico perteneciente a una fuerza contraria se conectarán automáticamente a él, pero será imposible conectarlos o desconectarlos manualmente.


== History ==
== Historia ==


=== Narrative history ===
=== Historia narrativa ===


Because of the potentially immense amount of activity on a map, the game engine utilizes a [https://www.factorio.com/blog/post/fff-76 lock step architecture]. All instances of the game run full simulations of the entire world and only player actions are transferred across the network.
Debido a la cantidad potencialmente inmensa de actividad en un mapa, el motor del juego utiliza una [https://www.factorio.com/blog/post/fff-76 arquitectura lock step]. Todas las instancias del juego ejecutan simulaciones completas de todo el mundo y sólo las acciones de los jugadores se transfieren a través de la red.


Multiplayer games were introduced to Factorio with version 0.11.0. The only connection method available was peer-to-peer mode which meant every player had to be able to directly communicate with every other player. In version 0.12.4, a client-server mode of communication was introduced in which the server (either a dedicated one or the player who hosted the game) relays messages to all peers. This means that direct connection between all players is no longer necessary. As of version 0.13, P2P connecting is completely removed.
Las partidas multijugador se introdujeron en Factorio con la versión 0.11.0. El único método de conexión disponible era el modo peer-to-peer, lo que significaba que cada jugador tenía que ser capaz de comunicarse directamente los demás jugadores. En la versión 0.12.4, se introdujo un modo de comunicación cliente-servidor en el que el servidor (ya sea uno dedicado o el jugador que albergaba el juego) retransmite mensajes a todos los compañeros. Esto significa que ya no es necesaria la conexión directa entre todos los jugadores. A partir de la versión 0.13, la conexión P2P desaparece por completo.


As of version 0.12.0, the game features "latency hiding" mechanics where the game simulates some of the player's actions locally to make some common interactions (such as moving the player's character) more fluid. Latency hiding is enabled by default, but it can be enabled or disabled in Options → Other → Enable multiplayer latency hiding. Not every action is a part of latency hiding – most notably, car or train driving and shooting are not a part of it. It is recommended to keep this on, as many actions will be very stuttery on a low end internet connection.
A partir de la versión 0.12.0, el juego incorpora la mecánica de "ocultación de latencia", que simula localmente algunas de las acciones del jugador para hacer más fluidas algunas interacciones habituales (como mover el personaje del jugador). No todas las acciones forman parte de la ocultación de latencia, sobre todo la conducción de coches o trenes y los disparos.


=== Version history ===
=== Historial de versiones ===


Maintainer note: The following history may not be fully up to date, or comprehensive. Factorio's multiplayer has undergone a great deal of small changes since its inception, however this history will provide a rough overview.
Nota del mantenedor: El siguiente historial puede no estar totalmente actualizado o no ser exhaustivo. El multijugador de Factorio ha sufrido una gran cantidad de pequeños cambios desde su creación, sin embargo este historial proporcionará una visión general.


{{history|0.14.14|
{{history|0.14.14|
Line 338: Line 376:
{{history|0.12.0|
{{history|0.12.0|
* Multiplayer latency hiding (gives impression that some common tasks are performed immediately)
* Multiplayer latency hiding (gives impression that some common tasks are performed immediately)
* Factorio can run as a dedicated server without graphics (http://www.factorioforums.com/wiki/index.php?title=Multiplayer#Headless_server).
* Factorio can run as a dedicated server without graphics.
* Basic PvP: New forces can now be created and merged back together; a cease-fire can be agreed upon between forces
* Basic PvP: New forces can now be created and merged back together; a cease-fire can be agreed upon between forces
* IPv6 support for multiplayer.
* IPv6 support for multiplayer.
Line 345: Line 383:
* Smaller multiplayer heartbeat packet size.
* Smaller multiplayer heartbeat packet size.
}}
}}


{{history|0.11.19|
{{history|0.11.19|
Line 363: Line 400:
{{history|0.11.0|
{{history|0.11.0|
* Introduced}}
* Introduced}}
{{C|Main}}

Latest revision as of 13:46, 30 December 2023


Players colored preview.png

Además del modo para un solo jugador, Factorio también ofrece un modo multijugador, permitiendo a muchos Jugadores cooperar y ayudarse mutuamente, o trabajar en contra de cada uno en PvP. Esta página documenta cómo configurar una partida multijugador, cómo unirse a una, y las funciones de administración para gestionar tanto el servidor como a otros Jugadores. Por defecto, las partidas multijugador ejecutan el escenario de juego cooperativo Modo libre donde todos los Jugadores trabajan juntos para lanzar un cohete con un satélite al espacio. Otros escenarios, incluyendo mapas PvP, están disponibles para descargar desde el foro de Mapas y Escenarios.

Configurando una partida multijugador

Una partida multijugador.

Es posible unirse a una partida multijugador, alojarla mientras juegas o alojarla en un servidor dedicado. Las partidas multijugador pueden ser anunciadas a otros jugadores en la misma red LAN o globalmente.

Para comenzar a jugar una partida multijugador, selecciona el botón Multijugador del menú principal. Luego, elige una de estas opciones para alojar y jugar:

Albergar una nueva partida: Especifica el escenario deseado, ajusta la configuración del generador de mapas, y establece las etiquetas del servidor. Las etiquetas del servidor determinan cómo se anunciará tu partida a otros jugadores. Puedes elegir entre:

    • Público: Tu partida aparecerá en la lista de partidas públicas.
    • Steam: Habilita o deshabilita la función “Unirse al juego” a través de Steam.
    • LAN: Tu partida aparecerá en tu red local.
  • Alojar una partida guardada: Elige una partida guardada de la lista y establece las etiquetas del servidor como se indicó anteriormente.

Para unirte a una partida existente, elige una de estas opciones:

  • Buscar partidas públicas: Busca y únete a cualquier partida pública que cumpla con tus criterios.
  • Buscar partidas LAN: Únete a cualquier partida que se aloje en tu red local.
  • Conectar con dirección: Únete a cualquier partida ingresando la dirección IP del servidor. Esta opción es útil si el anfitrión no utiliza ninguna etiqueta de servidor.

Notas y consejos:

  • Todas las instancias del juego deben ser exactamente iguales teniendo la misma version del juego y mods.
  • Los servidores de Factorio usan el puerto 34197. El puerto puede ser cambiado en el archivo de configuración.
  • Factorio utiliza Sólo UDP. El juego crea su propia capa de "entrega confiable" basada en el protocolo UDP para lidiar con problemas de reordenamiento de pérdida y reordenamiento de paquetes.
    • Asegúrate de configurar correctamente el reenvío de puertos (apertura de puertos/port forwarding) de tu router para el puerto 34197.
    • Asegúrate de que tu router no aleatorice el puerto de origen en los paquetes salientes desde el 34197. Algunos routers lo hacen y requieren una configuración adicional para evitarlo.
    • Asegúrate de que no haya ningún firewall o antivirus bloqueando los paquetes UDP.
  • El límite duro para el número de jugadores es 65,535. Sin embargo, el límite práctico para esto es mucho menor, algunos streamers populares han logrado conectar a cientos de jugadores en una misma partida.

Servidor dedicado/headless

A partir de la versión 0.12.0 de Factorio, se puede iniciar un servidor dedicado (o headless) utilizando el parámetro --start-server en la línea de comandos. Puedes utilizar el parámetro --help para obtener una lista completa de los parámetros que Factorio acepta.

En el modo headless:

  • No se inicializan los gráficos (inicia más rápido, consume menos memoria, funciona en servidores sin interfaz gráfica)
  • El juego comienza inmediatamente y carga el archivo de guardado que se ha colocado como argumento en los parámetros
  • El servidor no tiene personaje en el juego
  • El juego se pausa mientras no hay jugadores conectados (aunque esto puede ser anulado usando la opción no-auto-pause en el archivo server-settings.json)
  • La partida se guarda al salir (y se guarda automáticamente de forma normal)

A partir de la versión 0.13 se espera que --start-server sea seguido por una ruta a un archivo de guardado.

Necesitaras crear tu archivo de guardado antes de iniciar el servidor, ya que el servidor dedicado REQUIERE que se proporcione un archivo de guardado. Esto se puede hacer fácilmente utilizando el parámetro de la línea de comandos --create. Por ejemplo:

./bin/x64/factorio --create ./saves/partida.zip       # Esto crea un nuevo archivo de guardado como si hubieras hecho click en el botón ''Nuevo Juego'' en la interfaz grafica
./bin/x64/factorio --start-server ./saves/partida.zip # Esto inicia un servidor que alojará el archivo creado con el comando anterior

Hay varios archivos de configuración JSON que Factorio puede utilizar para cambiar la configuración del servidor y del mapa:

  • map-gen-settings para establecer parámetros utilizados por el generador de mapas como ancho y alto, frecuencia y tamaño de los parches de mineral, etc. (Añadido en versión 0.13)
  • map-settings para controlar la propagación de la contaminación, la expansión y evolución de los biters, y más (Añadido en la versión 0.15)
  • server-settings consolida múltiples opciones de la línea de comandos en un solo archivo (Añadido en la versión 0.14.12)

Los archivos de ejemplo para cada uno de estos parámetros están incluidos en el subdirectorio data, y también son visibles en el GitHub de Wube aquí: https://github.com/wube/factorio-data


Los parámetros --map-gen-settings y --map-settings deben ser utilizados junto a --create cuando creas un nuevo mapa. Por ejemplo:

./bin/x64/factorio --create saves/partida.zip --map-gen-settings my-map-gen-settings.json --map-settings my-map-settings.json

Iniciar el servidor de factorio requiere que especifiques la ubicación del archivo server-settings.json que se encuentra por defecto en la carpeta data de factorio. Por ejemplo para iniciar factorio utilizando la partida más reciente, ejecutarías:

./bin/x64/factorio --start-server-load-latest --server-settings ./data/server-settings.json

En Windows puede ser útil iniciar el servidor con un archivo .bat. El archivo debe poseer el siguiente contenido:

start /wait .\bin\x64\factorio.exe --start-server-load-latest --server-settings .\data\server-settings.json

Mira Command_line_parameters para más parámetros de la línea de comandos.

Configurando un servidor de Factorio en Linux

Nota: Factorio ahora require glibc versión 2.18, pero CentOS/RHEL 7 solo viene con la versión 2.17 por lo que esta guía ya no funcionara sin compilar manualmente glibc 2.18.

Esta guía paso a paso ha sido verificada en instalaciones nuevas de CentOS 7 y RHEL 7, pero debería ser aplicable con pocas o ninguna modificación en la mayoría de las distribuciones.

Esta guía asume que instalarás el servidor headless en /opt/factorio, ajusta las rutas según tu propia configuración. También sugerimos que ejecutes el servidor de Factorio como un usuario separado para fortalecer la seguridad de tu instalación.

Ten en cuenta que hay dos paquetes distintos para Linux que se pueden usar para ejecutar un servidor headless. El primero es la descarga habitual de Linux, que contiene el juego completo. El otro es el paquete especial headless. El paquete headless no contiene archivos que son irrelevantes para un servidor puro, como gráficos y sonidos. Tampoco está vinculado a bibliotecas que pueden no estar presentes en una máquina de servidor, como Xlib, libGL o libasound. Esta opción debe seleccionarse si se ejecuta en un servidor alojado por terceros.

Esta guía no toca el tema del firewall/reenvío de puertos ya que esto se puede hacer de varias maneras en Linux (asegúrate de leer cómo se hace esto como administrador de Linux en tu distribución).

Instalación básica

  • Descarga el paquete seleccionado, ya sea el juego completo o el paquete headless, y sube el paquete Linux tar.gz o tar.xz al directorio /tmp de tu servidor.
  • Extrae el paquete en /tmp a /opt/factorio
$cd /opt/

$sudo tar -xzf /tmp/factorio.tar.gz # utiliza el nombre de archivo correcto, Incluye el número de versión de factorio.
$sudo tar -xJf /tmp/factorio.tar.xz # si descargaste un archivo .tar.xz (ver 0.15.x)
  • Agrega un nuevo usuario a tu sistema y asigna la propiedad del directorio factorio a el mismo (por favor, no lo ejecutes como usuario root, puede ser necesario sudo)
$useradd factorio
$chown -R factorio:factorio /opt/factorio
  • Prueba el binario
$su factorio
$/opt/factorio/bin/x64/factorio --start-server savename

¡Mientras falle diciendo que no puede encontrar/abrir savename.zip estás listo! Solo sube una partida desde tu propia computadora y colócala en el directorio /opt/factorio/saves, o usa el argumento --create ./saves/newgame.zip.

Cómo publicar en el servidor de emparejamiento una partida alojada en un servidor

Para publicar la partida en el servidor de emparejamiento, Factorio necesita recibir más información que solo la ubicación del archivo de guardado. Esta información se proporciona en un archivo de configuración del servidor.

Para crear un archivo de configuración del servidor, mira el archivo de ejemplo ubicado en data/server-settings.example.json en el Directorio de la aplicación de Factorio. La forma recomendada es hacer una copia de este archivo de ejemplo y editar la copia.

Los siguientes valores pueden ser cambiados:

Name
Este será el nombre bajo el cual el servidor aparecerá en la lista de partidas públicas.
Description
Una descripción de tu servidor. Puede contener hasta 5000 caracteres. MP server description.
Tags
Una lista de etiquetas de juego.
Max Players
Te permite limitar el número de jugadores que pueden estar conectados al servidor al mismo tiempo. Si no quieres límite, simplemente establece max_players en 0.
  • Visibilidad para el buscador de partidas publicas: Puede ser público, LAN u oculto.
    • Public: El servidor aparecerá en la lista de servidores públicos. Esto requiere que se completen las credenciales de inicio de sesión a continuación.
    • LAN: El servidor no aparecerá en la lista de servidores públicos, pero estará disponible a través del botón Jugar en LAN.
    • Hidden: Los clientes tendrán que conectarse usando la dirección IP del servidor.
  • Credenciales de usuario utilizando un nombre de usuario y contraseña o token de autenticación (encontrado en el sitio web de factorio o en player-data.json); Estos son necesarios si deseas hacer público el servidor. De lo contrario, pueden dejarse vacíos.
    • Por razones de seguridad, se recomienda usar el token de autenticación ya que este documento se almacena como texto plano. Aunque se debe tener en cuenta que un token de autenticación también es una información sensible, y se te aconseja mantenerlo en secreto.
  • Contraseña del servidor
    • El nombre del campo es game_password
  • Si verificar o no la identidad del usuario

(Hay valores adicionales en la v0.14 de factorio.)

Detalles técnicos de la implementación

El equipo de desarrollo ha publicado notas sobre algunos detalles técnicos relacionados con el modo multijugador en varias entradas del blog Friday Facts:

Registros DNS SRV

Factorio admite Registros DNS SRV desde la versión 1.1.67.

Esto hace mas fácil tener varios servidores de Factorio en un mismo host y permitir que los usuarios se conecten a ellos con subdominios distintos en lugar de tener que ingresar números de puerto.

El nombre del servicio es _factorio y solo admite el protocolo _udp.

Ejemplo:

Dominio: wube.software
IP:     192.0.2.2
Puerto:   34197

Registro DNS:
srv-target     IN A   192.0.2.2 
_factorio._udp IN SRV 0 0 34197 srv-target.wube.software.

Ahora cuando un cliente de Factorio se conecte a wube.software se conectará en realidad a srv-target.wube.software:34197

Captura de pantalla de ejemplo:

Screenshot of SRV record settings Cloudflare dashboard.png

Entradas del registro:

  • Factorio registrará un mensaje “DNS SRV lookup returned […]” cuando encuentre un registro SRV para el dominio proveído
  • Con el registro detallado, Factorio también registrará “DNS SRV lookup for [domain] didn’t return any usable records” cuando no haya ningún registro SRV

Consejos Varios

  • La tecla para los comandos de consola también se utiliza para iniciar el chat en multijugador. Para ejecutar un comando en lugar de chatear, necesitas escribir /c antes del comando. Los comandos ejecutados son visibles para todos los jugadores. Además, la partida multijugador debe haberse iniciado con "permitir comandos" para que los comandos funcionen.
  • Establece el color del jugador usando el comando
/color r g b

r, g y b son para rojo, verde y azul respectivamente (los valores posibles están entre 0 y 1, usa este sitio para convertir los colores a números rgb).

  • Para darte acceso de administrador, necesitas crear un archivo server-adminlist.json en el mismo directorio que factorio-current.log. El archivo debe contener una lista de administradores, así:

[ "usuario1", "usuario2" ]

Este archivo se creará si promueves a un jugador a través de la consola.

Unirse a una partida multijugador

A partir de la versión 0.13, los jugadores ya no necesariamente tienen que hacer un reenvío de puertos para jugar con otros. Los jugadores pueden unirse entre sí a través de Steam, o simplemente por el host con reenvío de puerto.

Los jugadores que deseen unirse a una partida pueden hacerlo de varias maneras:

  • Unirse ingresando directamente una IP pública y puerto en Factorio.
  • Seleccionando el servidor desde la lista de partidas públicas.
  • Unirse a través de los servicios de Steam.
  • Jugando desde una partida local en LAN.

Unirse por IP

Para unirse a una partida multijugador por IP, necesitarás conocer la IP pública de un servidor válido. Puedes encontrar esto a través de las redes sociales, sitios web, o de boca en boca. Después de adquirir la IP y el puerto, simplemente ve a Multijugador -> Conectar con dirección, y proporciona toda la información que te pide.

Si el servidor ha sido configurado correctamente para aceptar conexiones públicas, deberías poder unirte a la partida.

Unirse a través de la lista de partidas publicas

Los desarrolladores de Factorio mantienen una lista de todos los servidores públicos que se declaran al servicio, permitiendo a los jugadores unirse directamente a través de Factorio. La mayoría de estos servidores requerirán contraseña, pero te puedes unir muchos servidores que son completamente públicos. Para unirse a través de la lista de partidas públicas, ve a Multijugador -> Buscar partidas públicas. Proporciona tu inicio de sesión de Factorio.com si es solicitado, y aparecerá una lista de servidores públicos. Simplemente selecciona uno.

Unirse a través de Steam

Steam proporciona un sistema de "invitación a juego", simplemente usa eso para unirte. Puedes encontrar más información sobre cómo usar Steam en su documentación. Esta es la forma más recomendada para que el jugador promedio use el multijugador con sus amigos, ya que permite que Steam se encargue de todo.

Unirse a una partida local en LAN

Si tienes algunos amigos en la misma conexión a Internet que tú (en el mismo edificio o red), puedes jugar una partida en LAN. Simplemente ve a Jugar -> Multijugador -> Buscar partidas LAN.

Conectarse a un servidor detrás de una NAT

Factorio requiere que el servidor (en modo cliente-servidor) tenga una dirección IP accesible al público o que todos los jugadores estén en la misma LAN. Si estás detrás de NAT, debes configurar el reenvío de puertos o usar software de LAN virtual como Hamachi o Radmin.

Las partidas multijugador se lanzarán en modo cliente-servidor (también [modo de reenvío multijugador](http://www.factorio.com/blog/post/fff-99)). En este modo, todos los clientes envían su tráfico de red al servidor y el servidor reenvía el tráfico a los otros clientes. La ventaja de esto es que permite partidas donde algunos jugadores están dentro de una LAN y otros están fuera. La desventaja puede ser un poco más de retraso ya que los paquetes deben viajar un salto extra (a través del servidor).

PvP

En el modo PvP, los jugadores pueden estar en diferentes fuerzas. Cada fuerza puede tener un jugador (todos contra todos) o varios jugadores (equipos). Cada fuerza tiene su propia progresión de investigación independiente. Además, las Unidades y estructuras militares de cada fuerza atacarán a otros jugadores como enemigos, a menos que se establezca un alto el fuego. Ten en cuenta que, dependiendo del escenario, los altos el fuego pueden ser unidireccionales: establecer un alto el fuego con una fuerza opuesta no garantiza un alto el fuego de ellos a cambio.

Para iniciar una partida PvP, puedes seleccionar el escenario 'PvP' desde el menú 'Jugar', o descargar un escenario personalizado que también admita PvP.

Después de descargar un escenario PvP, debes moverlo al directorio de la aplicación, y crear la partida multijugador usando el escenario.

  1. Descarga el escenario y coloca el directorio del escenario en el directorio scenarios dentro de tu directorio de datos de usuario.
  2. Ejecuta Factorio
  3. Click Multijugador
  4. Selecciona el Escenario
  5. Elige el escenario PvP que quieras y haz clic en Crear
  6. Elige la latencia y otras opciones, luego haz clic en Jugar
  7. Ahora los otros jugadores pueden unirse a la partida

Fuerzas

Las fuerzas se pueden crear manualmente a través de la consola. Esto permite que cualquier mapa/escenario se pueda usar para PvP. Esto puede no ser tan conveniente como un escenario PvP pre-hecho, ya que no habrá forma de activar/desactivar los altos al fuego más que a través de la consola.

Cada fuerza creada tiene su propia progresión de investigación y diferentes fuerzas pueden atacarse entre sí.

Los comandos de la consola para configurar y controlar las fuerzas son los siguientes:

game.create_force("Nombre")
--Crea la fuerza "Nombre"

game.players["Nombre_del_jugador"].force = game.forces["Nombre"]
--Establece que este jugador pertenece a la fuerza "Nombre"

game.forces["Nombre"].set_cease_fire("Nombre_de_otra_fuerza", true)
--Sets the new force ceasefire to the "other force"
--Establece el alto al fuego hacia la fuerza "Nombre_de_otra_fuerza"

game.forces["Nombre"].set_spawn_position({x = 10, y = 20}, game.surfaces[1])
--Establece la posición de aparición de la fuerza

game.print(#game.forces)
--Imprime el número de fuerzas

for name, force in pairs (game.forces) do
   game.print(name)
end
--Imprime el nombre de todas las fuerzas

La capacidad de interactuar de los jugadores y las entidades pertenecientes a una fuerza con las estructuras pertenecientes a otra fuerza no amigable es limitada. Sin embargo, algunos tipos de interacciones aún son posibles:

Recogida manual de las cintas
Los jugadores pueden recoger objetos que viajen por una cinta de transporte que pertenezca a una fuerza contraria. Tenga en cuenta, sin embargo, que esto no se puede automatizar: Los insertadores no levantaran objetos de las cintas de una fuerza contraria.
Conexión a la red de cintas
Las cintas se conectarán entre sí independientemente de la fuerza a la que pertenezcan, por lo que es posible extender la línea de cintas de una fuerza contraria, y los objetos fluirán hacia ellos. También es posible cargar lateralmente y colocar objetos (con insertadores) en la línea de cintas de una fuerza contraria.
Conexion a la red de fluidos
Las tuberías (y los tanques de almacenamiento, las bombas, &c) se conectarán entre sí independientemente de la fuerza a la que pertenezcas. Por ejemplo, es posible bombear fluidos desde o hacia un tanque de almacenamiento perteneciente a una fuerza opuesta.
Robar energía
Los jugadores pueden extraer energía de la red eléctrica de una fuerza contraria, construyendo estructuras dentro del área de cobertura de un poste de energía perteneciente a una fuerza contraria. Los postes eléctricos que construyas junto a un poste eléctrico perteneciente a una fuerza contraria se conectarán automáticamente a él, pero será imposible conectarlos o desconectarlos manualmente.

Historia

Historia narrativa

Debido a la cantidad potencialmente inmensa de actividad en un mapa, el motor del juego utiliza una arquitectura lock step. Todas las instancias del juego ejecutan simulaciones completas de todo el mundo y sólo las acciones de los jugadores se transfieren a través de la red.

Las partidas multijugador se introdujeron en Factorio con la versión 0.11.0. El único método de conexión disponible era el modo peer-to-peer, lo que significaba que cada jugador tenía que ser capaz de comunicarse directamente los demás jugadores. En la versión 0.12.4, se introdujo un modo de comunicación cliente-servidor en el que el servidor (ya sea uno dedicado o el jugador que albergaba el juego) retransmite mensajes a todos los compañeros. Esto significa que ya no es necesaria la conexión directa entre todos los jugadores. A partir de la versión 0.13, la conexión P2P desaparece por completo.

A partir de la versión 0.12.0, el juego incorpora la mecánica de "ocultación de latencia", que simula localmente algunas de las acciones del jugador para hacer más fluidas algunas interacciones habituales (como mover el personaje del jugador). No todas las acciones forman parte de la ocultación de latencia, sobre todo la conducción de coches o trenes y los disparos.

Historial de versiones

Nota del mantenedor: El siguiente historial puede no estar totalmente actualizado o no ser exhaustivo. El multijugador de Factorio ha sufrido una gran cantidad de pequeños cambios desde su creación, sin embargo este historial proporcionará una visión general.

  • 0.14.14:
    • Added multiplayer server option "Autosave only on server".
    • Deconstructing/canceling deconstruction sets the "last user" on an entity.
    • Decreased the size of connection accept message with lot of mod which could help some people with 50+ mod multiplayer games.
  • 0.14.13:
    • Reconnecting to multiplayer game that the player is already in (due to being dropped, most often) instantly closes the previous connection and connects the player.
  • 0.14.11:
    • Multiplayer user names can only consist of letters, and -_. characters.
  • 0.14.10:
    • Disabled 32bit (x86) multiplayer. All hosts and members must be running the 64bit (x86_64) version of the game.
  • 0.14.8:
    • More than 10 players in one game will reduce the rate the game is saved to the server.
  • 0.14.6:
    • Username is now set to username setting, not email.
  • 0.14.5:
    • Added AFK Auto kick interval to multiplayer host settings (with never as default).
  • 0.14.3:
    • When save of scenario is loaded in multiplayer, it's scenario is saved in user scenarios.
    • Added /time command to print the current map age.
    • Added option to host multiplayer game with scenario (it only had new game/load game there).
  • 0.14.2:
    • Can specify limit of upload speed when hosting.
  • 0.14.0:
    • Server doesn't stop/slow down the game when some client is too slow, stops communicating or saves the game longer than the server.
    • Players automatically quit game after 3 desyncs.
    • Removed the option to enable/disable latency hiding, it is always on on clients (and off on the server).
  • 0.13.10:
    • Server stdout messages now contain time stamps and message-type tags
  • 0.13.2:
    • Limit multiplayer player name to 60 characters.
  • 0.13.0:
    • Improved Multiplayer game UX
    • Server games are published to the server and clients can browse existing games.
    • Removed multiplayer peer-to-peer mode.
    • Building sound is played also for other players in multiplayer.
  • 0.12.30:
    • Mod checksums are calculated when the game starts and are compared with other peers when joining a multiplayer game. This is to ensure everyone has exactly the same mod in order to prevent desyncs caused by local changes made to mod files.
  • 0.12.28:
    • Added --port to specify which network port the game should use, when hosting with --start-server or --mp-load-game.
  • 0.12.27:
    • The report of different mods when trying to connect to multiplayer game is now scroll-able when needed.
    • Better message when the server leaves a multiplayer game
  • 0.12.11:
    • Added --no-auto-pause: When running as a server, --no-auto-pause will prevent stopping the game when no players are connected.
  • 0.12.9:
    • Added resume button to multiplayer game menu
  • 0.12.7:
    • New command line options for the headless server: --disallow-commands and --peer-to-peer
  • 0.12.5:
    • Multiplayer broadcast (heartbeats) is done via a single message when not using peer2peer.
    • Further optimizations in size of the Multiplayer heartbeat (message sent every tick).
    • LatencyState is suspended when player is killed (and waiting for respawn) in Multiplayer.
  • 0.12.4:
    • Simple mechanism for multiplayer relaying via the server.
    • Less annoying glitches when running and shooting in multiplayer with latency hiding.
  • 0.12.0:
    • Multiplayer latency hiding (gives impression that some common tasks are performed immediately)
    • Factorio can run as a dedicated server without graphics.
    • Basic PvP: New forces can now be created and merged back together; a cease-fire can be agreed upon between forces
    • IPv6 support for multiplayer.
    • DNS names can be used when connecting to multiplayer game.
    • Player's logistic filters are now remembered after respawn in multiplayer
    • Smaller multiplayer heartbeat packet size.
  • 0.11.19:
    • Multiplayer dropping threshold is doubled during map upload / download.
  • 0.11.17:
    • Autosaves in multiplayer are performed at the same time by all clients (interval is set by hosting player).
    • Progress bar is shown when non-responsive peers are about to be dropped from the game in the Multiplayer.
    • Progress bar is shown when other peers in multiplayer are saving map.
  • 0.11.16:
    • Revived character (after dying in multiplayer) are placed on the spawn point instead of the center of the map.
  • 0.11.2:
    • Mods that don't affect game state are not needed to be synchronized when playing multiplayer game or replaying game.