Revise README to describe the new live server-backed list and admin editor. Adds/renames pages (lists.html = static, serverlist.html = live list, admelist.html = admin UI), clarifies shared data format for data.txt and server/data.txt, and documents the fallback order (/api/list → server/data.txt → data.txt). Includes instructions to run the Node server (server/server.js, HOST/PORT examples), a note on static serving for development, files added (server/server.js, server/data.txt, start-server.command, server/LINUX_SERVICE_SETUP.txt), and editor features (draft rows, numbering/shift behavior, delete flow, live refresh). Also clarifies where live vs static data is stored and that no build step is required.
3.0 KiB
GD FEDL
A Geometry Dash FEDL-style website with both a static list and a live editable server list.
It includes:
- a home page
- a static list page
- a live server-backed list page
- an admin editor page for the live list
- a players page
- a rules page
Project Files
index.html- home pagelists.html- static list viewserverlist.html- live server-backed list viewadmelist.html- admin UI for editing the live listplayers.html- player managerrules.html- submission rules and mod guidelinesapp.js- client-side logicstyles.css- site stylingdata.txt- static fallback list dataserver/data.txt- live server list dataserver/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.htmlreads the static list.serverlist.htmlreads the live server list.admelist.htmllets you edit the live server list with a UI.
Fallback Order
The live list tries these in order:
/api/listserver/data.txtdata.txt
That means serverlist.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 editor and live list use the Node server:
node server/server.js
Or to allow other devices on your network to connect:
HOST=0.0.0.0 PORT=3000 node server/server.js
Then open:
http://localhost:3000/serverlist.html
http://localhost:3000/admelist.html
On macOS you can also use:
start-server.command
Editing The Live List
Open admelist.html through the Node server.
Features:
- add a new row at the top as a draft
- give it a number when you want to place it
- automatic shifting of other rows when a number is reused
- delete rows only with the Delete button
- live refresh on connected list pages after saving
Draft rows must be assigned a number before saving.
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
3000. - Visit
http://YOUR-IP:3000/serverlist.htmlorhttp://YOUR-IP:3000/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 static fallback list data is stored in
data.txt - The project does not need a build step