Compare commits

..

5 Commits

Author SHA1 Message Date
Alexa ba9c40f30a Merge pull request #20 from DorkSquadRR/fix/steamless-download-404
launcher: fix Steamless download 404
2026-06-20 00:00:01 +03:00
Alexa 9b31ffd76b launcher: fix Steamless download 404 (correct asset filename)
The 'Unlock Rec Room from Steam' step built the release URL as
Steamless.v3.1.0.5.zip, but the actual GitHub asset is named
Steamless.v3.1.0.5.-.by.atom0s.zip. Same tag, wrong filename, so
the download 404'd. Correct the asset name in ZipUrl.
2026-06-19 23:58:05 +03:00
Alexa a233ac94bc docs(photon): remove broken Photon dashboard image links (#15)
The four images/photon-*.png screenshots referenced in photon-setup.md never existed in the repo, so they rendered as broken images. Remove the references; the text walkthrough stands on its own.
2026-06-16 11:54:10 +03:00
Alexa 914852a107 fix(release): use -p: not /p: so Windows publish works (#14)
Git bash on the Windows runner mangles args starting with / (MSYS path conversion), turning /p:Version=... into p:Version=... so MSBuild saw multiple projects (MSB1008). Use -p: which is shell-safe on every runner.
2026-06-16 01:16:21 +03:00
Alexa d3ca1f9297 fix(cli): exit 0 on --help so CI smoke test passes (#13)
* fix(cli): exit 0 on --help, handle parse errors cleanly

--help printed usage but returned exit code 1, failing the CI smoke test. Treat --help / -h / no-args as a successful usage print (exit 0), and catch parser ArgumentExceptions so a missing value or bad --mode exits 1 with a message instead of an unhandled crash.

* fix(cli): declare RuntimeIdentifiers so no-restore publish works

CI restores without a RID then publishes per-RID with no-restore, which failed NETSDK1047 because the assets file had no RID targets. Declaring RuntimeIdentifiers makes the RID-less restore cover all of them.
2026-06-16 01:04:45 +03:00
3 changed files with 8 additions and 13 deletions
+4 -4
View File
@@ -126,10 +126,10 @@ jobs:
-c Release \
-r "${{ matrix.rid }}" \
--self-contained true \
/p:Version="$v" \
/p:AssemblyVersion="${v}.0" \
/p:FileVersion="${v}.0" \
/p:InformationalVersion="$v"
-p:Version="$v" \
-p:AssemblyVersion="${v}.0" \
-p:FileVersion="${v}.0" \
-p:InformationalVersion="$v"
- name: Package
shell: bash
-8
View File
@@ -29,8 +29,6 @@ Go to **[dashboard.photonengine.com](https://dashboard.photonengine.com/)**
and click "Sign up". Email + password; the free tier doesn't ask for a
card.
![photon dashboard signup screen](images/photon-1-signup.png)
> If you already have an account from another project, log in instead.
> Multiple DorkNet servers can share the same Photon account, but each
> server needs its own AppId pair so concurrent player counts don't
@@ -49,15 +47,11 @@ for:
Click **CREATE**.
![photon "Create a new app" form, Photon SDK selected](images/photon-2-create-realtime.png)
## Step 3 — Copy the Realtime AppId
You land back on the dashboard with your new app at the top. The AppId
is the long string under the app name — click it to copy.
![photon app card with AppId highlighted](images/photon-3-realtime-appid.png)
That's your **Realtime AppId**. Paste it into:
- the launcher's first-run wizard step 4, **REALTIME APPID** field, OR
@@ -69,8 +63,6 @@ That's your **Realtime AppId**. Paste it into:
If you want in-game voice chat, repeat Step 2 with **Photon Voice**
selected instead of Realtime. Same flow.
![photon "Create a new app" form, Voice selected](images/photon-4-create-voice.png)
Copy the Voice AppId from the dashboard the same way as Step 3 and
paste it into:
+4 -1
View File
@@ -22,9 +22,12 @@ namespace DorkNet.Launcher.Backend;
public static class SteamlessInstaller
{
private const string PinnedVersion = "v3.1.0.5";
// Upstream names the asset "Steamless.{ver}.-.by.atom0s.zip" — NOT
// "Steamless.{ver}.zip". Getting this wrong is a 404 at the
// "Unlock Rec Room from Steam" step.
private const string ZipUrl =
"https://github.com/atom0s/Steamless/releases/download/" +
PinnedVersion + "/Steamless." + PinnedVersion + ".zip";
PinnedVersion + "/Steamless." + PinnedVersion + ".-.by.atom0s.zip";
private static readonly HttpClient Http = new()
{