A 2.2 geometry dash server written in rust.
Find a file
2023-10-31 20:10:36 -07:00
migrations diesel -> sqlx, patch cve (again lul) 2023-10-31 19:40:49 -07:00
public creator points on account management 2023-09-24 17:29:54 -07:00
src i keep on forgetting to remove old stuff 2023-10-31 20:08:20 -07:00
templates creator points on account management 2023-09-24 17:29:54 -07:00
.env.example diesel -> sqlx, patch cve (again lul) 2023-10-31 19:40:49 -07:00
.gitignore diesel -> sqlx, patch cve (again lul) 2023-10-31 19:40:49 -07:00
build.rs diesel -> sqlx, patch cve (again lul) 2023-10-31 19:40:49 -07:00
Cargo.lock oops - remove unused dep 2023-10-31 19:44:13 -07:00
Cargo.toml oops - remove unused dep 2023-10-31 19:44:13 -07:00
config.example.toml remove unused stuff again 2023-10-31 19:44:50 -07:00
readme.md remove more unused things 2023-10-31 20:10:36 -07:00

gdps-server

a Geometry Dash server reimplementation in Rust

this project is based off of (stolen from) the crystal-gauntlet server

why?

i'm trying to learn some rust, and this is a solid choice. most GDPS solutions out there are pretty garbage, to say the least.

features

build

cargo build --release

configuration

copy .env.example to .env and fill it out, same for config.example.toml to config.toml

setup

make sure you have sqlx-cli by running cargo install sqlx-cli

run sqlx database setup

then finally run the server with cargo run

todo

  • user icons in account management pages
  • account settings page
  • better web design (make formatting more consistant)
  • use chrono for dates in database
  • 2.2's friends only unlisted
  • dailies, weeklies, events(?)
  • moderation utilities
  • better song support
  • cache authentication (redis or mem)
  • make a proper rank system (reuploading, uploading music, rating, etc.)
  • use serde to make the forms whateverCaseThisIs rather than breaking our lint convention
  • add back realip header support
  • add configurable form limits
  • nix
  • clean up difficulty/demon difficulties. It's fucking VILE.
  • panic less, use results
  • use anyhow for error handling