mirror of
https://github.com/djdevin/recflare.git
synced 2026-09-08 06:31:27 -07:00
[docs] update some documentation about versions
This commit is contained in:
@@ -44,6 +44,20 @@
|
||||
- Changesets manage versions and changelogs
|
||||
</architecture>
|
||||
|
||||
<game-clients>
|
||||
Supported client builds live in `SUPPORTED_GAME_VERSIONS`
|
||||
(`packages/domain/src/presence-db.ts`); `GAME_VERSION` is the default the stack targets.
|
||||
|
||||
- `20230414` — default, official. Manifest `7859140924515540835` (2023).
|
||||
- `20250718.01` — beta, official. Manifest `1151455856673601091`; reaches this server via
|
||||
the [patch-2025](https://github.com/recflare/patch-2025) patch.
|
||||
- `20250424.01`, `20231207`, `20230616` — alpha.
|
||||
|
||||
Builds are date-stamped (`YYYYMMDD[.NN]`) so they order as plain strings; several
|
||||
surfaces gate on "newer than `20230414`" (econ storefront catalog, `api` event tags,
|
||||
`rooms` featured rooms) rather than on an explicit list.
|
||||
</game-clients>
|
||||
|
||||
<code-style>
|
||||
- Use tabs for indentation, spaces for alignment
|
||||
- Type imports use `import type`
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<img width="1063" height="409" alt="image" src="https://github.com/user-attachments/assets/521d5b11-fb93-4900-9158-71d51d2343ae" />
|
||||
|
||||

|
||||

|
||||
|
||||
RecFlare is a scalable implementation of RecNet — the Rec Room backend — built on
|
||||
Cloudflare Workers. It implements the network services the Rec Room client talks
|
||||
@@ -36,15 +36,24 @@ resulting in bugs getting fixed faster. I hope.
|
||||
|
||||
## Game client
|
||||
|
||||
See [RecFlare Client](https://github.com/djdevin/recflare-client)
|
||||
See [RecFlare Client](https://github.com/djdevin/recflare-client) for the official RecFlare build.
|
||||
|
||||
RecFlare is compatible with the
|
||||
[RecNet Plugin](https://github.com/djdevin/recnet-plugin) and the build of Rec
|
||||
Room with manifest `7859140924515540835` (around 2023). Other client or game versions may expect
|
||||
different endpoints and response shapes and are not supported.
|
||||
These game builds are supported:
|
||||
|
||||
| Build | Manifest | Support |
|
||||
| ------------- | --------------------- | --------------------------------------------------------------------------------------- |
|
||||
| `20230414` | `7859140924515540835` | **Default**, official — the 2023 build the rest of the stack targets |
|
||||
| `20250718.01` | `1151455856673601091` | **Beta**, official — use the [patch-2025](https://github.com/recflare/patch-2025) patch |
|
||||
| `20250424.01` | | Alpha |
|
||||
| `20231207` | | Alpha |
|
||||
| `20230616` | | Alpha |
|
||||
|
||||
Alpha builds get past the version check and largely work, but nothing else in the
|
||||
stack targets them, so expect protocol differences. Other client or game versions
|
||||
may expect different endpoints and response shapes and are not supported.
|
||||
|
||||
Generally speaking any client that effectively rewrites the nameserver with the
|
||||
right mods can be used with this server.
|
||||
right mods (see [RecNet Plugin](https://github.com/djdevin/recnet-plugin), [2025 patch](https://github.com/recflare/patch-2025)) can be used with this server.
|
||||
|
||||
## Services
|
||||
|
||||
@@ -58,9 +67,11 @@ Want to run it yourself? See [DEPLOYING.md](DEPLOYING.md)
|
||||
|
||||
### What year is this for?
|
||||
|
||||
This works with 2023 clients. It has been tested with manifest `7859140924515540835`. Other clients may not work.
|
||||
Most 2023 and 2025 clients. A few older builds work at
|
||||
alpha quality — see the table in the "Game client" section above. Other clients may not
|
||||
work.
|
||||
|
||||
See the "Client" section above for instructions on how to modify a client to connect to this server.
|
||||
See the "Game client" section above for instructions on how to modify a client to connect to this server.
|
||||
|
||||
### Can I run this locally on my PC?
|
||||
|
||||
@@ -70,11 +81,13 @@ See "Run the development microservices" above. It may be possible later as Wrang
|
||||
|
||||
### Can I use this to make my own server?
|
||||
|
||||
Yes, that's the point. Just set your custom domain and deploy it.
|
||||
Yes, that's the point. See [DEPLOYING.md](DEPLOYING.md)
|
||||
|
||||
### Is there an admin panel?
|
||||
|
||||
Not yet. But there could be.
|
||||
Yes, the server comes bundled with a simple web panel with more functionality being added.
|
||||
|
||||
There are also [CLI tools](CLI.md) you can use for admin tasks like granting roles.
|
||||
|
||||
### Can I copy this project and modify it?
|
||||
|
||||
@@ -89,15 +102,20 @@ keeps those in sync: `pnpm` workspaces share dependencies, `@repo/` packages
|
||||
share code, Turborepo runs build/test/lint with a single cached task graph, and
|
||||
cross-service changes land in one atomic commit.
|
||||
|
||||
This makes it easier to deploy the whole stack at once or a smaller selection
|
||||
of microservices to avoid downtime events.
|
||||
|
||||
## Credits
|
||||
|
||||
I started this after the official servers shut down, so I could only see the
|
||||
I started this soon after the official servers shut down when I saw there were
|
||||
only monolithic servers usually running on one server. I could only see the
|
||||
request shapes coming from the game client. I used many different projects as
|
||||
resources to get response shapes, logic examples, enums, etc. They all had
|
||||
missing pieces. Again, another reason to come together on one project and
|
||||
stop gatekeeping.
|
||||
|
||||
Unfortunately, they were all leaked code except for
|
||||
[CannedNet](https://github.com/CannedNet/CannedNet), [DorkNet](https://github.com/DorkSquadRR/DorkNet), and jordanparki7's postman
|
||||
collection of RecNet APIs which is gone for some reason. So I will not list the
|
||||
leaks publicly.
|
||||
- [CannedNet](https://github.com/CannedNet/CannedNet)
|
||||
- [DorkNet](https://github.com/DorkSquadRR/DorkNet)
|
||||
- jordanparki7's postman collection of RecNet APIs which is gone for some reason.
|
||||
- Leaked C# projects I won't list (for response shapes)
|
||||
- Claude and my [wire shapes skill](https://github.com/recflare/skills/blob/main/.claude/skills/wire-shapes/SKILL.md)
|
||||
|
||||
@@ -33,21 +33,25 @@ export const PRESENCE_TTL_SECONDS = 900
|
||||
export const GAME_VERSION = '20230414'
|
||||
|
||||
/**
|
||||
* Client builds `/api/versioncheck/v4` answers "current" for. `GAME_VERSION` is the one
|
||||
* the rest of the stack targets and reports for itself; the others are later clients
|
||||
* that talk close enough to the same protocol to get past the update prompt.
|
||||
* Client builds `/api/versioncheck/v4` answers "current" for, in the support tiers the
|
||||
* README publishes. They talk close enough to the same protocol to get past the update
|
||||
* prompt; how much beyond that is tested differs by tier:
|
||||
*
|
||||
* DEBUGGING ONLY beyond `GAME_VERSION`: this is not a supported-version list. Nothing
|
||||
* else in the stack targets those builds, so a client waved through here can still hit
|
||||
* protocol differences the version check would otherwise have caught. Trim it back to
|
||||
* `GAME_VERSION` alone before anyone but us is playing.
|
||||
* - `GAME_VERSION` (`20230414`, manifest `7859140924515540835`) is the DEFAULT — the
|
||||
* build the rest of the stack targets and the one it reports for itself.
|
||||
* - `20250718.01` (manifest `1151455856673601091`, reached through the `patch-2025`
|
||||
* patch) is BETA — supported, and the build the "newer than `20230414`" gates in
|
||||
* `econ`/`api`/`rooms` are written and tested against.
|
||||
* - The rest are ALPHA: waved past the version check, but nothing else in the stack
|
||||
* targets them, so they can still hit protocol differences this check would otherwise
|
||||
* have caught. Expect breakage rather than treating a bug there as a regression.
|
||||
*/
|
||||
export const SUPPORTED_GAME_VERSIONS: string[] = [
|
||||
GAME_VERSION,
|
||||
'20230616',
|
||||
'20231207',
|
||||
'20250424.01',
|
||||
'20250718.01',
|
||||
GAME_VERSION, // default
|
||||
'20250718.01', // beta
|
||||
'20230616', // alpha
|
||||
'20231207', // alpha
|
||||
'20250424.01', // alpha
|
||||
]
|
||||
|
||||
/** Whether a client-supplied build (the version check's `?v=`) is one we serve. */
|
||||
|
||||
Reference in New Issue
Block a user