Skip to content

feat: implement admin web interface#347

Merged
ann7415 merged 6 commits into
mainfrom
346-implement-admin-web-interface
Jan 18, 2026
Merged

feat: implement admin web interface#347
ann7415 merged 6 commits into
mainfrom
346-implement-admin-web-interface

Conversation

@ann7415

@ann7415 ann7415 commented Jan 18, 2026

Copy link
Copy Markdown
Contributor

This pull request introduces a new web-based admin dashboard for the R-Type server, allowing administrators to manage sessions, rooms, and bans through a browser interface. The implementation includes a new AdminWebServer class, supporting frontend files (HTML, CSS, JS), and integration with the server runtime. Additionally, the necessary dependency for the HTTP server library is added.

Admin web dashboard implementation:

  • Added new AdminWebServer class in AdminWebServer.hpp to provide a RESTful administrative web server for managing sessions, rooms, and bans, with authentication and shutdown support.
  • Integrated the AdminWebServer into the server runtime (ServerRuntime.cpp, ServerRuntime.hpp), so it starts alongside the existing admin console. [1] [2] [3]

Frontend for admin dashboard:

  • Added a simple HTML dashboard (index.html), a JavaScript app (app.js) for interacting with the API and rendering tables, and a CSS stylesheet (style.css) for basic styling. [1] [2] [3]

Dependencies:

  • Added cpp-httplib to vcpkg.json to provide the HTTP server functionality used by AdminWebServer.

@ann7415 ann7415 self-assigned this Jan 18, 2026
@ann7415 ann7415 requested a review from romain1717 as a code owner January 18, 2026 21:34
Copilot AI review requested due to automatic review settings January 18, 2026 21:34
@ann7415 ann7415 added enhancement New feature or request server Issues related to the server-side implementation. graphics Visual rendering, shaders, or graphical issues. labels Jan 18, 2026
@ann7415 ann7415 linked an issue Jan 18, 2026 that may be closed by this pull request
@ann7415 ann7415 force-pushed the 346-implement-admin-web-interface branch from 0476e6e to 38497b3 Compare January 18, 2026 21:34

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This pull request introduces a web-based admin dashboard for the R-Type game server, providing browser-based administrative capabilities alongside the existing command-line admin console. The implementation includes a new AdminWebServer class that serves a REST API and embedded frontend, allowing administrators to manage game sessions and rooms through HTTP endpoints.

Changes:

  • Added cpp-httplib dependency for HTTP server functionality
  • Implemented AdminWebServer class with RESTful API endpoints for session/room management
  • Integrated the web server into ServerRuntime to start alongside the admin console
  • Added frontend files (HTML, CSS, JS) that appear to be separate from the embedded versions actually served by the implementation

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
vcpkg.json Added cpp-httplib dependency for HTTP server support
server/src/thread/ServerRuntime.hpp Added include for AdminWebServer and member variable declaration
server/src/thread/ServerRuntime.cpp Instantiated and started AdminWebServer alongside AdminConsole
server/src/admin/webServer/AdminWebServer.hpp Declared AdminWebServer class with constructor, lifecycle methods, and private members
server/src/admin/webServer/AdminWebServer.cpp Implemented AdminWebServer with embedded frontend and API handlers for sessions, rooms, kicks, and bans
server/src/admin/webServer/index.html Added HTML dashboard file (appears unused - embedded version is served instead)
server/src/admin/webServer/app.js Added JavaScript app file (appears unused - embedded version differs significantly)
server/src/admin/webServer/style.css Added CSS stylesheet (appears unused - embedded version differs significantly)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread server/src/admin/webServer/AdminWebServer.cpp
Comment thread server/src/admin/webServer/AdminWebServer.cpp
Comment thread server/src/admin/webServer/AdminWebServer.cpp
Comment thread server/src/admin/webServer/style.css
Comment thread server/src/admin/webServer/AdminWebServer.cpp
Comment thread server/src/admin/webServer/index.html
Comment thread server/src/admin/webServer/AdminWebServer.cpp
Comment thread server/src/admin/webServer/AdminWebServer.cpp
Comment thread server/src/admin/webServer/app.js
Comment thread server/src/admin/webServer/AdminWebServer.cpp

@romain1717 romain1717 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Image Image

@ann7415 ann7415 merged commit a35831d into main Jan 18, 2026
10 checks passed
@ann7415 ann7415 deleted the 346-implement-admin-web-interface branch January 18, 2026 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request graphics Visual rendering, shaders, or graphical issues. server Issues related to the server-side implementation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement admin web interface

3 participants