June 16, 2025
Did a bunch of things:
<br>
Switched my minecraft proxy from Velocity to Infrarust. this gives better compatibility and performance
<br>
Added recursive queries: instead of querying for the world, getting the version id, querying the version, getting the loader id, and finally querying the loader, the backend can recursively query values, and return all of them at once
<br>
Improved caching
Implemented the server.properties editing in the frontend, together with limits on what users can edit. the server admin can configure the values users can edit, as well as limit the values they set (all enforced server-side of course). In the video, on the left there is a user with almost no restrictions to editing, and on the right is a standard user with default restrictions.
There was also a bug where only one operation on any world could be performed at the same time, meaning if user was to delete a world, which takes around 10 seconds, other requests trying to get the status of any other world would have to wait for that deletion to finish. this is now fixed.
Ah also scrolling and toasts are broken on chromium no idea why
Heyy i think i'm starting to get the hang of this. Now you can create and start a server all from a UI
(in the video @0:40 you can skip to 1:00)
- Improved the world creation screen
- Implemented proper world images (no uploads done in the frontend yet)
- New /world/{id} page
- World option editing
- World starting/stopping
- Some minor backend changes
Not an actual project. i use this to poke at SoM's codebase <<hi>script> alert(1) <<hi>/script>
Added a registration screen
* the registrations screen varies based on server settings (whether it requires an invite link or not), it can also include a custom message (which i forgot to include in the video).
* invite link is checked before account creation, and locks the form if it is invalid (through a public API endpoint)
* Redid the input forms
* added input validation
* the app checks if the username is taken (through a public API endpoint)
* Improved styling and made the app fit mobile screens
Now the sqlx
-based code actually works. i mostly rewrote the database code to utilize a custom query builder
as a side effect, query filters now work better, and allow for < and > operands, as well as dates and base64 encoded blobs (haven't tested this one). they now also actually validate the filter data
Now when the backend server is first launched, it will initialize the folder structure, prompt the user for the username and password of the default admin account, and then download the latest version of velocity
I have also revamped the permission system. Now instead of the permissions being stored per-user, users are assigned to a group, which holds their permissions. this makes managing large amounts much easier
A Minecraft server management platform written in Rust, with a RESTful API, and a Vue frontend. Built with security and performance in mind It allows for configuration for things like * Database (SQLite or PostgreSQL), both are internally cached to reduce load * Public/private account creation * User limits (Memory, world count, allowed server.properties settings) * Rate limiting * Frontend branding AI Usage: No AI generated code is present in this project. Any help from AI (mostly limited to the frontend), was minor and heavily adapted
This was widely regarded as a great move by everyone.