Skip to content

Commit bd7280e

Browse files
updates
1 parent 77c11ea commit bd7280e

File tree

12 files changed

+13
-43
lines changed

12 files changed

+13
-43
lines changed

docs/tech/tools/games/factorio_headless_server_on_proxmox_lxc.md

Lines changed: 13 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
# Factorio Headless Server on Proxmox (LXC)
1+
# Factorio
2+
3+
## Headless Server on Proxmox (LXC)
24

35
*Guest contribution by [HiSch](https://github.com/HiSch)*
46

57
This guide will walk you through creating a Proxmox LXC container and setting up a **Factorio headless server** inside it.
68

7-
8-
***
9-
10-
## 1. Create a New Proxmox LXC Container
9+
### 1. Create a New Proxmox LXC Container
1110

1211
1. **Download a CT template**
1312
- In Proxmox, select your **host** → go to **local (hostname)** → click **CT Templates**.
@@ -36,9 +35,7 @@ This guide will walk you through creating a Proxmox LXC container and setting up
3635
9. **Finish**
3736
- Click **Finish** → wait for container creation.
3837

39-
***
40-
41-
## 2. Initial Container Setup
38+
### 2. Initial Container Setup
4239

4340
1. Click your new **LXC container****Console/Shell**.
4441
2. Log in as `root` (default).
@@ -57,9 +54,7 @@ adduser factorio
5754

5855
Set a password when prompted.
5956

60-
***
61-
62-
## 3. Install Factorio Headless
57+
### 3. Install Factorio Headless
6358

6459
1. Log in as the new user:
6560

@@ -102,10 +97,7 @@ nano ~/server/data/server-settings.json
10297
exit
10398
```
10499

105-
106-
***
107-
108-
## 4. Setup Systemd Service
100+
### 4. Setup Systemd Service
109101

110102
As **root**, create a new `systemd` service:
111103

@@ -135,10 +127,7 @@ systemctl start factorio
135127
systemctl enable factorio
136128
```
137129

138-
139-
***
140-
141-
## 5. Done
130+
### 5. Done
142131

143132
Your Factorio headless server should now be running automatically on boot.
144133

@@ -155,9 +144,6 @@ systemctl stop factorio
155144
systemctl start factorio
156145
```
157146

158-
159-
***
160-
161147
You now have a dedicated **Factorio server** running inside a Proxmox LXC container!
162148

163149
# Port Forwarding for Factorio Server
@@ -179,18 +165,14 @@ On your home router/firewall:
179165

180166
Save and restart your router if necessary.
181167

182-
***
183-
184-
## Test External Connectivity
168+
### Test External Connectivity
185169

186170
1. From outside your network (ask a friend, or use mobile hotspot):
187171
- Open Factorio → Multiplayer → Connect to your **public IP**.
188172
- Public IP can be found by searching *“what is my IP”* on Google.
189173
2. Make sure your local firewall (Proxmox host or container) is not blocking UDP traffic on port `34197`.
190174

191-
***
192-
193-
## Optional: Register with the Official Server List
175+
### Optional: Register with the Official Server List
194176

195177
Inside your `~/server/data/server-settings.json`, you can configure:
196178

@@ -201,18 +183,13 @@ Inside your `~/server/data/server-settings.json`, you can configure:
201183
This will let your server appear in the official Factorio multiplayer browser.
202184
(Requires that port forwarding is working correctly.)
203185

204-
***
205-
206186
After completing this, you should be able to join by entering your **public IP (and port 34197)** in Factorio multiplayer.
207187

208-
209-
# Updating Factorio Server Automatically
188+
### Updating Factorio Server Automatically
210189

211190
Factorio releases updates often, so it’s a good idea to automate the update process. Below are steps to create a simple script that updates your server daily at 4 AM.
212191

213-
***
214-
215-
## Create the Update Script
192+
### Create the Update Script
216193

217194
Log in as **root** in your Proxmox LXC container and create the script:
218195

@@ -247,18 +224,13 @@ rm -R /home/factorio/factorio/
247224

248225
Save and exit (`CTRL+O`, then `CTRL+X`).
249226

250-
***
251-
252227
## Make the Script Executable
253228

254229
```bash
255230
chmod +x /root/update.sh
256231
```
257232

258-
259-
***
260-
261-
## Schedule Daily Automatic Updates
233+
### Schedule Daily Automatic Updates
262234

263235
Edit root’s **crontab**:
264236

@@ -277,8 +249,6 @@ Add this line at the bottom to run the update daily at 4:00 AM:
277249

278250
Save and exit the crontab editor.
279251

280-
***
281-
282252
## Verify Cron Setup
283253

284254
You can list cron jobs with:
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)