Have it default to localhost for now? (maybe we can default to the user's public ip once we got that figured out)
Add an endpoint for getting and setting this value
Why is it necessary:
Example of issue:
A user setup a new Lodestone Core and connects to it through localhost:16662, then creates a Minecraft server.
When they try to copy the server's IP to share with their friend, they get localhost:25565.
Example of issue:
A user sets up a custom domain myserver.com pointing to their server at 123.123.123.123 running Lodestone Core and Minecraft. But the dashboard keeps displaying 123.123.123.123
Currently, when a user tries to login.
If the username is incorrect, the server replies with a 404 error.
If the password is incorrect, the server replies "Unauthorized", "Credential mismatch"
The server should not use 404 for "user not found" in this case, and reply with the exact same response in both cases
If Lodestone is ran through SSH on a linux machine that has a DE running, Tauri window will pop up invisible to the SSH user, and ctrl-c the CLI will only shutdown Lodestone Core and not the Tauri window, leaving it in a invalid state
Steps to reproduce (optional)
Launch Lodestone through SSH
Ctrl C the CLI
Lodestone does not exit, only the core is shut down but the tauri window remains op on the DE
Implement the function get_list_of_versions under implementations/minecraft/util.rs to return a list of valid versions for a particular flavour for Minecraft.
Why is it necessary:
Frontend needs to know what versions are available for each of the flavours.
For ex, get_vanilla_jar_url, get_fabric_jar_url etc all return options. Result would be preferable in this case since there are multiple points of potential failure in the function
Switch from Rocket to Axum during the refactoring.
Why is it necessary:
Not necessary as Rocket works fine.
Axum has native WS support while Rocket doesn't
Axum is more actively developed while Rocket often stalls
Axum is faster than rocket
Axum is a more minimal framework which may work in our favor
Axum potentially provides more features that could help with permission/auth
We should support https and wss so that those who want to set it up can.
Ideally we should also have wiki pages on this topic, and guide on how to set it up with certbot or something.
This would also serve as the basis for automating this process in the future.
Edit: Also ideally, we can have both https and http at the same time, since tauri currently defaults to http
Investigate the potential of switching from Rocket to Axum during the refactoring.
Why is it necessary:
Not necessary as Rocket works fine.
Axum has native WS support while Rocket doesn't
Axum is more actively developed while Rocket often stalls
Axum is faster than rocket
Axum potentially provides more feature that could help with permission/auth
Since Lodestone will support multiple platforms, we need a way to compress/decompress .tar.gz file commonly used on *NIX and .zip file commonly used on Windows.