Skip to content

Big Bang Homepage Update + NEW Server browser - #14

Open
dc-redeclipse wants to merge 55 commits into
redeclipse:masterfrom
dc-redeclipse:master
Open

dc-redeclipse wants to merge 55 commits into
redeclipse:masterfrom
dc-redeclipse:master

Conversation

@dc-redeclipse

@dc-redeclipse dc-redeclipse commented Nov 19, 2025 •

Copy link
Copy Markdown
Member

Completely Overhauled the Website and added a new Server browser to replace the no longer active Redflare server list.
Also, many Doc Pages are fixed, and dead Links are removed

To-do before go-live:

  • Change www.redeclipse.net to redeclipse.net in Git Pages Deploy and change Domain settings accordingly to it
  • Set a redirect for www.redeclipse.net to redeclipse.net for backwards compatibility
  • Add [submodule "maps"] path = maps url = https://github.com/redeclipse/maps.git for the Server browser
  • Update all submodules pr in www-bits is merged
  • Add the getservers.py poller script to Git-Actions to run the poller for getting the date for the Server browser
  • Add Discord webhook URL to Actions secrets and variables for Git-Pages

To-do after (optional at least before 2.1 release):

  • Newer screenshots are missing (20 in full and preview resolution)
  • final redirect links for social media
  • 2.1 release information and packages missing
  • System Requirements should be updated

Preview Homepage:
preview

Preview Server browser:
serverbrowser

ToDo:
change www.redeclipse.net to redeclipse.net in GitPages Deploy and change Domain settings accordingly to it,
Set a redirect for www.redeclipse.net to redeclipse.net for backwards compatibility
@dc-redeclipse dc-redeclipse changed the title Big Bang v2.1 Homepage Update Big Bang Homepage Update + NEW Server browser Jan 13, 2026
@dc-redeclipse dc-redeclipse self-assigned this Jan 13, 2026
@dc-redeclipse
dc-redeclipse requested a review from qreeves January 13, 2026 23:16

@dc-redeclipse dc-redeclipse left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

Comment thread bits

@qreeves qreeves left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the huge amount of work here, dc. The new homepage and the server browser look great. Before this can merge there are some blockers, and I'd like to split it up so the homepage can land quickly while we sort out the server browser.

Proposed split

  1. Homepage, nav and download page. This can merge quickly once the blockers below are fixed.
  2. Server browser. The page, the poller and the deploy workflow (details below).
  3. Notifications. The Discord webhook and the browser notifications, as a follow-up after (2).

None of these PRs should touch docs/ (see below), and none should change the domain.

Blocking issues

  1. The server browser never receives data. run_script.yml runs getservers.py, but nothing after that commits or deploys the output. data/*.json is gitignored, and Pages builds from the branch without running Python. servers.md reads site.data.servers when the site is built, so it will always show "No servers found".
  2. Discord would re-announce every player every hour. notify.json is thrown away when each job ends, so each scheduled run treats everyone online as a new join. (keep_files only affects a local _site.) The checkout step also doesn't fetch submodules, so maps/ is empty in CI and every message uses the fallback image.
  3. Every page polls /notify.json every 5 seconds. That file is never published, and the polling sits in layouts/default.html, so it runs on every page that uses the default layout.
  4. Three files claim /servers. servers.md uses /servers/, redirect/servers.html still redirects /servers to Redflare, and redirect/steamstartgame.html has redirect_from: /servers. Please delete redirect/servers.html and drop that redirect_from.
  5. e82c720 remove docs deletes all of docs/. docs/ is generated from redeclipse/docs by the "Build docs" commits, so it shouldn't be edited here. Any doc fixes belong in redeclipse/docs. Please drop that commit. Also, the server browser icons were moved out of docs/images, and about 10 doc pages still link to them. Please copy them into servers/ instead.
  6. Download links 404. data/game.yml now says 2.0.9, but redeclipse/base has no v2.0.9 release, and every installer, torrent and AppImage link is built from that version. Please keep 2.0.0 Jupiter until 2.1.0 is tagged.
  7. Domain: please don't change it. redeclipse.net and www.redeclipse.net are different things, and the site lives at www.redeclipse.net. Please revert CNAME, revert bbb6212 (the 9 redirects rewritten to the bare domain), point the server browser links in getservers.py and layouts/default.html at https://www.redeclipse.net/servers/, and remove the two domain items from the to-do list.

How the server browser should get its data

Browsers can't send the UDP queries the game uses, so the poller has to run in CI. We'll make the workflow deploy the site itself:

  • One workflow that polls once, builds Jekyll and deploys with actions/deploy-pages. I'll switch the Pages source to "GitHub Actions" in the repo settings when this lands.
  • Triggers: every 15 minutes on a schedule, on push to master (so docs builds and content edits keep going live as they do now), and workflow_dispatch.
  • Poll once per run. Please drop the 5×30s loop, since each poll overwrites the last and only the final one gets published.
  • Use actions/checkout with submodules: recursive so bits and maps are present.
  • Show the data's age. Please show "updated N minutes ago" prominently from time.json (jquery.timeago is already loaded) and don't call the data live.
  • Add data back to exclude in _config.yml. The page reads the data at build time, so the raw JSON (including the geo-IP cache in ip.json) doesn't need to be published.

Notifications (follow-up PR)

Please move the Discord webhook and the browser notification toggle into their own PR. When they come back:

  • Join history needs to survive between runs (for example in the Actions cache).
  • The browser polling should only run on /servers/.
  • Let's talk about publicly broadcasting player names before turning it on.

Naming

"Master" means three different things in getservers.py. To keep them apart we're using these terms:

  • Master Server is the server that lists all game servers (MASTER_HOST).
  • Master Mode is a game server's access setting (MASTER_MODES).
  • Reference Server is the official play.redeclipse.net game server, used to spot outdated servers. Please rename found_master_by_name and the related variables and comments to "reference server".

Smaller things (not blocking)

  • requirements.txt lists requests, discord-webhook and pytz, which aren't used. python-dotenv is used but isn't listed there.
  • The geo-IP lookup uses http://ip-api.com over plain HTTP.
  • Font Awesome 6.5.1 is loaded from a CDN on top of the bundled 5.0.2. Could you pick one?
  • includes/head.html re-indents everything after the first block, which makes the diff noisy.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants