|
1 | 1 | [](https://artifacthub.io/packages/search?repo=factorio-server-charts)
|
2 |
| - |
| 2 | +[](https://www.factorio.com/) |
| 3 | +[](https://sqljames.github.io/factorio-server-charts/index.yaml) |
| 4 | +[](https://sqljames.github.io/factorio-server-charts/index.yaml) |
3 | 5 |
|
4 | 6 | # factorio-server-charts
|
5 | 7 |
|
6 |
| -[factorio-server-charts](https://github.com/SQLJames/factorio-server-charts) - A Helm chart for running factorio in kubernetes |
| 8 | +[factorio-server-charts](https://github.com/SQLJames/factorio-server-charts) - A Helm chart for running factorio in |
| 9 | +kubernetes |
7 | 10 |
|
8 | 11 | ## Introduction
|
9 | 12 |
|
10 |
| -This chart deploys Factorio on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. |
11 |
| - |
12 |
| -## Prerequisites |
13 |
| - |
14 |
| -- This chart does require a nodeport open if playing publicly. |
15 |
| -- networking knowledge to route the traffic to the appropriate port. |
| 13 | +This chart deploys Factorio on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package |
| 14 | +manager. |
16 | 15 |
|
17 | 16 | ## Background
|
18 |
| -This is something of a passion project for both learning kubernetes and because kubernetes is awesome. |
19 |
| -Because of this, I have only confirm this working on version 1.1.0 of factorio but I am sure it will work just fine on old versions as long as the schema doesn't change to much on the Secrets settings. |
20 | 17 |
|
21 |
| -However, with the way this is implemented if you want to make it backwards compatible, you can update the appropriate sections in the values.yaml file to have the items added or removed to the json files that are required by factorio. Server-settings, map-gen-settings, etc. |
| 18 | +This is something of a passion project for both learning kubernetes and because kubernetes is awesome. |
| 19 | +Because of this, I have only confirm this working on version 1.1.0 of factorio but I am sure it will work just fine on |
| 20 | +old versions as long as the schema doesn't change to much on the Secrets settings. |
22 | 21 |
|
23 |
| -I did run into one issue on my setup, and I feel like it will likely come up again if people follow along. The factorio server is defaulting to run on port 30000 instead of 34197 because the default nginx port range for ingress does not have 34197 within the normal port range. This shows the line of code that specifically is causing the issue inside kubernetes :) |
24 |
| -https://github.com/kubernetes/kubernetes/blob/59876df736c41093363f4c198aeec05e29c9c902/cmd/kube-apiserver/app/server.go#L197 |
| 22 | +However, with the way this is implemented if you want to make it backwards compatible, you can update the appropriate |
| 23 | +sections in the values.yaml file to have the items added or removed to the json files that are required by factorio. |
| 24 | +Server-settings, map-gen-settings, etc. |
25 | 25 |
|
26 | 26 | ## Releases
|
27 |
| -Releases are published using the official helm release action in github. |
| 27 | + |
| 28 | +Releases are published using the official helm release action in github. |
28 | 29 | https://github.com/helm/chart-releaser-action
|
29 | 30 |
|
30 |
| -## Quick Start |
31 |
| -- create a values.yaml file |
32 |
| -- set the following options |
33 |
| - |
34 |
| -``` |
35 |
| -rcon: |
36 |
| - external: false |
37 |
| -
|
38 |
| -nodeSelector: |
39 |
| - kubernetes.io/hostname: "<name of your node>" #this makes it easier for firewall rules and makes sure things dont change |
40 |
| -
|
41 |
| -#making sure the game doesnt auto update on redeploy |
42 |
| -#https://hub.docker.com/r/factoriotools/factorio/ |
43 |
| -image: |
44 |
| - tag: "<set me to the appropriate docker tag>" |
45 |
| -
|
46 |
| -
|
47 |
| -persistence: |
48 |
| - enabled: true |
49 |
| -
|
50 |
| -factorioServer: |
51 |
| - save_name: "<set me to your name>" |
52 |
| -
|
53 |
| -#needed if playing online |
54 |
| -admin_list: #put your admins based on factorio names |
55 |
| - # - "john_doe" |
56 |
| - # - "jane_doe" |
57 |
| -
|
58 |
| -white_list: #put the people you want to play with you based on factorio names |
59 |
| - # - "john_doe" |
60 |
| - # - "jane_doe" |
61 |
| -
|
62 |
| -server_settings: |
63 |
| - name: Factorio-2022-01-kubernetes |
64 |
| - tags: |
65 |
| - - modded |
66 |
| - visibility: |
67 |
| - public: true |
68 |
| - # Your factorio.com login credentials. Required for games with visibility public |
69 |
| - username: '' |
70 |
| - # Authentication token. |
71 |
| - token: '' |
72 |
| - # password required to log into the factorio server |
73 |
| - game_password: '' |
74 |
| - require_user_verification: true |
75 |
| -``` |
76 |
| - |
77 |
| -## installing mods |
78 |
| - |
79 |
| -change enabled to true, follow comments below. |
80 |
| - |
81 |
| -If the factorio server doesn't start, check that the logs don't have an error with the mods. They are pretty verbose |
82 |
| -``` |
83 |
| -mods: |
84 |
| - enabled: true |
85 |
| -# in order to use the mods portal you will need to specify the username and token in the server_settings. |
86 |
| -# name is determined by the url, it will be the last part of the url, not the title of the mod. |
87 |
| - portal: |
88 |
| - - Krastorio2 |
89 |
| - - StorageTank2_Updated |
90 |
| - - early-robots |
91 |
| -# unofficial section is meant to just allow you to download and place folders into the mods folder. |
92 |
| -# we will not check version compatibility automatically with these downloads. |
93 |
| -# you can encounter an error if the file names dont match what the mod is expecting for example |
94 |
| -#Error Util.cpp:83: Failed to load mod "Squeak-Through": Filename of mod |
95 |
| -# /factorio/mods/Squeak-Through.zip doesn't match the expected Squeak Through_1.8.2.zip (case sensitive!) |
96 |
| - unofficial: |
97 |
| - - url: "https://github.com/Suprcheese/Squeak-Through/archive/refs/tags/1.8.2.zip" |
98 |
| - name: "Squeak Through_1.8.2.zip" |
99 |
| -``` |
100 |
| - |
101 |
| -## Readme |
102 |
| -Readme was generated from the [chart-doc-gen](https://github.com/kubepack/chart-doc-gen) tool. |
| 31 | +## Full Documentation |
| 32 | + |
| 33 | +To read the full documentation check the |
| 34 | +chart's [README.md](https://github.com/SQLJames/factorio-server-charts/blob/main/charts/factorio-server-charts/README.md) |
| 35 | + |
| 36 | +## Changelog |
| 37 | + |
| 38 | +### V1.1.0 |
| 39 | + |
| 40 | +#### Breaking Changes |
| 41 | + |
| 42 | +- Moved account data from `server_settings.` to `account.` in values.yaml |
| 43 | +- Moved server password from `server_settings.` to `serverPassword.` in values.yaml |
| 44 | + |
| 45 | +#### Non-Breaking Changes |
| 46 | + |
| 47 | +- Added `account.accountSecret` field to values.yaml |
| 48 | +- Added `rcon.passwordSecret` field to values.yaml |
| 49 | +- Added `serverPassword.passwordSecret` field to values.yaml |
| 50 | +- Changed default `rcon.password` to `CHANGEMECHANGEME`, which should be changed anyway |
| 51 | +- Changed default `map_gen_settings.autoplace_controls` from the standard values to `{}`, since by default map |
| 52 | + generation follows standard parameters if not overriden |
| 53 | +- Changed default `admin_list`, `white_list` and `ban_list` to `[]` instead of `nil` |
0 commit comments