# Introduction This repository was forked from [carloe/docker-factorio](https://hub.docker.com/r/carloe/docker-factorio/) to build a custom configured server and provide extra information on how to setup a server using docker. # Server Setup The easiest way to setup a server by far, is to use [Digital Ocean.](https://m.do.co/c/ebb875976e21) Follow the link to signup and get $10 for free to start you off. This guide assumes your are using a Mac, Windows users may have to alter their method when it comes to terminal usage. Disclaimer: All referrals generate credit to my account for more server goodness. 1. Sign up to [Digital Ocean](https://m.do.co/c/ebb875976e21) 2. Click 'Create droplet' button 3. Under 'Choose an image' select 'One-click apps' 4. Select 'Docker 1.12.\* on 16.04' 5. Select the '$5/mo' size, this is fine for a basic multiplayer server 6. Select the datacenter that is closest to you 7. Add your [SSH public key](https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2). Alternatively, you will need to take note of the password that Digital Ocean emails to you after you setup the server. 8. You will only need 1 droplet, name your server and click create # Connect to your server Windows users will need to look at alterations for using PuTTY. 1. Make note of the IP address of your server (ipv4) 2. Open terminal 3. `ssh root@IPaddress`, obviously replace 'IPaddress' with the IP address. # Build Your Server The latest Factorio headless server is downloaded at build time. 1. `git clone https://github.com/LpmRaven/factorio-docker-server.git` 2. `cd factorio-docker-server` 3. Config your server (see section below then return here) 4. `docker build -t factorio-instance-name .` # Server Configuration 1. `open .` 2. Edit the map-gen-settings.json file and the server-settings.json file (DO NOT RENAME THE FILES) 3. Continue to read the previous section # Persisting Saves Use a docker volume to persist the savegames on the host machine rather than in the docker container. ```bash mkdir $(pwd)/saves # Make sure the saves dir can be written to by the "factorio" user in Docker, with uid 1000 sudo chown 1000:1000 $(pwd)/saves # (alternatively, if you don't have root): chmod 777 $(pwd)/saves ``` # Load a Save/Map To load a save, place the save file in the saves folder and name the file: factorio_save.zip Remove all other files from the save folder as it will load the most recently updated file. # Basic Usage The init script will automatically create a new save game if none exists. Then launch your container as usual. ```bash docker run -d \ -v $(pwd)/saves:/opt/factorio/saves \ -p 34197:34197/udp \ --restart=always \ --name factorio-server \ factorio-instance-name ``` # Play the game! 1. Open Factorio 2. Connect to your server `IPaddress:34197`, change IP address obviously. 3. Default password is `donationswelcome`, feel free to change it. 4. Play the game! Enjoy. Hope this guide helped you setup your factorio server!