HTTP 接口
基本信息
| 属性 | 值 |
|---|---|
| Servlet 实现类 | src/main/java/org/dynmap/servlet/ 下 10 个 |
| 路由注册入口 | DynmapCore.addServlet(DynmapCore.java:992-995)→ web/HandlerRouter.addServlet(HandlerRouter.java:33) |
| 挂载位置 | DynmapCore.java:963-969(登录相关在 InternalClientUpdateComponent 内) |
| 根路径 | / |
端点
DynmapCore.java:963-969 挂载的端点:
| 路径 | Servlet | 条件 | 源码行 |
|---|---|---|---|
/up/configuration |
org.dynmap.servlet.ClientConfigurationServlet |
无条件 | DynmapCore.java:963 |
/standalone/config.js |
org.dynmap.servlet.ConfigJSServlet |
无条件 | DynmapCore.java:964 |
/up/login |
org.dynmap.servlet.LoginServlet |
authmgr != null(即 login-enabled) |
DynmapCore.java:967 |
/up/register |
org.dynmap.servlet.LoginServlet(同一实例) |
authmgr != null |
DynmapCore.java:968 |
InternalClientUpdateComponent 挂载的端点:
| 路径 | Servlet | 条件 | 源码行 |
|---|---|---|---|
/up/world/* |
ClientUpdateServlet |
无条件 | InternalClientUpdateComponent.java:23 |
/up/sendmessage |
SendMessageServlet |
条件启用 | InternalClientUpdateComponent.java:82 |
静态图块由 org.dynmap.servlet.MapStorageResourceHandler 提供(该类存在于 servlet/ 目录)。
Servlet 类清单
src/main/java/org/dynmap/servlet/ 下的 10 个类:
| 类 | 职责 |
|---|---|
MainServlet |
顶层 Servlet 容器(MainServlet.java:16),内含 Header(:17)与 Registration(:26)内部类,addServlet 在 :39 |
ClientConfigurationServlet |
下发客户端配置 |
ClientUpdateServlet |
玩家位置/血量/聊天增量推送 |
ConfigJSServlet |
生成 config.js |
FileResourceHandler |
通用静态文件处理 |
JSONServlet |
JSON 输出基类 |
JettyNullLogger |
静音 Jetty 日志(JettyNullLogger.java:6 覆写 getName()) |
LoginServlet |
登录与注册 |
MapStorageResourceHandler |
地图图块字节输出 |
SendMessageServlet |
网页端发言写入游戏聊天 |
客户端兼容性
本条目是 gtnh-web-map-client(modid gwmclient)的服务端对端。客户端侧证据(源码位于 /Users/evlos/a/mirror/GTNH-Web-Map-Client/,与本 mod 不同的仓库):
gwmclient默认baseUrl为http://127.0.0.1:8123(RemoteConfiguration.java:17)- 配置项同名,默认值相同(
Config.java:20configuration.get("remote", "baseUrl", "http://127.0.0.1:8123")) - 取图块时拼
RemoteConfiguration.baseUrl + "/tiles/"(TileLoaderUrl.java:74)
:8123 正是本 mod webserver-port 的默认值(DynmapCore.java:880),/tiles/ 由 MapStorageResourceHandler 提供。两个 mod 源码之间没有任何直接引用——gtnh-web-map 全仓搜索 GTNH-Web-Map-Client / web-map-client / webmapclient 均为 0 命中,配对纯靠约定俗成的 URL 契约。
交互
| 触发 | 行为 |
|---|---|
login-enabled: false(仓库默认) |
/up/login 与 /up/register 不挂载,访问 404 |
login-enabled: true |
两个端点由同一 LoginServlet 实例处理 |
| 网页端发言 | 经 /up/sendmessage,受 allowwebchat 与 webchat 权限约束 |
相关条目
- Web 服务器 - 端口、连接器与会话参数
- 网页前端资源 - 消费这些端点的 PHP/JS
- configuration.txt -
login-enabled等键