Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
d5e5a90
backported svelteUI from SteamSUI into StationeersSUI. Looks cool, no…
JacksonTheMaster Aug 12, 2025
31da432
update discordrichpresence to v1.1.0 (windows support)
JacksonTheMaster Aug 24, 2025
6dd0d75
added 15:04 format with scheduleDailyRestart func to auto restart to …
JacksonTheMaster Aug 26, 2025
dee4c97
update Dockerfile and workflows for go 1.25.0
JacksonTheMaster Aug 28, 2025
737c9b9
add debug mode check to skip SteamCMD installation
JacksonTheMaster Aug 28, 2025
046edc6
remove log level check to run pprof
JacksonTheMaster Aug 28, 2025
06bd8c6
refactored gamemgr into smaller files & improved auto restart functio…
JacksonTheMaster Aug 28, 2025
6f1e3c6
added save before auto restart
JacksonTheMaster Aug 28, 2025
1d804af
detectionmgr: implement singleton getter to get global detector from …
JacksonTheMaster Aug 28, 2025
6dd90ae
add http HandleConnectedPlayersList first pass to show connected play…
JacksonTheMaster Aug 28, 2025
fd38135
improved backup dir error message
JacksonTheMaster Aug 28, 2025
2775522
add auto restart time parsing for 12hour format (03:04PM)
JacksonTheMaster Aug 28, 2025
3d95862
statically forward 27015 and 27016 (gamserver ports) in devcontainer.…
JacksonTheMaster Aug 28, 2025
333c464
fixed detector not correctly tracking players on beta due to logging …
JacksonTheMaster Aug 28, 2025
6409cde
fixed endpoint name for connectedplayers (had used coonnectedplayers …
JacksonTheMaster Aug 28, 2025
465dd03
update save identifier info on config page and in setup to include sp…
JacksonTheMaster Aug 28, 2025
85faf1d
improved connected players logic with custom jxsn.dev api to get imag…
JacksonTheMaster Aug 29, 2025
e985fd2
added JXSNDevApiKey config field and en localization keys, added to U…
JacksonTheMaster Aug 29, 2025
11e5dda
skip CleanUpOldExecutables when debug is true
JacksonTheMaster Aug 29, 2025
e68785d
ignore Fallback handler could not load library errors (probably race …
JacksonTheMaster Aug 29, 2025
5f403f0
fixed restore to now properly edit the DateTime element in world_meta…
JacksonTheMaster Aug 30, 2025
ae31542
moved SSCM Head save after WaitTime sleep in backupmanager
JacksonTheMaster Aug 30, 2025
f45bc10
updated Backup successfully copied to safe location log message to pr…
JacksonTheMaster Aug 30, 2025
4de2c89
- Added connected players list to webUI
JacksonTheMaster Aug 30, 2025
7a4803f
automatically fetch backups and connected players.
JacksonTheMaster Aug 30, 2025
3ad4f63
bump version to v5.6.1
JacksonTheMaster Aug 30, 2025
5dde649
persist assigned image for players until next page reload
JacksonTheMaster Aug 30, 2025
212ccca
added proper playerImages
JacksonTheMaster Aug 30, 2025
9063232
fix js issue with new player tracking endpoint
JacksonTheMaster Aug 30, 2025
7a06ab6
updated backup manager design
JacksonTheMaster Aug 30, 2025
fd51fe0
change new backup manager UI to be more consistent with old UI
JacksonTheMaster Aug 30, 2025
b13dd99
fix last 50 value on backup manager UI
JacksonTheMaster Aug 30, 2025
9f224a3
improved new backup managers css, fixed bug where status indicator er…
JacksonTheMaster Aug 30, 2025
6e3eea9
- readded folder parse Errors to webUI
JacksonTheMaster Aug 30, 2025
ff985ad
reused logger and sse implemenation from SteamServerUI.
JacksonTheMaster Aug 30, 2025
ee7787a
re-add UIText_MaxPlayers
JacksonTheMaster Aug 30, 2025
6f8a5b5
fix: run CleanUpOldExecutables only on root dir
JacksonTheMaster Aug 30, 2025
574d822
added v2 (v6 SteamServerUI) to StationeersServerUI (where possible)
JacksonTheMaster Aug 30, 2025
af8cdc7
update devcontainer and vscode tasks for v6 UI
JacksonTheMaster Aug 30, 2025
8feb7f9
add mobile style for backup-controls
JacksonTheMaster Aug 30, 2025
a42453f
implemented "backend log" console tab with log level based styling (v…
JacksonTheMaster Aug 30, 2025
ae80579
improved logging (less clutter)
JacksonTheMaster Aug 30, 2025
4035505
fix: correct CleanupInterval assignment in GetBackupConfig
JacksonTheMaster Aug 31, 2025
aa0cf05
move saveconfigasjson endpoint to configuration section in start.go
JacksonTheMaster Aug 31, 2025
9368736
added getters and setters and SafeSaveConfig func (based on SteamServ…
JacksonTheMaster Aug 31, 2025
d624821
Refactor config access methods to use getter functions
JacksonTheMaster Aug 31, 2025
4a31db5
moved used Setters to top of setters.go
JacksonTheMaster Aug 31, 2025
8cc3320
fix: use GetGameBranch instead of GameServerAppID as beta name (steam…
JacksonTheMaster Aug 31, 2025
dd90bb0
updated setters to use safeSaveConfig
JacksonTheMaster Aug 31, 2025
9e19154
updated configchanger to handle SaveConfig instead of loader
JacksonTheMaster Aug 31, 2025
e107eed
updated config handling in config package for new thread safety
JacksonTheMaster Aug 31, 2025
efb7ddc
simplified AfterStartComplete config save with new Setter like functi…
JacksonTheMaster Aug 31, 2025
afe9ecd
backported tls updates from SteamSUI
JacksonTheMaster Aug 31, 2025
3b5eebe
fixed a bug where the register users handler would always overwrite t…
JacksonTheMaster Aug 31, 2025
8db0aea
renamed AdditionalLoginHeaderText to SSUIIdentifier and use it on Ind…
JacksonTheMaster Aug 31, 2025
3653e64
backup manager now stops server before restoring
JacksonTheMaster Aug 31, 2025
2b0151e
update backup restored message
JacksonTheMaster Aug 31, 2025
1e0d06c
refactor: update configuration management and clean up unused variables
JacksonTheMaster Aug 31, 2025
cfd62bb
fix: clear players in StopServer handler to ensure proper state manag…
JacksonTheMaster Sep 1, 2025
f00f083
feat: implement asynchronous logging with buffered channel for improv…
JacksonTheMaster Sep 1, 2025
e4fe19c
added console configuration to disable QuickEdit to reduce blocking i…
JacksonTheMaster Sep 1, 2025
89fc129
moved printStartupMessage & printFirstTimeSetupMessage to AfterStartC…
JacksonTheMaster Sep 1, 2025
6b909b1
moved all initializaion at startup into loader.InitBackend() with pro…
JacksonTheMaster Sep 1, 2025
6d51c05
refactored waitGroup handling in server.go and called functions to no…
JacksonTheMaster Sep 1, 2025
7ea975a
fix: correct function call for terrain and save system check in build…
JacksonTheMaster Sep 1, 2025
1ea8132
updated API information header to indicate incomplete status
JacksonTheMaster Sep 1, 2025
38dc62d
updated some UI Texts to further simplify setup and configuration
JacksonTheMaster Sep 1, 2025
e9ad4ef
moved routes into SetupRoutes()
JacksonTheMaster Sep 1, 2025
f1575ca
change log level of Starting setup... statement in server.go
JacksonTheMaster Sep 1, 2025
ea6f57d
wrap https server under custom webServerLogger to suppress TLS handsh…
JacksonTheMaster Sep 1, 2025
dd62546
update page title to include version and SSUI identifier
JacksonTheMaster Sep 1, 2025
09a65e3
added supportMode and supportPackage
JacksonTheMaster Sep 1, 2025
017be3c
updated support package to remove sensitive elements from json config
JacksonTheMaster Sep 1, 2025
6b25f02
updated PrintConfigDetails to include all config values again
JacksonTheMaster Sep 1, 2025
3674d46
added some more funnyMessages to console
JacksonTheMaster Sep 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Use Debian-based VS Code dev container image
FROM mcr.microsoft.com/vscode/devcontainers/base:bookworm

ARG TZ
ENV TZ="$TZ"

# Install dependencies in a single layer to reduce image size
RUN apt-get update && apt-get install -y \
curl \
Expand All @@ -11,14 +14,18 @@ RUN apt-get update && apt-get install -y \
wget \
&& rm -rf /var/lib/apt/lists/*

# Install Go 1.24.2
RUN wget -q https://go.dev/dl/go1.24.2.linux-amd64.tar.gz && \
tar -C /usr/local -xzf go1.24.2.linux-amd64.tar.gz && \
rm go1.24.2.linux-amd64.tar.gz
# Install Go 1.25.0
RUN wget -q https://go.dev/dl/go1.25.0.linux-amd64.tar.gz && \
tar -C /usr/local -xzf go1.25.0.linux-amd64.tar.gz && \
rm go1.25.0.linux-amd64.tar.gz
ENV PATH="/usr/local/go/bin:${PATH}"
ENV GOPATH=/go
RUN mkdir -p /go/bin && chown -R vscode:vscode /go

# Install Node.js 22.15.0
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
apt-get install -y nodejs && \
npm install -g npm@latest

# Set up non-root user and workspace
USER vscode
Expand Down
14 changes: 9 additions & 5 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
{
"name": "StationeersServerUI (Go)",
"name": "StationeersServerUI (Go+Svelte)",
"build": {
"dockerfile": "Dockerfile"
"dockerfile": "Dockerfile",
"args": { "TZ": "${localEnv:TZ:Europe/Stockholm}" }
},
"workspaceFolder": "/workspaces/project",
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/project,type=bind,consistency=cached",
"features": {
"ghcr.io/devcontainers/features/go:1": {
"version": "1.24.2"
"version": "1.25.0"
}
},
"forwardPorts": [8443],
"runArgs": ["-p=27015:27015/udp", "-p=27016:27016/udp"],
"portsAttributes": {
"8443": { "label": "Go Backend Server" }

Expand All @@ -19,13 +21,15 @@
"vscode": {
"extensions": [
"golang.go",
"svelte.svelte-vscode",
"supermaven.supermaven",
"eamodio.gitlens"
],
"settings": {
"go.toolsManagement.autoUpdate": true
"go.toolsManagement.autoUpdate": true,
"svelte.enable-ts-plugin": true
}
}
},
"postCreateCommand": "go mod tidy"
"postCreateCommand": "go mod tidy && cd frontend && npm install && npm install @sveltejs/vite-plugin-svelte"
}
2 changes: 1 addition & 1 deletion .github/workflows/auto-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24.2'
go-version: '1.25.0'

# Install dependencies
- name: Install dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24.2'
go-version: '1.25.0'

# Install dependencies
- name: Install dependencies
Expand Down
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,7 @@ UIMod/config/customdetections.json
winhttp.dll
autostart*
__debug_bin*

frontend/node_modules
frontend/dist
frontend/build
UIMod/onboard_bundled/v2
1 change: 1 addition & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"recommendations": [
"golang.go",
"svelte.svelte-vscode"
]
}
10 changes: 10 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}/server.go",
"preLaunchTask": "npm: build",
"console": "integratedTerminal",
"showLog": false, // Hides some Go Debugger(Delve) log stuff that is not useful for debugging atm
},
{
"name": "Debug Go Server noSvelte",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}/server.go",
"console": "integratedTerminal",
"showLog": false, // Hides some Go Debugger(Delve) log stuff that is not useful for debugging atm
}
Expand Down
73 changes: 72 additions & 1 deletion .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,56 @@
"tasks": [
{
"type": "shell",
"label": "go: run build.go",
"label": "npm: install",
"command": "npm",
"args": [
"install"
],
"options": {
"cwd": "${workspaceFolder}/frontend"
},
"problemMatcher": [],
"group": "build",
"detail": "Install Svelte UI dependencies",
"hide": true
},
{
"type": "shell",
"label": "npm: build",
"command": "npm",
"args": [
"run",
"build"
],
"options": {
"cwd": "${workspaceFolder}/frontend"
},
"dependsOn": [
"go: sync backend version with frontend version"
],
"problemMatcher": [],
"group": "build",
"detail": "Build Svelte UI production bundle",
"hide": true
},
{
"type": "shell",
"label": "go: sync backend version with frontend version",
"command": "go",
"args": [
"run",
"./build/version.go"
],
"problemMatcher": [
"$go"
],
"group": "build",
"detail": "Sync the backend version to package.json so the Electron auto updater can find its latest update on GitHub",
"hide": true
},
{
"type": "shell",
"label": "Build: Go Server with fresh assets",
"command": "go",
"args": [
"run",
Expand All @@ -14,7 +63,29 @@
],
"group": "build",
"detail": "Build Go binarys in ./build with fresh svelte assets",
"dependsOn": [
"npm: build"
],
"dependsOrder": "sequence",
"hide": false
},
{
"label": "Run: Go Server with fresh assets",
"type": "shell",
"command": "go",
"args": [
"run",
"./server.go"
],
"problemMatcher": [
"$go"
],
"group": "test",
"detail": "Tip: press F5 for the VsCode Debugger instead of this task",
"dependsOn": [
"npm: build"
],
"dependsOrder": "sequence"
}
]
}
2 changes: 1 addition & 1 deletion UIMod/onboard_bundled/assets/apiinfo.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<img src="/static/stationeers.png" alt="Stationeers Banner" id="banner">
</header>
<main>
<h1>About the Server API</h1>
<h1>About the Server API (Incomplete)</h1>

<div class="api-overview">
<p>This server provides a complete REST API alongside the HTML interface. All UI actions map to API endpoints, allowing full programmatic control.</p>
Expand Down
Loading
Loading