gdps-server/readme.md
2023-09-24 17:32:13 -07:00

45 lines
No EOL
1.3 KiB
Markdown

# gdps-server
a [Geometry Dash](https://store.steampowered.com/app/322170/Geometry_Dash/) server reimplementation in [Rust](https://rust-lang.org)
this project is based off of (stolen from) the [crystal-gauntlet](https://git.oat.zone/oat/crystal-gauntlet) server
## why?
i've run out of ideas.
### features
- [highly configurable](https://git.reidlab.online/reidlab/gdps-server/src/branch/main/config.example.toml)
- compiled, for extra speed
- [parses uploaded levels](https://git.reidlab.online/reidlab/gdps-server/src/branch/main/src/helpers/levels.rs) to patch RCEs and verify that everything is in place
- website frontend
## build
### migrating databases
- run `cargo install diesel_cli --no-default-features --features postgres`
- run `diesel migration run`
### testing
- run `cargo run`
### building
- run `cargo build --release`
## todo
- account settings page
- better web design
- user icons in the account management + settings (gdicon.oat.zone? selfhost?) ideally we find a legal way to do this (i cant distribute the plist+asset files directly) but doing this illegally is always an option
- use chrono
- 2.2 friends only unlisted
- add dailies, events, weekly
- moderation utilities
- better song support
- authentication caching
- use log instead of println
- make a proper rank system (reuploading, uploading music, rating, etc.)