c16f64aa08d03b147ebb27fb85a69f094925a890
GD FEDL
A Geometry Dash FEDL-style website with a live server-backed main list.
It includes:
- a home page
- a main list page
- a run submission page
- a players page
- a rules page
- an admin panel for the list and submitted runs
Project Files
index.html- home pagelists.html- main live list viewrun.html- live run submission pageplayers.html- player managerrules.html- submission rules and mod guidelinesadmelist.html- admin panel for list edits and run reviewapp.js- client-side logicstyles.css- site stylingdata.txt- static fallback list dataserver/data.txt- live server list dataserver/runs.json- live run submission queueserver/server.js- Node.js server for the live liststart-server.command- one-click launcher for macOSserver/LINUX_SERVICE_SETUP.txt- Linuxsystemdsetup notes
Data Format
Both data.txt and server/data.txt use the same format:
category|position|title|url
Example:
new|1|Flamewall|https://youtu.be/x4Io4zkWVRw
Pages
lists.htmlis the main live list page.roulette.htmluses the same live server-backed list.run.htmlsubmits runs into the live moderation queue.admelist.htmllets you edit the list and review submissions.
Fallback Order
The live list tries these in order:
/api/listserver/data.txtdata.txt
That means lists.html can still show data even if the live API is down.
Running The Static Site
If you only want the static pages, you can run a simple file server:
python3 -m http.server 8000
Then open:
http://localhost:8000
Running The Live Server
The live list uses the Node server:
node server/server.js
Or to allow other devices on your network to connect:
HOST=0.0.0.0 PORT=8090 node server/server.js
Then open:
http://localhost:8090/fedl/lists.html
http://localhost:8090/fedl/run.html
http://localhost:8090/fedl/admelist.html
On macOS you can also use:
start-server.command
Hosting On Another Device
If you want one device to host the live list for other devices:
- Run the server with
HOST=0.0.0.0. - Open or forward port
8090. - Visit
http://YOUR-IP:8090/fedl/lists.html,http://YOUR-IP:8090/fedl/run.html, orhttp://YOUR-IP:8090/fedl/admelist.html.
If you already have router port forwarding set up, point it to the machine running server/server.js.
Linux Service
For running the Node server automatically on boot on Linux, see:
server/LINUX_SERVICE_SETUP.txt
Notes
- Player data is stored in the browser with
localStorage - The players list is local to each browser/device
- The live list data is stored in
server/data.txt - The live run queue is stored in
server/runs.json - The static fallback list data is stored in
data.txt - The project does not need a build step
Languages
HTML
47.3%
JavaScript
36.8%
CSS
15.9%