Messer-Server für die Seitenwahl: 5v5/2v2, im Admin startbar, setzen sich nach der Runde selbst zurück
This commit is contained in:
1 parent
0bfac952b6
commit
c6c39b914f
15 files changed
+717
-14
No files matched your search
+6
-2
@@ -11,6 +11,7 @@ import { MatchService } from './matchService.js';
|
||||
import { attachRealtime } from './realtime.js';
|
||||
import { createServerAdapter } from './servers/adapter.js';
|
||||
import { ServerManager } from './servers/serverManager.js';
|
||||
import { KnifeServers } from './servers/knifeServers.js';
|
||||
import { ServerSettings } from './serverSettings.js';
|
||||
|
||||
/** Baut die komplette Anwendung zusammen (auch für Tests nutzbar). */
|
||||
@@ -29,6 +30,7 @@ export function createApp(config, { adapter: adapterOverride, logger = console }
|
||||
});
|
||||
manager = new ServerManager({ db, service, adapter, config, logger });
|
||||
manager.init();
|
||||
const knife = new KnifeServers({ db, adapter, config, pools, logger });
|
||||
service.startVetoTimer();
|
||||
|
||||
const app = express();
|
||||
@@ -39,7 +41,7 @@ export function createApp(config, { adapter: adapterOverride, logger = console }
|
||||
res.set('Referrer-Policy', 'no-referrer');
|
||||
next();
|
||||
});
|
||||
app.use('/api', createApiRouter({ service, manager, config, pools, adapter, settings }));
|
||||
app.use('/api', createApiRouter({ service, manager, config, pools, adapter, settings, knife }));
|
||||
|
||||
// Gebautes Frontend ausliefern (npm run build), SPA-Fallback auf index.html.
|
||||
const dist = path.join(REPO_ROOT, 'client', 'dist');
|
||||
@@ -52,15 +54,17 @@ export function createApp(config, { adapter: adapterOverride, logger = console }
|
||||
const io = attachRealtime(server, { service, config });
|
||||
|
||||
return {
|
||||
app, server, io, db, service, manager, adapter,
|
||||
app, server, io, db, service, manager, adapter, knife,
|
||||
async start() {
|
||||
await manager.resume();
|
||||
manager.startLoops();
|
||||
knife.startLoop();
|
||||
await new Promise((resolve) => server.listen(config.port, resolve));
|
||||
return server.address().port;
|
||||
},
|
||||
async close() {
|
||||
manager.stopLoops();
|
||||
knife.stopLoop();
|
||||
service.stopVetoTimer();
|
||||
// Laufende Server-Aktionen (Start, Konfiguration) kurz abwarten, bevor die Datenbank schließt
|
||||
await manager.idle(5000);
|
||||
|
||||
Reference in new issue
Block a user