Live-Ergebnisse aus CS2-Serverlogs (Backend)
Server bekommt beim Konfigurieren logaddress_add_http mit geheimem Match-Schlüssel. Ein Parser wertet Rundenende, Seitenzuordnung, Matchstart und Spielende aus; Stand, Rundenverlauf und Sieger werden pro Map gespeichert und live verteilt. Der Demo-Adapter simuliert nach der Aufwärmphase einen Matchverlauf über dieselben Logzeilen.
This commit is contained in:
1 parent
34e5fc7d0e
commit
306b3aa7e5
11 files changed
+515
-11
No files matched your search
@@ -15,6 +15,18 @@ function accessTokens(req) {
|
||||
|
||||
export function createApiRouter({ service, manager, config, pools, adapter }) {
|
||||
const router = express.Router();
|
||||
|
||||
// Live-Logs vom CS2-Server (logaddress_add_http). Vor dem JSON-Parser, weil CS2 Klartext sendet.
|
||||
// Der Schlüssel in der URL ist pro Server und Match zufällig und nur im Backend bekannt.
|
||||
router.post('/logs/:id/:key', express.text({ type: () => true, limit: '2mb' }), (req, res) => {
|
||||
try {
|
||||
service.ingestLogs(req.params.id, req.params.key, typeof req.body === 'string' ? req.body : '');
|
||||
res.status(200).end();
|
||||
} catch (err) {
|
||||
res.status(err.status ?? 500).end();
|
||||
}
|
||||
});
|
||||
|
||||
router.use(express.json({ limit: '32kb' }));
|
||||
|
||||
const limiters = {
|
||||
|
||||
Reference in new issue
Block a user