1
0
mirror of https://git.ngram.ca/OpenJam/rc-servers synced 2026-08-23 23:08:52 +00:00
Commit Graph

130 Commits

Author SHA1 Message Date
NG (Graham)
f2896509ba Clippy tweaks for latest PR and multiplayer fixes 2026-01-15 18:56:30 -05:00
NG (Graham)
a48f9dcfe9 Fix dominating message, fix fake player loading, mess around with reactor crystals 2026-01-15 18:49:29 -05:00
NG (Graham)
f001ddfaf7 Remove unnecessary cast in copy_slot #70 2026-01-13 19:31:31 -05:00
NG (Graham)
d04984239c Add cost for garage clone and upgrade #70 2026-01-13 17:50:46 -05:00
NG (Graham)
4ec0dfb0aa Remove needless borrow in tech tree provider 2026-01-12 20:54:52 -05:00
NG (Graham)
59b253dc52 Implement tech tree cube unlock 2026-01-12 18:48:36 -05:00
NG (Graham)
6bcd812738 Fix minor clippy warnings 2026-01-12 18:10:51 -05:00
NG (Graham)
d421cfa264 Add multiplayer dos protection config toggle 2026-01-12 17:04:41 -05:00
MaxSignal
d2c68bf7dd Implement queue timeout #45 (#71)
### Description

This PR implements a queue timeout in the lobby server.

* After the time configured in `timeout` has elapsed (default: 3 minutes) since the first player joins the queue, matchmaking will start even if the queue has not reached the `players_per_game` target. Any missing slots will be filled with fake players.
* If the first queued player leaves and other players remain, the timer is recalculated so that matchmaking starts after the `timeout` duration (default: 3 minutes) from the next player’s join time. (After that, the timer continues to be adjusted in the same way whenever the head of the queue changes.)

### Game

Robocraft

### Please confirm

- [x] I am the legal owner or represent the owner of all work submitted
- [x] I consent to my submission being added to this FOSS project
- [x] This PR used LLMs to generate some or all of the code changes

