Skip to content
Open
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,8 @@ Below is a categorized list of games with links to their respective server confi

#### [Soldat 2](./soldat_2)

#### [StarRupture](./starrupture)

#### [Sunkenland](./sunkenland)

### [Voyager of Nera](./voyagers_of_nera)
Expand Down
109 changes: 109 additions & 0 deletions starrupture/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# StarRupture

StarRupture is a first-person open world base-building game with advanced combat and tons of exploration. Play alone or in a group on this sublime and ever-changing planet, extract and manage resources, create your complex industrial system and fight off hordes of alien monsters.

## Server software is still in experimental fase.
So expect some breaks in future!

### Author & Contributers
| Name | Github Profile |
| ------------- |-------------|
| brainshead | https://github.com/brainshead |
| SavageCore | https://github.com/SavageCore |

## Server Ports

StarRupture requires up to 1 ports

| Port | default |
|---------|---------------|
| Game | 7777 |

This can be changed to any port.

## Install Notes

| Requirements | Memory| Storage |
|---------------------|-------|---------|
| Minimal | 2GB | 25 GB |
| Recommended | 4+ GB| 40GB+ |


## Settings
### Password protecting your server
> ⚠️ Anyone that knows your IP and port can join your server if no password is set!
If you wish to setup a password you will have to do this before using DSSettings.txt below. We are currently not aware of any method to configure a password either via parameters or DSSettings.txt.

1. Start your server, ensuring no DSSettings.txt file exists
2. Open the StarRupture game client
3. Connect to your server using the in game Server Manager from the main menu
4. The game will first ask you to configure an Admin Password, do this
5. Click the Change Password button in the Server Manager dialog
6. Enter the join password that players will use when connecting to your server.
7. Click Back (or press ESC) Do not attempt to create a new game or load a game at this point
8. Stop your server and contiune with the DSSettings.txt configuration above

### Creating and Loading Save Games
1. ### By using in-game Server management.
On the main menu of the game, click on Manage Server and enter your ip and port to connect to your server.
From here you can create a new world or load an existing save.

2. ### Manual way (no password protection)
Create `DSSettings.txt` in root `(/home/container/)`
Paste this inside

```
{
"SessionName": "MySaveGame",
"SaveGameInterval": "300",
"StartNewGame": "false",
"LoadSavedGame": "true",
"SaveGameName": "AutoSave0.sav"
}
```
### Configuration Options
### SessionName
Name of the save game session.
Can not exceed 20 characters.

### SaveGameInterval
Time between automatic saves (in seconds).
300 = 5 minutes.
> ⚠️ Only set this to true once when creating a new world!
### StartNewGame
true → Forces creation of a new world.

false → Prevents new save creation.
### LoadSavedGame
true → Loads an existing save

false → Skips loading saved data

### Creating a New Save (New World)
1. Stop the server
2. Set:
```
"StartNewGame": "true",
"LoadSavedGame": "false"
```
4. Start the server and wait for it to finish loading
5. Stop the server.
6. Revert:
```
"StartNewGame": "false",
"LoadSavedGame": "true"
```
7. Start the server and join it.
### Loading an Existing Save
1. Stop the server.
2. Ensure :

```
"StartNewGame": "false",
"LoadSavedGame": "true",
"SaveGameName": "AutoSave0.sav"
```
3. Upload your save game .sav and .met file to the server
Location of saves : `/home/container/StarRupture/Saved/SaveGames`
5. Rename these files to be AutoSave0.sav and AutoSave0.met
6. Start the server and join it.
142 changes: 142 additions & 0 deletions starrupture/egg-star-rupture.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2026-01-08T15:36:50+01:00",
"name": "StarRupture",
"author": "brainshead@gmail.com",
"description": "StarRupture is a first-person open world base-building game with advanced combat and tons of exploration. Play alone or in a group on this sublime and ever-changing planet, extract and manage resources, create your complex industrial system and fight off hordes of alien monsters.",
"features": [],
"docker_images": {
"Wine Latest": "ghcr.io\/ptero-eggs\/yolks:wine_latest"
},
"file_denylist": [],
"startup": "cd \/home\/container\/StarRupture\/Binaries\/Win64; wine .\/StarRuptureServerEOS-Win64-Shipping.exe -Log -Port=${SERVER_PORT} & SR_PID=$!; tail -c0 -F \/home\/container\/StarRupture\/Saved\/Logs\/StarRupture.log --pid=$SR_PID | grep -v -E \"LogCore: Warning|LogUObjectBase: Error\"",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"OnUpdateSessionComplete\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n#Custom Commands\r\n\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/ptero-eggs\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "[STEAM] Steam User",
"description": "This is a required setting and cannot be set to anonymous.",
"env_variable": "STEAM_USER",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "[STEAM] Steam Password",
"description": "Steam User Password",
"env_variable": "STEAM_PASS",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "[STEAM] Game ID",
"description": "The ID corresponding to the game to download and run using SRCDS",
"env_variable": "SRCDS_APPID",
"default_value": "3809400",
"user_viewable": false,
"user_editable": false,
"rules": "string",
"field_type": "text"
},
{
"name": "[STEAM] Steam Auth",
"description": "Steam account auth code. Required if you have 2fa enabled",
"env_variable": "STEAM_AUTH",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string|max:5",
"field_type": "text"
},
{
"name": "[STEAM] WINDOWS_INSTALL",
"description": "",
"env_variable": "WINDOWS_INSTALL",
"default_value": "1",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:1",
"field_type": "text"
},
{
"name": "[STEAM] Auto Update Server",
"description": "This is to auto-update the game server",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "[SYSTEM] Winetricks",
"description": "",
"env_variable": "WINETRICKS_RUN",
"default_value": "vcrun2022",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "[SYSTEM] Wine Debug",
"description": "",
"env_variable": "WINEDEBUG",
"default_value": "-all",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "[SYSTEM] WINEARCH",
"description": "",
"env_variable": "WINEARCH",
"default_value": "win64",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "[SYSTEM] WINEPREFIX",
"description": "Wine root directory for the container",
"env_variable": "WINEPREFIX",
"default_value": "\/home\/container\/.wine",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:100",
"field_type": "text"
},
{
"name": "[SYSTEM] WINEDLLOVERRIDES",
"description": "",
"env_variable": "WINEDLLOVERRIDES",
"default_value": "mscoree,mshtml=",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}