Custom Geometry Dash song server fully written in Rust!
- Allows access to NG Songs while custom songs are also available
- Rust, so its very safe
All of the prebuilt binaries will be located in the actions tab, and look for the latest workflow with a checkmark. Click on it, and you'll find all of the built artifacts!
- Clone the repository:
git clone https://github.com/metamethods/geo-songs.git
- Build the project:
cargo build # Depending on what system you are using, cargo will build the binary for it. Its kinda hard to cross build other systems without having the other system lmao
- The binary will be located in
target/release/geo-songs
ortarget/release/geo-songs.exe
- Profit
Run the binary, not that hard lol, but here's the usage anyways:
- Find where your Geometry Dash executable is located
- You'll have to open the file in a
hex editor
(For example) or atext editor
I just prefer the hex editor as it doesn't look ugly when doing some stuff - Find the string
https://www.boomlings.com/database/getGJSongInfo.php
and replace it withhttp://localhost:8000/song_data
(Or whatever port you're using, but 8000 should be the default port on rocket.rs) IMPORTANT: When replacing the strings, they MUST be the exact same size, you can see here for example:
- Save the file and run the binary, or run it from Steam
- Profit (again)
When wanting to add a new song, you'll have to do it in this format: If you don't see the songs directory, open the program just once, it'll generate one for you!
songs
- my-very-cool-song.mp3
- my-very-cool-song.yaml
The .yml
file contains the song's metadata, and the id
for the song. Heres a template to start you off with:
id: 1 # Note: When using the id in geometry dash, it'll be negative to differentiate from NG songs
name: My Very Cool Song
file: my-very-cool-song.mp3
author: a very cool person
After all of that, you can input the id (In negative form i.e. if the Id of the song is 1, then you should put -1), and it'll show up!
You MUST have the program open at all times, or geometry dash will not be able to load any of the songs. You can figure out how to make it run in the background and stuff.
If you want to contribute, feel free to open a PR! I'll be happy to review it and merge it if it looks good!