Reviewed-on: https://git.ngram.ca/OpenJam/rc-servers/pulls/71
Reviewed-by: NGnius <ngniusness@gmail.com>
Co-authored-by: MaxSignal <kastera58@gmail.com>
Co-committed-by: MaxSignal <kastera58@gmail.com>
2026-01-08 02:17:34 +00:00
NG (Graham)
47df45ece9 Add more db stats to chat command 2026-01-05 20:34:53 -05:00
NG (Graham)
0465f0664b Remove redundant permission command 2026-01-05 17:26:16 -05:00
NG (Graham)
6211c930ba Add dev-only factory ops for featuring a vehicle 2026-01-05 16:39:55 -05:00
NG (Graham)
437b7f9fdd Implement factory offset saving 2026-01-05 16:21:14 -05:00
NG (Graham)
49255e7e7c Make minimum game client version configurable 2026-01-04 21:36:11 -05:00
NG (Graham)
09c1d2b344 Add hidden command support 2026-01-04 17:13:31 -05:00
NG (Graham)
2e0c6b2b62 Switch factory trait over to i32 IDs 2026-01-04 16:48:18 -05:00
NG (Graham)
3015572170 Complete factory rating support 2026-01-04 16:43:36 -05:00
NG (Graham)
901bf76e19 Save CRF rating garage state and consider CRF purchase price #70 2026-01-04 16:04:30 -05:00
NG (Graham)
0e68730996 Stop rating request popup after every match 2026-01-03 17:39:10 -05:00
NG (Graham)
2f826835dc Refactor item purchase logic into core, implement promo codes #70 2026-01-03 11:19:24 -05:00
NG (Graham)
2c6ef3edbe Grant first sign-up all permissions 2026-01-01 22:06:37 -05:00
NG (Graham)
3aadbb91ba Implement item shop #70 2026-01-01 20:34:12 -05:00
NG (Graham)
782d28efec Add singleplayer and campaign rewards screens #70 2026-01-01 08:07:32 -05:00
NG (Graham)
4ec64a9cd9 Add basic currency support and plumb multiplayer rewards screen #70 2025-12-28 18:13:14 -05:00
NG (Graham)
5e05cbdb59 Add server-side chat command to grant account permissions in-game 2025-12-26 20:49:39 -05:00
NG (Graham)
7f187dcb98 Fix clippy warnings in validation and chat logic 2025-12-26 16:16:23 -05:00
NG (Graham)
36100a34c4 Set version to v1.1.0 and update dependencies 2025-12-22 19:40:34 -05:00
NG (Graham)
274f68f223 Mitigate #59 with validation warning and reduce motion packets 2025-12-16 20:22:46 -05:00
NG (Graham)
08bce9155b Fix broadcast chat command; fix #67 2025-12-14 20:36:05 -05:00
NG (Graham)
f6f6e1f127 Add intercom functionality for setting factory thumbnails 2025-12-13 16:23:18 -05:00
MaxSignal
aedec62b8d Implementing upload functionality for ArcAdapter and improving CRF search. (#62)
### Description

This PR implements upload functionality for ArcAdapter and improves CRF search.

adapter.rs

First, regarding the CRF search feature, when there is no search query (i.e., on the default page), there was a bug where sorting by added date and other sort options did not work correctly, so the default query was removed. Also, the added-date sort order was reversed, so that was fixed as well.

Next, about the upload feature.

First, in order to create cube_amounts, which stores in JSON the count of each part of the robot contained at the end of the ROBOT_CUBES table, we count—by type—the number of all byte sequences (part IDs) excluding the first 4 bytes (total part count) and excluding the last 4 bytes (coordinates) out of each following 8 bytes, and then create a JSON string where the keys are the part IDs converted to decimal and the values are the counts.

After that, we insert Base64-encoded data into cube_data and colour_data in ROBOT_CUBES, and insert the above JSON string into cube_amounts.

Next, regarding ROBOT_METADATA, the thumbnail URL is set to the internal CDN, and the actual thumbnail data is saved under data/robocraft/thumbnails.

The added date and expiration date are converted to match the same format as the other data before insertion, and the other data is inserted as-is.

arc.rs

If the requested file is not present in the ZIP file, it was changed to scan the JPG files existing in data/robocraft/thumbnails.

package_release.py

Made it so that data/robocraft/thumbnails is created.

### Game

Robocraft

### Please confirm

- [x] I am the legal owner or represent the owner of all work submitted
- [x] I consent to my submission being added to this FOSS project
- [x] This PR used LLMs to generate some or all of the code changes

Reviewed-on: https://git.ngram.ca/OpenJam/rc-servers/pulls/62
Co-authored-by: MaxSignal <kastera58@gmail.com>
Co-committed-by: MaxSignal <kastera58@gmail.com>
2025-12-13 19:23:07 +00:00
NG (Graham)
41cdcb9735 Reset game match rotation for release 2025-12-06 10:49:27 -05:00
NG (Graham)
687f8dabbe Use resolvable vehicles in campaign mode instead of raw cube data 2025-12-02 17:08:42 -05:00
NG (Graham)
09563c9239 Fix reactor height in Mars3; fix #51 2025-11-16 15:10:47 -05:00
MaxSignal
4bdb0ad1d0 Use IndexMap instead of HashMap in CubeConfig 2025-11-13 16:08:58 +00:00
NG (Graham)
2583429af8 Add status reporting to auth server 2025-11-03 19:24:20 -05:00
NG (Graham)
340f571637 Add stats chat command 2025-10-31 22:41:33 -04:00
NG (Graham)
3ef1aa20d0 Add some basic commands for sysadmins and permission system for them 2025-10-31 21:02:10 -04:00
NG (Graham)
77b6d8c11f Add validation warning about fake players on strange teams in any game mode 2025-10-30 22:15:12 -04:00
NG (Graham)
3fb2fbad06 Allow fake players to have their team chosen automatically at game start 2025-10-30 21:59:47 -04:00
NG (Graham)
127de674b4 Allow client AIs to run on non-teammates when there are no teammates available, fix/answer #42 2025-10-29 21:29:43 -04:00
NG (Graham)
2cc467726f Add self-validation framework for config 2025-10-27 22:07:38 -04:00
NG (Graham)
b3ad2c3758 Add proof-of-concept server intercom service through auth server 2025-10-26 15:43:51 -04:00
NG (Graham)
ade535e556 Add Arc CRF username spoofing 2025-10-06 23:02:08 -04:00
NG (Graham)
6879fc8ed5 Remove some gamemode startup warnings, make expanded config json more obvious 2025-10-03 18:06:36 -04:00
NG (Graham)
01cd9bce97 Add debug message before unhelpful token secret file not found error 2025-10-02 22:07:25 -04:00
NG (Graham)
aa690007b7 Configure for release v0.4.0 2025-10-02 21:01:57 -04:00
NG (Graham)
e55bd6d288 Add basic client AI support 2025-09-27 12:36:49 -04:00
NG (Graham)
c9f9d146e8 Add version info chat command 2025-09-14 12:23:46 -04:00
NG (Graham)
525fa8b87e Add team death match support #33 2025-09-14 12:08:52 -04:00