2026-03-30 23:01:59 -05:00
2026-03-30 23:01:59 -05:00
2026-03-30 23:01:59 -05:00
2026-03-30 23:01:59 -05:00
2026-03-30 23:01:59 -05:00
2026-03-30 23:01:59 -05:00
2026-03-30 23:01:59 -05:00
2026-03-31 21:24:50 -05:00
2026-03-30 01:00:21 -05:00
2026-03-30 23:01:59 -05:00
2026-03-30 19:35:31 -05:00
2026-03-29 17:22:14 -05:00
2026-03-31 21:24:50 -05:00

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 page
  • lists.html - main live list view
  • run.html - live run submission page
  • players.html - player manager
  • rules.html - submission rules and mod guidelines
  • admelist.html - admin panel for list edits and run review
  • app.js - client-side logic
  • styles.css - site styling
  • data.txt - static fallback list data
  • server/data.txt - live server list data
  • server/runs.json - live run submission queue
  • server/server.js - Node.js server for the live list
  • start-server.command - one-click launcher for macOS
  • server/LINUX_SERVICE_SETUP.txt - Linux systemd setup 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.html is the main live list page.
  • roulette.html uses the same live server-backed list.
  • run.html submits runs into the live moderation queue.
  • admelist.html lets you edit the list and review submissions.

Fallback Order

The live list tries these in order:

  1. /api/list
  2. server/data.txt
  3. data.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:

  1. Run the server with HOST=0.0.0.0.
  2. Open or forward port 8090.
  3. Visit http://YOUR-IP:8090/fedl/lists.html, http://YOUR-IP:8090/fedl/run.html, or http://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
S
Description
my gd list
Readme MIT
926 KiB
Languages
HTML 47.3%
JavaScript 36.8%
CSS 15.9%