No description
WoW/TrinityCore and OpenDAoC population is now read via a direct mysql2 connection to trinitycore-mysql/daoc-mysql over the mmo-net bridge (drop joins that network in homelab-compose), the same shape Drop already uses for RomM's catalog (rommAdapter.ts) and mmo-portal already uses for these exact databases. Each query is copied from that game's own management tooling rather than invented against the schema: WoW's matches FusionCMS's Characters_model.php::getOnlineCount() verbatim; OpenDAoC's matches upstream OpenDAoC-Core's own StatSave.cs/stats.php reading serverstats. EQEmu has no DB-backed online-player source (re-verified live: peq has no who_all_cache, no characters.online-equivalent, no count anywhere) -- corrects an earlier "genuinely unavailable" claim, which was wrong about there being no source at all. The real source is World's in-memory client list, exposed safely through Spire's own authenticated HTTP API (GET /api/v1/eqemuserver/server-stats, backed by a telnet admin console that must stay loopback-only). Added a spire_session_api probe method that logs in as a dedicated service account and reuses the JWT; degrades to "unavailable" honestly until that account is provisioned. Removes the ssh_mysql_query and ssh_docker_logs_regex methods -- the deployed image never had an ssh client, so both always failed. Does not touch presence_inferred (Goldberg relay), which already degrades to "unknown" without ssh, by design; not fixed here per explicit instruction not to add openssh-client to the runtime image or probe the relay's game ports. |
||
|---|---|---|
| .github/workflows | ||
| backend | ||
| cli | ||
| desktop | ||
| libraries | ||
| server | ||
| sites | ||
| torrential | ||
| .dockerignore | ||
| .gitattributes | ||
| .gitignore | ||
| Dockerfile | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| SECURITY.md | ||
| server.code-workspace | ||
Drop
Drop is an open-source game distribution platform, similar to GameVault or Steam. It's designed to distribute and share DRM-free games quickly, all while being incredibly flexible, beautiful, and fast.
Philosophy
- Drop is flexible. While abstractions and interfaces can complicate the codebase, the flexibility is worth it.
- Drop is secure. The nature of Drop means an instance can never be accessible without authentication. In line with #1, Drop also supports a huge variety of authentication mechanisms, from username/password to SSO.
- Drop is user-friendly. The interface is designed to be clean and simple to use, with advanced features available to users who want them.
Deployment
See our documentation on how to deploy Drop for more information.
Contributing
Please see the in-depth contributing guide. The guide includes information on how to set up the project, how to contribute code, how to report issues, and even how to effectively translate Drop.