[linux] Dedicated server init script
Re: [linux] Dedicated server init script
Hello, I tried to follow the instructions, and everything works fine, except when i type: "service factorio start" it will tell me this: Failed to start factorio.service: Unit factorio.service failed to load: No such file or directory.
I have no idea what i did wrong, since "service factorio help" works normally and gives me the list of aviable commands. Can anyone please help me?
Thanks
EDIT: Ok, nevermind, I got it to work.. just took some fiddling and googling
I have no idea what i did wrong, since "service factorio help" works normally and gives me the list of aviable commands. Can anyone please help me?
Thanks
EDIT: Ok, nevermind, I got it to work.. just took some fiddling and googling
Re: [linux] Dedicated server init script
If you found any useful information to resolve your problem, please share it with us heredannyus wrote:EDIT: Ok, nevermind, I got it to work.. just took some fiddling and googling
Hosting a factorio server? Take a look at this || init script ||.
Re: [linux] Dedicated server init script
Ok So, in order to be able to launch this script I did this: "cd /opt/factorio-init/" and then: "/etc/init.d/factorio start" and it works. This was my first experience with the linux headless server, so I am not very experienced.. For example I still dont know what the USERNAME and GROUP things are, because if I have anything else than root written in it, It just dont workBisa wrote: If you found any useful information to resolve your problem, please share it with us here
Also, I highly suggest to everyone to use google virtual machine thingie (https://cloud.google.com/), because you have free 60 days trial. And also I have found this really neat tutorial for setting up the server https://cloud.google.com/solutions/gami ... aft-server. It is for minecraft, but you can safely use it for factorio (change "minecraft" to "factorio" everywhere ) At least thats what I did And it works and now we have a working server for me and my friends
Re: [linux] Dedicated server init script
That's the systems usergroup and user under which you wish to run factorio, I would set up a specific user named "factorio" on your server and assign all files in /opt/factorio to it (then update the init config setting USERNAME and GROUP to =factorio)dannyus wrote: USERNAME and GROUP things are, because if I have anything else than root written in it, It just dont work
I made a minor edit to the wiki suggesting the use of a separate user. https://wiki.factorio.com/index.php?tit ... ayer#Linux
Hosting a factorio server? Take a look at this || init script ||.
Re: [linux] Dedicated server init script
I just added support for multiple update packages, non-auth-requirment for headless downloads and other assorted trickery - bringing you a pretty nifty init script for a headless factorio server
git clone https://github.com/Bisa/factorio-init today
git clone https://github.com/Bisa/factorio-init today
Hosting a factorio server? Take a look at this || init script ||.
Re: [linux] Dedicated server init script
Amazing tool that I've been using all weekend.
One thing I was looking into today was launching multiple instances of the factorio application on my server at different ports. I see that the factorio executable supports custom config files with the -c [--config] option. And I got this to work by running it manually alongside the one started by the factorio-init script.
I'm sure this is something that can be implemented as well. I might look into it over the easter holiday. It would need a slightly different way of handling the save games, as they are named factorio-init-save today.
One thing I was looking into today was launching multiple instances of the factorio application on my server at different ports. I see that the factorio executable supports custom config files with the -c [--config] option. And I got this to work by running it manually alongside the one started by the factorio-init script.
I'm sure this is something that can be implemented as well. I might look into it over the easter holiday. It would need a slightly different way of handling the save games, as they are named factorio-init-save today.
Re: [linux] Dedicated server init script
I've been tinkering with this myself a bit, currently there are a number of options you can set to distinguish between instances, for exampleMcBirdy wrote:I'm sure this is something that can be implemented as well. I might look into it over the easter holiday. It would need a slightly different way of handling the save games, as they are named factorio-init-save today.
SERVICE_NAME
PIDFILE
SAVE_NAME
feel free to mess around and send me a pull request if you find anything that needs changing
Hosting a factorio server? Take a look at this || init script ||.
-
- Burner Inserter
- Posts: 8
- Joined: Tue Mar 15, 2016 11:19 pm
- Contact:
Re: [linux] Dedicated server init script
Would be really nice if multiple instances could be managed be the init script. Looking forward to it
Re: [linux] Dedicated server init script
right now - the only ways this script will support multiple instances is if you mod the factorio.service.example to load a different config per "instance" or copy the script to a separate directory per instance (if you're using the screen approach)runningman wrote:Would be really nice if multiple instances could be managed be the init script. Looking forward to it
I don't feel adding multi instance support to a init script is a good design approach since the various init systems out there already support this - but I def want to ensure the script can be separated with different configs withot it's internals interfering with other instances (unless it does that already)
Hosting a factorio server? Take a look at this || init script ||.
Re: [linux] Dedicated server init script
just pushed a correction for the now removed "SCREEN_NAME" which will hopefully make it easier to run multiple copies of this script by allowing you to set a separate "SERVICE_NAME" for each instance
Hosting a factorio server? Take a look at this || init script ||.
Re: [linux] Dedicated server init script
Hi Bisa,
Looking at the README.md at the end it talks about getting systemd set up with factorio. But... as I learned systemctl is the systemd tool and that tool is not present nor used on Ubuntu 14.04 as it uses Upstart. Do you know, or anyone else for that matter, have a .conf file that can be used with Upstart?
Looking at the README.md at the end it talks about getting systemd set up with factorio. But... as I learned systemctl is the systemd tool and that tool is not present nor used on Ubuntu 14.04 as it uses Upstart. Do you know, or anyone else for that matter, have a .conf file that can be used with Upstart?
Re: [linux] Dedicated server init script
I just installed the new version now i get this error:
Code: Select all
root@ubuntu-Vserver:/usr/local/factorio# service factorio start
/etc/init.d/factorio: line 112: [: too many arguments
/etc/init.d/factorio: line 114: [: too many arguments
Re: [linux] Dedicated server init script
help
Code: Select all
***:***/***# service factorio start
Job for factorio.service failed. See 'systemctl status factorio.service' and 'journalctl -xn' for details.
***:/***/***# systemctl status factorio.service
● factorio.service - (null)
Loaded: loaded (/etc/init.d/factorio)
Active: failed (Result: exit-code) since Ср 2016-03-23 10:16:34 EDT; 6s ago
Process: 8067 ExecStart=/etc/init.d/factorio start (code=exited, status=1/FAILURE)
мар 23 10:16:24 *** su[8086]: pam_unix(su:session): session opened for user factorio by (uid=0)
мар 23 10:16:24 *** su[8088]: Successful su for factorio by root
мар 23 10:16:24 *** su[8088]: + ??? root:factorio
мар 23 10:16:24 *** su[8088]: pam_unix(su:session): session opened for user factorio by (uid=0)
мар 23 10:16:24 *** su[8088]: pam_unix(su:session): session closed for user factorio
мар 23 10:16:26 *** factorio[8067]: Still not running, waiting a while longer...
мар 23 10:16:34 *** factorio[8067]: Failed to start, aborting.
мар 23 10:16:34 *** systemd[1]: factorio.service: control process exited, code=exited status=1
мар 23 10:16:34 *** systemd[1]: Failed to start (null).
мар 23 10:16:34 *** systemd[1]: Unit factorio.service entered failed state.
***:/***/***#
Re: [linux] Dedicated server init script
Startup errors ought to be fixed now - silly me, I should not add features this light headed....
Hosting a factorio server? Take a look at this || init script ||.
Re: [linux] Dedicated server init script
I never really looked into upstart, if you write an example for upstart - feel free to share it with the rest of usBonesaw wrote:Hi Bisa,
Looking at the README.md at the end it talks about getting systemd set up with factorio. But... as I learned systemctl is the systemd tool and that tool is not present nor used on Ubuntu 14.04 as it uses Upstart. Do you know, or anyone else for that matter, have a .conf file that can be used with Upstart?
Edit
actually, have a look at this answer on askubuntu http://askubuntu.com/questions/22099/wa ... and-advice
I can imagine all you need to do is something similar to this:
Code: Select all
description "Factorio server"
expect fork
start on runlevel [3]
stop on runlevel [!2345]
respawn
script
su -c "/path/to/factorio-init/factorio refresh-save" factorio
su -c "/path/to/factorio-init/factorio start" factorio
end script
Hosting a factorio server? Take a look at this || init script ||.
Re: [linux] Dedicated server init script
Last 0.12.29 factorio and last factorio-init version
Failed to start factorio.service: Unit factorio.service failed to load: No such file or directory.
I do as https://wiki.factorio.com/index.php?tit ... ayer#Linux and https://github.com/Bisa/factorio-init/b ... /README.md after setup i see viewtopic.php?f=133&t=13874&p=139500#p139276
my system
check libs
opt folder
factorio folder
factorio-init folder
but factorio user start factorio succes
and manually start
factorio.servise.example should be called factorio.service in /opt/factorio-init ?
Failed to start factorio.service: Unit factorio.service failed to load: No such file or directory.
I do as https://wiki.factorio.com/index.php?tit ... ayer#Linux and https://github.com/Bisa/factorio-init/b ... /README.md after setup i see viewtopic.php?f=133&t=13874&p=139500#p139276
my system
Code: Select all
****:/opt# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.3 (jessie)
Release: 8.3
Codename: jessie
Code: Select all
****:/opt# ldd /opt/factorio/bin/x64/factorio
linux-vdso.so.1 (0x00007ffe5a96b000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f57d5714000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f57d550c000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f57d520a000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f57d4ff4000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f57d4c49000)
/lib64/ld-linux-x86-64.so.2 (0x00007f57d593a000)
Code: Select all
drwxrwxr-x 8 factorio factorio 4096 Mar 23 11:40 factorio
drwxrwxrwx 3 factorio factorio 4096 Mar 23 19:22 factorio-init
Code: Select all
-rw-r--r-- 1 factorio factorio 0 Mar 23 11:24 Factorio.pid
drwxr-xr-x 3 factorio factorio 4.0K Mar 23 09:50 bin
drwxr-xr-x 2 factorio factorio 4.0K Mar 23 11:39 config
-rw-r--r-- 1 factorio factorio 998 Jul 13 2015 config-path.cfg
drwxr-xr-x 4 factorio factorio 4.0K Mar 18 12:57 data
-rw-r--r-- 1 factorio factorio 8.1K Mar 23 11:41 factorio-current.log
-rw-r--r-- 1 factorio factorio 3.0K Mar 23 11:39 factorio-previous.log
drwxr-xr-x 2 factorio factorio 4.0K Mar 23 11:39 mods
-rw-r--r-- 1 factorio factorio 402 Mar 23 11:39 player-data.json
drwxr-xr-x 2 factorio factorio 4.0K Mar 23 11:39 saves
drwxr-xr-x 3 factorio factorio 4.0K Mar 23 11:40 temp
Code: Select all
-rw-r--r-- 1 root root 1.1K Mar 23 19:21 LICENSE
-rw-r--r-- 1 factorio factorio 1.6K Mar 23 19:21 README.md
-rw-r--r-- 1 root root 2.5K Mar 23 19:22 config
-rw-r--r-- 1 root root 2.5K Mar 23 19:21 config.example
-rwxr-xr-x 1 root root 12K Mar 23 19:21 factorio
-rw-r--r-- 1 root root 621 Mar 23 19:21 factorio.service.example
Code: Select all
****:/opt#su factorio
/opt/factorio/bin/x64/factorio --start-server save
0.000 2016-03-23 20:05:33; Factorio 0.12.28 (Build 17913, linux64, headless)
0.017 Operating system: Linux (Debian 8.3)
0.017 Program arguments: "/opt/factorio/bin/x64/factorio" "--start-server" "save"
0.017 Read data path: /opt/factorio/data
0.017 Write data path: /opt/factorio
0.017 Binaries path: /opt/factorio/bin
0.023 Running in headless mode
0.026 Loading mod core 0.0.0 (data.lua)
0.027 Loading mod base 0.12.28 (data.lua)
0.068 Loading mod marathon 1.0.1 (data.lua)
0.110 Loading mod marathon 1.0.1 (data-updates.lua)
0.364 Factorio initialised
0.365 Info Router.cpp:507: Router peerID(65535) shutting down.
0.365 Info Router.cpp:534: Router state -> Disconnected
0.365 Info MultiplayerManager.cpp:912: networkTick(0) mapTick(-1) changing state from(Ready) to(PreparedToHostGame)
0.365 Info MultiplayerManager.cpp:912: networkTick(0) mapTick(-1) changing state from(PreparedToHostGame) to(CreatingGame)
0.365 Loading map /opt/factorio/saves/save.zip
0.378 Info Scenario.cpp:124: Map version 0.12.28-1
0.827 Info MultiplayerManager.cpp:281: 0x7f54ab56e350, (nil)
0.827 Info PosixUDPSocket.cpp:34: Opening socket at port 34197
0.827 Info Router.cpp:534: Router state -> Connected
0.827 Info Synchronizer.cpp:54: NetworkTick(0) initialized Synchronizer local peer(0) latency(6).
0.827 Hosting game at port 34197, peerID 0, session magic 3677
0.827 Info MultiplayerManager.cpp:303: 0x7f54ab56e350, 0x7f54ab56e350
0.827 Info MultiplayerManager.cpp:912: networkTick(0) mapTick(10356399) changing state from(CreatingGame) to(InGame)
0.827 Info NetworkInputHandler.cpp:45: mapTick(10356399) networkTick(0) initialized NetworkInputHandler local peer(0).
0.944 Info MultiplayerManager.cpp:1411: Received peer info for peer(0) username(<server>).
0.944 Info MultiplayerManager.cpp:1059: networkTick(6) mapTick(10356399) received stateChanged peerID(0) oldState(Ready) newState(CreatingGame)
0.944 Info MultiplayerManager.cpp:1059: networkTick(6) mapTick(10356399) received stateChanged peerID(0) oldState(CreatingGame) newState(InGame)
Code: Select all
****:/opt/factorio-init# ./factorio start
Factorio is running.
Re: [linux] Dedicated server init script
This seems to be your issue right there, did you add a service file? (you can copy/symlink the factorio.service.example and update its content based on your own environment)WhiteORU wrote: Failed to start factorio.service: Unit factorio.service failed to load: No such file or directory.
Hosting a factorio server? Take a look at this || init script ||.
Re: [linux] Dedicated server init script
Why does the init script generate another save file instead of using the original?
From what I understand:
- If I start the server with save1.zip, a copy of that will be generated.
- Play a few days.
- Start the server with another save -> all recent progress of save1 is lost since it was in the dummy file factorio-init-save.zip
From what I understand:
- If I start the server with save1.zip, a copy of that will be generated.
- Play a few days.
- Start the server with another save -> all recent progress of save1 is lost since it was in the dummy file factorio-init-save.zip
Re: [linux] Dedicated server init script
The save name, or rather the entire invocation with all its arguments is used to find which process id the server runs as. I opted to keep a static name used for this reason - as such, if you want to play different save games you need to manually copy them aside and use "load-save" to play the one you want to use right now.gloix wrote:Why does the init script generate another save file instead of using the original?
(while it never crossed my mind before I guess a similar command "copy-save" could find usage for a limited number of users - feel free to implement and pull request if you want to )
Hosting a factorio server? Take a look at this || init script ||.
Re: [linux] Dedicated server init script
It won't start on my server. When I execute service factorio start it gives an error in the debug log: could not find a pid for binary: "/opt/factorio/bin/x64/factorio". service factorio help does work. I also have all the dependencies. The Systemd part seems to be running succesfully. How can I solve this? I am a Linux newbie.