diff --git a/.gitignore b/.gitignore index fc0725a7..0f7ce207 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ Factorio* /factorio /instances /sharedMods +/database \ No newline at end of file diff --git a/README.md b/README.md index 642d9217..686590d7 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,11 @@ Clusterio is built up of multiple parts. Here is a quick guide: Master = master.js -Slave = client.js + factorio server +Server host (Slave) = client.js + factorio server -Client = The people connecting to the server +Game Client = The people connecting to the server -Master and all all Slaves have to be running nodejs. Get it from nodejs.org. - -All Slaves AND Clients need to be running the clusterio mod located in this repository. Install it by dropping it into the mods folder. +All Server Hosts (Slaves) AND Game Clients need to be running the clusterio mod located at [github](https://github.com/Danielv123/factorioClusterioMod) Install it by dropping it into the mods folder. There are no requirements for other mods, they can be ran in any configuration allowed by the base game. @@ -42,45 +40,37 @@ reboot when you are done, then proceed to the next steps. *reboots matter* **Master** -1. Download this repository +1. download and run https://puu.sh/toFHl/01eebbb333.bat -2. npm install +2. You do not *need* to follow the given instructions, but you should -3. node master.js +3. type `node master.js` -**Slave** +**Server Host** -1. Download this repository +1. download and run https://puu.sh/toFHl/01eebbb333.bat -2. Unzip to desktop (or other folder) +2. Follow the instructions given -3. Place your factorio server folder inside of factorioClusterio/, making it factorioClusterio/factorio +3. Type `node client.js start [instancename]` to create a new instance. -To connect to a master server running on a remote machine, open config.json with your favourite text editor (notepad++) +To connect to a master server running on a remote machine, open config.json with your favourite text editor (notepad++). You can also set it up to use the official server browser server. Change masterIP to something like 31.152.123.14 (provided by master server owner) Change masterPort to something like 8080 (provided by master server owner) -4. Open a cmd window by shift + right clicking in exlporer (https://puu.sh/tozfj/e3fd0acf6f.png Åpne kommando vindu her/open command window here) +Repeat step 3 for more servers on one machine. You should be able to find its port by looking at the slave section on master:8080 (the web interface) -5. Type +**GameClient** - node client.js start [instancename] - - to create a new instance. - -Repeat step 4 and 5 for more servers on one machine. You should be able to find its port by looking at the console output or at the slave section on master:8080 (the web interface) - -**Client** - -Alternative experimental client: [clusterioClient](https://github.com/Danielv123/factorioClusterioClient) +Alternative experimental client that may be broken: [clusterioClient](https://github.com/Danielv123/factorioClusterioClient) 1. Download the same version of the mod as the slave is running from [the mod portal](https://mods.factorio.com/mods/Danielv123/clusterio) or [github](https://github.com/Danielv123/factorioClusterioMod 2. Drop it into ./factorio/mods -3. Run factorio and connect to slave as a normal MP game. +3. Run factorio and connect to slave as a normal MP game. You will find the port number to connect to at http://[masterAddress]:8080 #Ubuntu setup @@ -96,10 +86,12 @@ downloads and installs nodejs, git and clusterio. To specify a version, change " node master.js -**Slave** +**Server Host** To download the mod for all its non vanilla features and items, (optional) node client.js download node client.js start [instancename] + +use `nano config.json` to change settings. diff --git a/client.js b/client.js index 04e55aed..c8060027 100644 --- a/client.js +++ b/client.js @@ -190,7 +190,7 @@ write-data=__PATH__executable__/../../../instances/" + instance + "\r\n\ //TODO: catch '2.033 Info RemoteCommandProcessor.cpp:97: Starting RCON interface at port 35002' from stdout maybe? setTimeout(() => { client.connect(); - }, 5000); + }, 15000); client.on('authenticated', function () { console.log('Authenticated!'); diff --git a/config.json b/config.json index f5c44cd5..ce6ea2e9 100644 --- a/config.json +++ b/config.json @@ -11,10 +11,12 @@ "__comment": "credentials for factorio MP services, also username will be admin", "username": "", - "usertoken": "", + "password": "", + "__comment": "Token can be used instead of password, but for the most part just ignore", + "token": "", "__comment": "General user settings", - "verify_user_identity": true, + "verify_user_identity": false, "auto_pause": false, "allow_commands": "admins-only", "game_password": "", diff --git a/package.json b/package.json index 94494409..a1917639 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "canvasjs": "^1.8.1", "child_process": "^1.0.2", "express": "^4.14.0", + "express-fileupload": "0.0.6", "follow-redirects": "^1.2.1", "fs": "0.0.2", "fs-extra": "^1.0.0",