From 04b3463b195bb2dec4a608ebfd1a6e263f861c34 Mon Sep 17 00:00:00 2001 From: React User Date: Tue, 5 May 2026 20:01:28 +0000 Subject: [PATCH] settings --- app.ts | 51 ++++++---- games/soccar/soccar_Data/Log.txt | 4 +- games/soccar/soccar_Data/Logs/249.txt | 42 ++++++++ games/soccar/soccar_Data/Logs/250.txt | 36 +++++++ games/soccar/soccar_Data/Logs/251.txt | 12 +++ games/soccar/soccar_Data/Logs/252.txt | 44 ++++++++ games/soccar/soccar_Data/Logs/253.txt | 12 +++ games/soccar/soccar_Data/Logs/254.txt | 43 ++++++++ games/soccar/soccar_Data/Logs/255.txt | 52 ++++++++++ games/soccar/soccar_Data/Logs/256.txt | 54 ++++++++++ games/soccar/soccar_Data/Logs/257.txt | 40 ++++++++ games/soccar/soccar_Data/Logs/258.txt | 60 +++++++++++ games/soccar/soccar_Data/Logs/259.txt | 39 ++++++++ games/soccar/soccar_Data/Logs/260.txt | 24 +++++ games/soccar/soccar_Data/Logs/261.txt | 17 ++++ .../soccar_Data/Managed/Assembly-CSharp.dll | Bin 159744 -> 169472 bytes games/soccar/soccar_Data/boot.config | 2 +- games/soccar/soccar_Data/globalgamemanagers | Bin 231748 -> 231748 bytes .../soccar_Data/globalgamemanagers.assets | Bin 418996 -> 418996 bytes games/soccar/soccar_Data/level0 | Bin 236056 -> 236056 bytes games/soccar/soccar_Data/resources.assets | Bin 277432 -> 277432 bytes games/soccar/soccar_Data/sharedassets0.assets | Bin 4357496 -> 4357496 bytes matches.ts | 94 +++++++++++++++--- schemas/table_settings.md | 5 + 24 files changed, 594 insertions(+), 37 deletions(-) create mode 100644 games/soccar/soccar_Data/Logs/249.txt create mode 100644 games/soccar/soccar_Data/Logs/250.txt create mode 100644 games/soccar/soccar_Data/Logs/251.txt create mode 100644 games/soccar/soccar_Data/Logs/252.txt create mode 100644 games/soccar/soccar_Data/Logs/253.txt create mode 100644 games/soccar/soccar_Data/Logs/254.txt create mode 100644 games/soccar/soccar_Data/Logs/255.txt create mode 100644 games/soccar/soccar_Data/Logs/256.txt create mode 100644 games/soccar/soccar_Data/Logs/257.txt create mode 100644 games/soccar/soccar_Data/Logs/258.txt create mode 100644 games/soccar/soccar_Data/Logs/259.txt create mode 100644 games/soccar/soccar_Data/Logs/260.txt create mode 100644 games/soccar/soccar_Data/Logs/261.txt create mode 100644 schemas/table_settings.md diff --git a/app.ts b/app.ts index 5955280..4273928 100644 --- a/app.ts +++ b/app.ts @@ -9,6 +9,8 @@ import { insertRematchMatch, loadUsernamesForUserPair, computeRcPrizeFromEntryFee, + getBetFeePercentFromSettings, + getDefaultMatchEntryFeeRc, MATCH_ENTRY_FEE_RC, registerMatchRoutes, updateMatchUserBlue, @@ -95,31 +97,32 @@ function removeUserFromQueue(userId: number): void { } /** GET / JSON only: same order as match DB — first joined = red, second = blue. Always includes `entry_fee`. */ -function roomResponseForViewer(room: Room, viewerUserId: number): Room { +function roomResponseForViewer(room: Room, viewerUserId: number, betFeePercent: number): Room { const idx = room.Players.findIndex((p) => p.UserId === viewerUserId); const your_team: 'red' | 'blue' | null = idx === 0 ? 'red' : idx === 1 ? 'blue' : null; const entry_fee = room.entry_fee ?? MATCH_ENTRY_FEE_RC; - const rc_prize = computeRcPrizeFromEntryFee(entry_fee); + const rc_prize = computeRcPrizeFromEntryFee(entry_fee, betFeePercent); return { ...room, entry_fee, rc_prize, your_team }; } /** Same envelope as `POST /internal/rematch` success: both sides when seated, else `null` for open slot. */ -function roomMatchSuccessEnvelope(room: Room): MatchRoomSuccessEnvelope { +function roomMatchSuccessEnvelope(room: Room, betFeePercent: number): MatchRoomSuccessEnvelope { const entry_fee = room.entry_fee ?? MATCH_ENTRY_FEE_RC; - const rc_prize = computeRcPrizeFromEntryFee(entry_fee); + const rc_prize = computeRcPrizeFromEntryFee(entry_fee, betFeePercent); const redId = room.Players[0]?.UserId; const blueId = room.Players[1]?.UserId; return { ok: true, entry_fee, rc_prize, - for_red: redId != null ? roomResponseForViewer(room, redId) : null, - for_blue: blueId != null ? roomResponseForViewer(room, blueId) : null, + for_red: redId != null ? roomResponseForViewer(room, redId, betFeePercent) : null, + for_blue: blueId != null ? roomResponseForViewer(room, blueId, betFeePercent) : null, }; } const createRematchRoom: CreateRematchRoomFn = async ({ userRedId, userBlueId, entryFee }) => { return runMatchmakerExclusive(async () => { + const betFeePercent = await getBetFeePercentFromSettings(typedSettings); const names = await loadUsernamesForUserPair(typedSettings, userRedId, userBlueId); if (!names) { return { ok: false, status: 404, error: 'One or both players not found' }; @@ -168,24 +171,30 @@ const createRematchRoom: CreateRematchRoomFn = async ({ userRedId, userBlueId, e `Rematch room port ${newPort} match ${matchId} — ${redName} vs ${blueName} (entry_fee ${entryFee})` ); - return roomMatchSuccessEnvelope(newRoom); + return roomMatchSuccessEnvelope(newRoom, betFeePercent); }); }; registerMatchRoutes(app, typedSettings, { createRematchRoom }); -app.get('/settings', (req: Request, res: Response) => { +app.get('/settings', async (req: Request, res: Response) => { if (req.query.password !== typedSettings.password) { res.send("403 Unauthorized"); return; } + const entry_fee = await getDefaultMatchEntryFeeRc(typedSettings); + const bet_fee = await getBetFeePercentFromSettings(typedSettings); + const rc_prize = computeRcPrizeFromEntryFee(entry_fee, bet_fee); const m_settings = { minimum_players: typedSettings.minimum_players, maximum_players: typedSettings.maximum_players, waiting_time: typedSettings.waiting_time, port_range_min: typedSettings.port_range_min, port_range_max: typedSettings.port_range_max, - games: typedSettings.games + games: typedSettings.games, + entry_fee, + bet_fee, + rc_prize, }; logInfo(m_settings); res.send(m_settings); @@ -236,6 +245,8 @@ app.get('/', async (req: Request, res: Response) => { try { await runMatchmakerExclusive(async () => { + const betFeePercent = await getBetFeePercentFromSettings(typedSettings); + // Check query let joinedRoom: Room | null = null; let alreadyOnQueue = false; @@ -306,13 +317,14 @@ app.get('/', async (req: Request, res: Response) => { if (joinedRoom !== null) { // Already in a room. Stopping here removeUserFromQueue(userId); - res.json(roomMatchSuccessEnvelope(joinedRoom)); + res.json(roomMatchSuccessEnvelope(joinedRoom, betFeePercent)); return; } // Neither in a room nor in queue, Let's see if (possibleRoom === null) { if (Queue.length >= typedSettings.minimum_players) { + const insertResult = await insertMatchForNewRoom(typedSettings, userId); const newPort = GetRandomPort(typedSettings.port_range_min, typedSettings.port_range_max); const l10 = await getPlayerLast10MatchRecord(typedSettings, userId); const newRoom: Room = { @@ -320,18 +332,17 @@ app.get('/', async (req: Request, res: Response) => { GameName: gameName, Port: newPort, InitTime: Date.now(), - entry_fee: MATCH_ENTRY_FEE_RC, + entry_fee: insertResult.entry_fee, }; - const matchId = await insertMatchForNewRoom(typedSettings, userId); - if (matchId != null) { - newRoom.match_id = matchId; + if (insertResult.matchId != null) { + newRoom.match_id = insertResult.matchId; } Rooms.push(newRoom); removeUserFromQueue(userId); recordHistory( `${username} created a room on port ${newPort} (match id ${newRoom.match_id ?? '—'}) — waiting for opponent` ); - res.json(roomMatchSuccessEnvelope(newRoom)); + res.json(roomMatchSuccessEnvelope(newRoom, betFeePercent)); return; } } else { @@ -353,7 +364,7 @@ app.get('/', async (req: Request, res: Response) => { `new room created with port ${room.Port} and matchId ${room.match_id ?? '—'} for ${p0.Name} and ${p1.Name}` ); } - res.json(roomMatchSuccessEnvelope(room)); + res.json(roomMatchSuccessEnvelope(room, betFeePercent)); return; } @@ -443,17 +454,17 @@ app.get('/reopen', async (req: Request, res: Response) => { return; } + const insertResult = await insertMatchForNewRoom(typedSettings); const newRoom: Room = { Players: [], GameName: gameName, Port: port, InitTime: Date.now(), - entry_fee: MATCH_ENTRY_FEE_RC, + entry_fee: insertResult.entry_fee, instance_started: true, }; - const matchId = await insertMatchForNewRoom(typedSettings); - if (matchId != null) { - newRoom.match_id = matchId; + if (insertResult.matchId != null) { + newRoom.match_id = insertResult.matchId; } Rooms.push(newRoom); diff --git a/games/soccar/soccar_Data/Log.txt b/games/soccar/soccar_Data/Log.txt index d8fdb71..476475b 100644 --- a/games/soccar/soccar_Data/Log.txt +++ b/games/soccar/soccar_Data/Log.txt @@ -1,3 +1,3 @@ -Logger initiated at 05/04/2026 12:01:54 +Logger initiated at 05/05/2026 20:00:37 -[05/04/2026 12:01:54] Configured dedicated match reporting for match id 248 with secret 38516e39d3406225b7c3015a66e5d25c54e9b2024c0755212122bdcea3e3a328 and internal api base https://kickkingsapi.playpoolstudios.com +[05/05/2026 20:00:37] Configured dedicated match reporting for match id 261 with secret 38516e39d3406225b7c3015a66e5d25c54e9b2024c0755212122bdcea3e3a328 and internal api base https://kickkingsapi.playpoolstudios.com diff --git a/games/soccar/soccar_Data/Logs/249.txt b/games/soccar/soccar_Data/Logs/249.txt new file mode 100644 index 0000000..13b938b --- /dev/null +++ b/games/soccar/soccar_Data/Logs/249.txt @@ -0,0 +1,42 @@ +[05/04/2026 17:55:48] Starting server at port 26766 +[05/04/2026 17:55:48] Failed to fetch red and blue names, isServer? +[05/04/2026 17:55:48] Starting auto close watchdog +[05/04/2026 17:55:48] Active player connections: 0 +[05/04/2026 17:55:53] Server will be closed due to no players in, 60 +[05/04/2026 17:55:54] Active player connections: 1 +[05/04/2026 17:55:55] Client 15 set team to Red +[05/04/2026 17:55:55] Dedicated match PATCH success: 200 {"ok":true,"id":249} +[05/04/2026 17:55:59] Active player connections: 2 +[05/04/2026 17:55:59] Game started On Server +[05/04/2026 17:55:59] Client 16 set team to Blue +[05/04/2026 17:55:59] Dedicated match PATCH success: 200 {"ok":true,"id":249} +[05/04/2026 17:56:08] force = 70 * 0.3274674 = 22.92272 +[05/04/2026 17:56:08] launching puck at (0.02, -1.06) with (-0.40, 24.41) force +[05/04/2026 17:56:13] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 17:56:13] launching puck at (-3.65, 3.42) with (254.07, -238.47) force +[05/04/2026 17:56:21] force = 70 * 0.9373422 = 65.61395 +[05/04/2026 17:56:21] launching puck at (-0.34, -4.35) with (22.60, 285.55) force +[05/04/2026 17:56:21] Red goal scored, red score is now 1 +[05/04/2026 17:56:29] force = 70 * 0.7538527 = 52.76969 +[05/04/2026 17:56:29] launching puck at (-2.27, 1.72) with (119.79, -90.85) force +[05/04/2026 17:56:35] force = 70 * 0.7580514 = 53.0636 +[05/04/2026 17:56:35] launching puck at (-0.04, -2.88) with (1.99, 152.58) force +[05/04/2026 17:56:36] Red goal scored, red score is now 2 +[05/04/2026 17:56:44] force = 70 * 0.9458287 = 66.20801 +[05/04/2026 17:56:44] launching puck at (-3.41, 2.87) with (225.56, -190.10) force +[05/04/2026 17:56:50] force = 70 * 0.8543559 = 59.80492 +[05/04/2026 17:56:50] launching puck at (-0.04, -3.58) with (2.20, 214.07) force +[05/04/2026 17:56:51] Red goal scored, red score is now 3 +[05/04/2026 17:56:52] Dedicated match PATCH success: 200 {"ok":true,"id":249} +[05/04/2026 17:56:53] Dedicated match PATCH success: 200 {"ok":true,"id":249,"winner_id":4,"economy":{"entry_fee_rc":21,"rc_prize":37,"participant_cc":100}} +[05/04/2026 17:57:01] Rematch requested +[05/04/2026 17:57:59] Active player connections: 1 +[05/04/2026 17:58:00] Active player connections: 0 +[05/04/2026 17:58:05] Server will be closed due to no players in, 60 +[05/04/2026 17:58:15] Server will be closed due to no players in, 50 +[05/04/2026 17:58:25] Server will be closed due to no players in, 40 +[05/04/2026 17:58:35] Server will be closed due to no players in, 30 +[05/04/2026 17:58:45] Server will be closed due to no players in, 20 +[05/04/2026 17:58:55] Server will be closed due to no players in, 10 +[05/04/2026 17:59:05] All players left, exiting +[05/04/2026 17:59:06] Dedicated match PATCH success: 200 {"ok":true,"id":249} diff --git a/games/soccar/soccar_Data/Logs/250.txt b/games/soccar/soccar_Data/Logs/250.txt new file mode 100644 index 0000000..68cfdd7 --- /dev/null +++ b/games/soccar/soccar_Data/Logs/250.txt @@ -0,0 +1,36 @@ +[05/04/2026 18:03:26] Starting server at port 26100 +[05/04/2026 18:03:26] Failed to fetch red and blue names, isServer? +[05/04/2026 18:03:26] Starting auto close watchdog +[05/04/2026 18:03:26] Active player connections: 0 +[05/04/2026 18:03:31] Server will be closed due to no players in, 60 +[05/04/2026 18:03:32] Active player connections: 1 +[05/04/2026 18:03:32] Client 15 set team to Blue +[05/04/2026 18:03:33] Active player connections: 2 +[05/04/2026 18:03:33] Game started On Server +[05/04/2026 18:03:33] Client 16 set team to Red +[05/04/2026 18:03:33] Dedicated match PATCH success: 200 {"ok":true,"id":250} +[05/04/2026 18:03:33] Dedicated match PATCH success: 200 {"ok":true,"id":250} +[05/04/2026 18:03:38] force = 70 * 0.2050931 = 14.35652 +[05/04/2026 18:03:38] launching puck at (0.03, -0.87) with (-0.43, 12.42) force +[05/04/2026 18:03:45] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:03:45] launching puck at (-3.75, 3.31) with (261.14, -230.71) force +[05/04/2026 18:03:50] force = 70 * 0.9188094 = 64.31666 +[05/04/2026 18:03:50] launching puck at (-0.09, -4.17) with (5.72, 268.46) force +[05/04/2026 18:03:51] Red goal scored, red score is now 1 +[05/04/2026 18:03:58] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:03:58] launching puck at (-3.31, 3.74) with (230.99, -260.89) force +[05/04/2026 18:04:13] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:04:13] launching puck at (0.07, -5.00) with (-5.20, 348.41) force +[05/04/2026 18:04:13] Red goal scored, red score is now 2 +[05/04/2026 18:04:20] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:04:20] launching puck at (-3.81, 3.24) with (265.58, -225.58) force +[05/04/2026 18:04:25] force = 70 * 0.8454155 = 59.17908 +[05/04/2026 18:04:25] launching puck at (0.09, -3.50) with (-5.61, 207.38) force +[05/04/2026 18:04:26] Red goal scored, red score is now 3 +[05/04/2026 18:04:27] Dedicated match PATCH success: 200 {"ok":true,"id":250} +[05/04/2026 18:04:28] Dedicated match winner PATCH success: 200 {"ok":true,"id":250,"winner_id":5,"economy":{"entry_fee_rc":21,"rc_prize":37,"participant_cc":100}} +[05/04/2026 18:04:34] Rematch requested +[05/04/2026 18:04:40] Rematch was confirmed, closing in 5 secs. new room : +[05/04/2026 18:04:40] {"ok":true,"entry_fee":16,"rc_prize":28,"for_red":{"Players":[{"Name":"warlock2","LastSeen":1777917880090,"l10_wins":3,"l10_losses":3,"UserId":5,"rc":0.0},{"Name":"warlock","LastSeen":1777917880090,"l10_wins":3,"l10_losses":3,"UserId":4,"rc":0.0}],"GameName":"soccar","Port":26529,"InitTime":1777917880090,"instance_started":true,"match_id":251,"entry_fee":16,"rc_prize":28,"your_team":"red"},"for_blue":{"Players":[{"Name":"warlock2","LastSeen":1777917880090,"l10_wins":3,"l10_losses":3,"UserId":5,"rc":0.0},{"Name":"warlock","LastSeen":1777917880090,"l10_wins":3,"l10_losses":3,"UserId":4,"rc":0.0}],"GameName":"soccar","Port":26529,"InitTime":1777917880090,"instance_started":true,"match_id":251,"entry_fee":16,"rc_prize":28,"your_team":"blue"},"your_team":""} +[05/04/2026 18:04:44] Exiting for rematch. +[05/04/2026 18:04:45] Dedicated match PATCH success: 200 {"ok":true,"id":250} diff --git a/games/soccar/soccar_Data/Logs/251.txt b/games/soccar/soccar_Data/Logs/251.txt new file mode 100644 index 0000000..fcfb6bc --- /dev/null +++ b/games/soccar/soccar_Data/Logs/251.txt @@ -0,0 +1,12 @@ +[05/04/2026 18:04:42] Starting server at port 26529 +[05/04/2026 18:04:42] Failed to fetch red and blue names, isServer? +[05/04/2026 18:04:42] Starting auto close watchdog +[05/04/2026 18:04:42] Active player connections: 0 +[05/04/2026 18:04:47] Server will be closed due to no players in, 60 +[05/04/2026 18:04:57] Server will be closed due to no players in, 50 +[05/04/2026 18:05:07] Server will be closed due to no players in, 40 +[05/04/2026 18:05:17] Server will be closed due to no players in, 30 +[05/04/2026 18:05:27] Server will be closed due to no players in, 20 +[05/04/2026 18:05:37] Server will be closed due to no players in, 10 +[05/04/2026 18:05:47] No players joined, exiting +[05/04/2026 18:05:48] Dedicated match PATCH success: 200 {"ok":true,"id":251} diff --git a/games/soccar/soccar_Data/Logs/252.txt b/games/soccar/soccar_Data/Logs/252.txt new file mode 100644 index 0000000..561e12c --- /dev/null +++ b/games/soccar/soccar_Data/Logs/252.txt @@ -0,0 +1,44 @@ +[05/04/2026 18:11:34] Starting server at port 26753 +[05/04/2026 18:11:34] Failed to fetch red and blue names, isServer? +[05/04/2026 18:11:34] Starting auto close watchdog +[05/04/2026 18:11:34] Active player connections: 0 +[05/04/2026 18:11:39] Server will be closed due to no players in, 60 +[05/04/2026 18:11:40] Active player connections: 1 +[05/04/2026 18:11:40] Active player connections: 2 +[05/04/2026 18:11:40] Game started On Server +[05/04/2026 18:11:40] Client 15 set team to Red +[05/04/2026 18:11:40] Client 16 set team to Blue +[05/04/2026 18:11:40] Dedicated match PATCH success: 200 {"ok":true,"id":252} +[05/04/2026 18:11:40] Dedicated match PATCH success: 200 {"ok":true,"id":252} +[05/04/2026 18:11:47] force = 70 * 0.3319603 = 23.23722 +[05/04/2026 18:11:47] launching puck at (-0.01, -1.07) with (0.27, 24.95) force +[05/04/2026 18:11:52] force = 70 * 0.7957928 = 55.7055 +[05/04/2026 18:11:52] launching puck at (-2.40, 2.00) with (133.88, -111.58) force +[05/04/2026 18:11:57] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:11:57] launching puck at (-0.15, -5.00) with (10.71, 348.29) force +[05/04/2026 18:11:58] Red goal scored, red score is now 1 +[05/04/2026 18:12:04] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:12:04] launching puck at (-3.60, 3.47) with (250.96, -241.75) force +[05/04/2026 18:12:09] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:12:09] launching puck at (0.19, -5.00) with (-13.32, 348.20) force +[05/04/2026 18:12:09] Red goal scored, red score is now 2 +[05/04/2026 18:12:15] force = 70 * 0.8561524 = 59.93067 +[05/04/2026 18:12:15] launching puck at (-2.91, 2.11) with (174.53, -126.30) force +[05/04/2026 18:12:20] force = 70 * 0.9270817 = 64.89572 +[05/04/2026 18:12:20] launching puck at (0.11, -4.26) with (-6.98, 276.31) force +[05/04/2026 18:12:20] Red goal scored, red score is now 3 +[05/04/2026 18:12:21] Dedicated match PATCH success: 200 {"ok":true,"id":252} +[05/04/2026 18:12:22] Dedicated match winner PATCH success: 200 {"ok":true,"id":252,"winner_id":4,"economy":{"entry_fee_rc":21,"rc_prize":37,"participant_cc":100}} +[05/04/2026 18:12:41] Rematch requested +[05/04/2026 18:12:54] Rematch was confirmed, closing in 5 secs. new room : +[05/04/2026 18:12:54] {"ok":true,"entry_fee":20,"rc_prize":36,"for_red":{"Players":[{"Name":"warlock","LastSeen":1777918374597,"l10_wins":2,"l10_losses":3,"UserId":4,"rc":0.0},{"Name":"warlock2","LastSeen":1777918374597,"l10_wins":3,"l10_losses":2,"UserId":5,"rc":0.0}],"GameName":"soccar","Port":26410,"InitTime":1777918374597,"instance_started":true,"match_id":253,"entry_fee":20,"rc_prize":36,"your_team":"red"},"for_blue":{"Players":[{"Name":"warlock","LastSeen":1777918374597,"l10_wins":2,"l10_losses":3,"UserId":4,"rc":0.0},{"Name":"warlock2","LastSeen":1777918374597,"l10_wins":3,"l10_losses":2,"UserId":5,"rc":0.0}],"GameName":"soccar","Port":26410,"InitTime":1777918374597,"instance_started":true,"match_id":253,"entry_fee":20,"rc_prize":36,"your_team":"blue"},"your_team":""} +[05/04/2026 18:12:54] Active player connections: 1 +[05/04/2026 18:12:54] Active player connections: 0 +[05/04/2026 18:12:59] Server will be closed due to no players in, 60 +[05/04/2026 18:13:09] Server will be closed due to no players in, 50 +[05/04/2026 18:13:19] Server will be closed due to no players in, 40 +[05/04/2026 18:13:29] Server will be closed due to no players in, 30 +[05/04/2026 18:13:39] Server will be closed due to no players in, 20 +[05/04/2026 18:13:49] Server will be closed due to no players in, 10 +[05/04/2026 18:13:59] All players left, exiting +[05/04/2026 18:14:00] Dedicated match PATCH success: 200 {"ok":true,"id":252} diff --git a/games/soccar/soccar_Data/Logs/253.txt b/games/soccar/soccar_Data/Logs/253.txt new file mode 100644 index 0000000..ad70f7b --- /dev/null +++ b/games/soccar/soccar_Data/Logs/253.txt @@ -0,0 +1,12 @@ +[05/04/2026 18:12:56] Starting server at port 26410 +[05/04/2026 18:12:56] Failed to fetch red and blue names, isServer? +[05/04/2026 18:12:56] Starting auto close watchdog +[05/04/2026 18:12:56] Active player connections: 0 +[05/04/2026 18:13:01] Server will be closed due to no players in, 60 +[05/04/2026 18:13:11] Server will be closed due to no players in, 50 +[05/04/2026 18:13:21] Server will be closed due to no players in, 40 +[05/04/2026 18:13:31] Server will be closed due to no players in, 30 +[05/04/2026 18:13:41] Server will be closed due to no players in, 20 +[05/04/2026 18:13:51] Server will be closed due to no players in, 10 +[05/04/2026 18:14:01] No players joined, exiting +[05/04/2026 18:14:01] Dedicated match PATCH success: 200 {"ok":true,"id":253} diff --git a/games/soccar/soccar_Data/Logs/254.txt b/games/soccar/soccar_Data/Logs/254.txt new file mode 100644 index 0000000..c2e8436 --- /dev/null +++ b/games/soccar/soccar_Data/Logs/254.txt @@ -0,0 +1,43 @@ +[05/04/2026 18:14:21] Starting server at port 26270 +[05/04/2026 18:14:21] Failed to fetch red and blue names, isServer? +[05/04/2026 18:14:21] Starting auto close watchdog +[05/04/2026 18:14:21] Active player connections: 0 +[05/04/2026 18:14:26] Server will be closed due to no players in, 60 +[05/04/2026 18:14:27] Active player connections: 1 +[05/04/2026 18:14:28] Client 15 set team to Blue +[05/04/2026 18:14:28] Dedicated match PATCH success: 200 {"ok":true,"id":254} +[05/04/2026 18:14:28] Active player connections: 2 +[05/04/2026 18:14:28] Game started On Server +[05/04/2026 18:14:28] Client 16 set team to Red +[05/04/2026 18:14:29] Dedicated match PATCH success: 200 {"ok":true,"id":254} +[05/04/2026 18:14:37] force = 70 * 0.2137036 = 14.95925 +[05/04/2026 18:14:37] launching puck at (0.01, -0.88) with (-0.22, 13.13) force +[05/04/2026 18:14:41] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:14:41] launching puck at (-3.58, 3.49) with (249.46, -243.29) force +[05/04/2026 18:14:47] force = 70 * 0.9408115 = 65.8568 +[05/04/2026 18:14:47] launching puck at (0.01, -4.40) with (-0.89, 289.91) force +[05/04/2026 18:14:47] Red goal scored, red score is now 1 +[05/04/2026 18:14:52] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:14:52] launching puck at (-3.60, 3.47) with (251.21, -241.48) force +[05/04/2026 18:15:00] force = 70 * 0.8273905 = 57.91734 +[05/04/2026 18:15:00] launching puck at (0.05, -3.36) with (-2.79, 194.71) force +[05/04/2026 18:15:00] Red goal scored, red score is now 2 +[05/04/2026 18:15:07] force = 70 * 0.8637013 = 60.45909 +[05/04/2026 18:15:07] launching puck at (-2.63, 2.55) with (158.71, -154.13) force +[05/04/2026 18:15:13] force = 70 * 0.8029059 = 56.20341 +[05/04/2026 18:15:13] launching puck at (-0.01, -3.18) with (0.47, 178.69) force +[05/04/2026 18:15:14] Red goal scored, red score is now 3 +[05/04/2026 18:15:14] Dedicated match PATCH success: 200 {"ok":true,"id":254} +[05/04/2026 18:15:15] Dedicated match winner PATCH success: 200 {"ok":true,"id":254,"winner_id":4,"economy":{"entry_fee_rc":21,"rc_prize":37,"participant_cc":100}} +[05/04/2026 18:15:23] Rematch requested +[05/04/2026 18:15:31] Rematch was confirmed, closing in 5 secs. new room : +[05/04/2026 18:15:31] {"ok":true,"entry_fee":12,"rc_prize":21,"for_red":{"Players":[{"Name":"warlock","LastSeen":1777918531357,"l10_wins":3,"l10_losses":2,"UserId":4,"rc":0.0},{"Name":"warlock2","LastSeen":1777918531357,"l10_wins":2,"l10_losses":3,"UserId":5,"rc":0.0}],"GameName":"soccar","Port":26659,"InitTime":1777918531357,"instance_started":true,"match_id":255,"entry_fee":12,"rc_prize":21,"your_team":"red"},"for_blue":{"Players":[{"Name":"warlock","LastSeen":1777918531357,"l10_wins":3,"l10_losses":2,"UserId":4,"rc":0.0},{"Name":"warlock2","LastSeen":1777918531357,"l10_wins":2,"l10_losses":3,"UserId":5,"rc":0.0}],"GameName":"soccar","Port":26659,"InitTime":1777918531357,"instance_started":true,"match_id":255,"entry_fee":12,"rc_prize":21,"your_team":"blue"},"your_team":""} +[05/04/2026 18:15:31] Active player connections: 0 +[05/04/2026 18:15:36] Server will be closed due to no players in, 60 +[05/04/2026 18:15:46] Server will be closed due to no players in, 50 +[05/04/2026 18:15:56] Server will be closed due to no players in, 40 +[05/04/2026 18:16:06] Server will be closed due to no players in, 30 +[05/04/2026 18:16:16] Server will be closed due to no players in, 20 +[05/04/2026 18:16:26] Server will be closed due to no players in, 10 +[05/04/2026 18:16:36] All players left, exiting +[05/04/2026 18:16:37] Dedicated match PATCH success: 200 {"ok":true,"id":254} diff --git a/games/soccar/soccar_Data/Logs/255.txt b/games/soccar/soccar_Data/Logs/255.txt new file mode 100644 index 0000000..b35097b --- /dev/null +++ b/games/soccar/soccar_Data/Logs/255.txt @@ -0,0 +1,52 @@ +[05/04/2026 18:15:33] Starting server at port 26659 +[05/04/2026 18:15:33] Failed to fetch red and blue names, isServer? +[05/04/2026 18:15:33] Starting auto close watchdog +[05/04/2026 18:15:33] Active player connections: 0 +[05/04/2026 18:15:36] Active player connections: 2 +[05/04/2026 18:15:36] Game started On Server +[05/04/2026 18:15:36] Client 16 set team to Blue +[05/04/2026 18:15:36] Client 15 set team to Red +[05/04/2026 18:15:36] Dedicated match PATCH success: 200 {"ok":true,"id":255} +[05/04/2026 18:15:37] Dedicated match PATCH success: 200 {"ok":true,"id":255} +[05/04/2026 18:15:45] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:15:45] launching puck at (-0.05, -5.00) with (3.17, 348.44) force +[05/04/2026 18:15:54] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:15:54] launching puck at (-2.59, 4.28) with (180.64, -297.97) force +[05/04/2026 18:16:01] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:16:01] launching puck at (-4.37, 2.43) with (304.46, -169.48) force +[05/04/2026 18:16:06] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:16:06] launching puck at (-0.96, 4.91) with (66.84, -341.98) force +[05/04/2026 18:16:12] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:16:12] launching puck at (-3.10, -3.93) with (215.77, 273.61) force +[05/04/2026 18:16:21] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:16:21] launching puck at (-4.93, 0.83) with (343.63, -57.79) force +[05/04/2026 18:16:27] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:16:27] launching puck at (-1.43, -4.79) with (99.60, 333.92) force +[05/04/2026 18:16:32] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:16:32] launching puck at (-0.73, -4.95) with (50.58, 344.76) force +[05/04/2026 18:16:37] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:16:37] launching puck at (1.98, -4.59) with (-137.70, 320.09) force +[05/04/2026 18:16:37] Red goal scored, red score is now 1 +[05/04/2026 18:16:43] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:16:43] launching puck at (-3.69, 3.37) with (257.30, -234.98) force +[05/04/2026 18:16:48] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:16:48] launching puck at (-0.17, -5.00) with (11.91, 348.25) force +[05/04/2026 18:16:49] Red goal scored, red score is now 2 +[05/04/2026 18:16:59] force = 70 * 0.8738596 = 61.17017 +[05/04/2026 18:16:59] launching puck at (-3.01, 2.23) with (184.09, -136.68) force +[05/04/2026 18:17:05] force = 70 * 0.8715435 = 61.00805 +[05/04/2026 18:17:05] launching puck at (-0.01, -3.73) with (0.46, 227.42) force +[05/04/2026 18:17:05] Red goal scored, red score is now 3 +[05/04/2026 18:17:06] Dedicated match PATCH success: 200 {"ok":true,"id":255} +[05/04/2026 18:17:07] Dedicated match winner PATCH success: 200 {"ok":true,"id":255,"winner_id":4,"economy":{"entry_fee_rc":12,"rc_prize":21,"participant_cc":100}} +[05/04/2026 18:17:19] Rematch requested +[05/04/2026 18:17:34] Active player connections: 1 +[05/04/2026 18:17:36] Active player connections: 0 +[05/04/2026 18:17:41] Server will be closed due to no players in, 60 +[05/04/2026 18:17:51] Server will be closed due to no players in, 50 +[05/04/2026 18:18:01] Server will be closed due to no players in, 40 +[05/04/2026 18:18:11] Server will be closed due to no players in, 30 +[05/04/2026 18:18:21] Server will be closed due to no players in, 20 +[05/04/2026 18:18:31] Server will be closed due to no players in, 10 +[05/04/2026 18:18:41] All players left, exiting +[05/04/2026 18:18:41] Dedicated match PATCH success: 200 {"ok":true,"id":255} diff --git a/games/soccar/soccar_Data/Logs/256.txt b/games/soccar/soccar_Data/Logs/256.txt new file mode 100644 index 0000000..d474f78 --- /dev/null +++ b/games/soccar/soccar_Data/Logs/256.txt @@ -0,0 +1,54 @@ +[05/04/2026 18:19:50] Starting server at port 26271 +[05/04/2026 18:19:50] Failed to fetch red and blue names, isServer? +[05/04/2026 18:19:50] Starting auto close watchdog +[05/04/2026 18:19:50] Active player connections: 0 +[05/04/2026 18:19:55] Server will be closed due to no players in, 60 +[05/04/2026 18:19:55] Active player connections: 1 +[05/04/2026 18:19:55] Active player connections: 2 +[05/04/2026 18:19:55] Game started On Server +[05/04/2026 18:19:55] Client 15 set team to Blue +[05/04/2026 18:19:56] Client 16 set team to Red +[05/04/2026 18:19:56] Dedicated match PATCH success: 200 {"ok":true,"id":256} +[05/04/2026 18:19:56] Dedicated match PATCH success: 200 {"ok":true,"id":256} +[05/04/2026 18:20:02] force = 70 * 0.2513374 = 17.59362 +[05/04/2026 18:20:02] launching puck at (0.01, -0.93) with (-0.26, 16.42) force +[05/04/2026 18:20:08] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:20:08] launching puck at (-2.04, 4.56) with (142.38, -318.04) force +[05/04/2026 18:20:12] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:20:12] launching puck at (-2.97, -4.02) with (207.00, 280.30) force +[05/04/2026 18:20:21] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:20:21] launching puck at (-0.02, 5.00) with (1.20, -348.45) force +[05/04/2026 18:20:28] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:20:28] launching puck at (-3.63, 3.44) with (253.05, -239.55) force +[05/04/2026 18:20:28] Blue goal scored, blue score is now 1 +[05/04/2026 18:20:36] force = 70 * 0.1760664 = 12.32465 +[05/04/2026 18:20:36] launching puck at (0.01, -0.83) with (-0.18, 10.18) force +[05/04/2026 18:20:40] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:20:40] launching puck at (-3.42, 3.65) with (238.44, -254.10) force +[05/04/2026 18:20:48] force = 70 * 0.7923052 = 55.46136 +[05/04/2026 18:20:48] launching puck at (0.10, -3.10) with (-5.71, 172.07) force +[05/04/2026 18:20:48] Red goal scored, red score is now 1 +[05/04/2026 18:20:55] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:20:55] launching puck at (-3.59, 3.48) with (250.51, -242.20) force +[05/04/2026 18:21:00] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:21:00] launching puck at (0.00, -5.00) with (0.33, 348.45) force +[05/04/2026 18:21:00] Red goal scored, red score is now 2 +[05/04/2026 18:21:06] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:21:06] launching puck at (-3.46, 3.61) with (240.99, -251.68) force +[05/04/2026 18:21:13] force = 70 * 0.823643 = 57.65501 +[05/04/2026 18:21:13] launching puck at (-0.04, -3.33) with (2.09, 192.18) force +[05/04/2026 18:21:13] Red goal scored, red score is now 3 +[05/04/2026 18:21:14] Dedicated match PATCH success: 200 {"ok":true,"id":256} +[05/04/2026 18:21:15] Dedicated match winner PATCH success: 200 {"ok":true,"id":256,"winner_id":4,"economy":{"entry_fee_rc":21,"rc_prize":37,"participant_cc":100}} +[05/04/2026 18:21:22] Rematch requested +[05/04/2026 18:21:28] Rematch was confirmed, closing in 5 secs. new room : +[05/04/2026 18:21:28] {"ok":true,"entry_fee":28,"rc_prize":50,"for_red":{"Players":[{"Name":"warlock","LastSeen":1777918888413,"l10_wins":5,"l10_losses":2,"UserId":4,"rc":0.0},{"Name":"warlock2","LastSeen":1777918888413,"l10_wins":2,"l10_losses":5,"UserId":5,"rc":0.0}],"GameName":"soccar","Port":26667,"InitTime":1777918888413,"instance_started":true,"match_id":257,"entry_fee":28,"rc_prize":50,"your_team":"red"},"for_blue":{"Players":[{"Name":"warlock","LastSeen":1777918888413,"l10_wins":5,"l10_losses":2,"UserId":4,"rc":0.0},{"Name":"warlock2","LastSeen":1777918888413,"l10_wins":2,"l10_losses":5,"UserId":5,"rc":0.0}],"GameName":"soccar","Port":26667,"InitTime":1777918888413,"instance_started":true,"match_id":257,"entry_fee":28,"rc_prize":50,"your_team":"blue"},"your_team":""} +[05/04/2026 18:21:28] Active player connections: 0 +[05/04/2026 18:21:33] Server will be closed due to no players in, 60 +[05/04/2026 18:21:43] Server will be closed due to no players in, 50 +[05/04/2026 18:21:53] Server will be closed due to no players in, 40 +[05/04/2026 18:22:03] Server will be closed due to no players in, 30 +[05/04/2026 18:22:13] Server will be closed due to no players in, 20 +[05/04/2026 18:22:23] Server will be closed due to no players in, 10 +[05/04/2026 18:22:33] All players left, exiting +[05/04/2026 18:22:34] Dedicated match PATCH success: 200 {"ok":true,"id":256} diff --git a/games/soccar/soccar_Data/Logs/257.txt b/games/soccar/soccar_Data/Logs/257.txt new file mode 100644 index 0000000..4116e4b --- /dev/null +++ b/games/soccar/soccar_Data/Logs/257.txt @@ -0,0 +1,40 @@ +[05/04/2026 18:21:30] Starting server at port 26667 +[05/04/2026 18:21:30] Failed to fetch red and blue names, isServer? +[05/04/2026 18:21:30] Starting auto close watchdog +[05/04/2026 18:21:30] Active player connections: 0 +[05/04/2026 18:21:33] Active player connections: 2 +[05/04/2026 18:21:33] Game started On Server +[05/04/2026 18:21:33] Client 15 set team to Blue +[05/04/2026 18:21:33] Client 16 set team to Red +[05/04/2026 18:21:33] Dedicated match PATCH success: 200 {"ok":true,"id":257} +[05/04/2026 18:21:33] Dedicated match PATCH success: 200 {"ok":true,"id":257} +[05/04/2026 18:21:37] force = 70 * 0.2513376 = 17.59363 +[05/04/2026 18:21:37] launching puck at (0.01, -0.93) with (-0.26, 16.42) force +[05/04/2026 18:21:42] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:21:42] launching puck at (-3.62, 3.45) with (252.04, -240.61) force +[05/04/2026 18:21:49] force = 70 * 0.7926332 = 55.48432 +[05/04/2026 18:21:49] launching puck at (-0.02, -3.11) with (0.91, 172.36) force +[05/04/2026 18:21:49] Red goal scored, red score is now 1 +[05/04/2026 18:21:55] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:21:55] launching puck at (-3.67, 3.39) with (256.03, -236.36) force +[05/04/2026 18:22:02] force = 70 * 0.8541347 = 59.78943 +[05/04/2026 18:22:02] launching puck at (-0.04, -3.58) with (2.15, 213.91) force +[05/04/2026 18:22:02] Red goal scored, red score is now 2 +[05/04/2026 18:22:09] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:22:09] launching puck at (3.93, -3.09) with (-273.84, 215.47) force +[05/04/2026 18:22:16] force = 70 * 0.9955804 = 69.69063 +[05/04/2026 18:22:16] launching puck at (-0.08, -5.00) with (5.57, 348.41) force +[05/04/2026 18:22:17] Red goal scored, red score is now 3 +[05/04/2026 18:22:17] Dedicated match PATCH success: 200 {"ok":true,"id":257} +[05/04/2026 18:22:18] Dedicated match winner PATCH success: 200 {"ok":true,"id":257,"winner_id":4,"economy":{"entry_fee_rc":28,"rc_prize":50,"participant_cc":100}} +[05/04/2026 18:22:31] Rematch requested +[05/04/2026 18:23:03] Active player connections: 1 +[05/04/2026 18:23:05] Active player connections: 0 +[05/04/2026 18:23:10] Server will be closed due to no players in, 60 +[05/04/2026 18:23:20] Server will be closed due to no players in, 50 +[05/04/2026 18:23:30] Server will be closed due to no players in, 40 +[05/04/2026 18:23:40] Server will be closed due to no players in, 30 +[05/04/2026 18:23:50] Server will be closed due to no players in, 20 +[05/04/2026 18:24:00] Server will be closed due to no players in, 10 +[05/04/2026 18:24:10] All players left, exiting +[05/04/2026 18:24:11] Dedicated match PATCH success: 200 {"ok":true,"id":257} diff --git a/games/soccar/soccar_Data/Logs/258.txt b/games/soccar/soccar_Data/Logs/258.txt new file mode 100644 index 0000000..76467fb --- /dev/null +++ b/games/soccar/soccar_Data/Logs/258.txt @@ -0,0 +1,60 @@ +[05/05/2026 19:05:27] Starting server at port 26455 +[05/05/2026 19:05:27] Failed to fetch red and blue names, isServer? +[05/05/2026 19:05:27] Starting auto close watchdog +[05/05/2026 19:05:27] Active player connections: 0 +[05/05/2026 19:05:32] Server will be closed due to no players in, 60 +[05/05/2026 19:05:32] Active player connections: 1 +[05/05/2026 19:05:33] Client 15 set team to Red +[05/05/2026 19:05:34] Dedicated match PATCH success: 200 {"ok":true,"id":258} +[05/05/2026 19:05:36] Active player connections: 2 +[05/05/2026 19:05:36] Game started On Server +[05/05/2026 19:05:36] Client 16 set team to Blue +[05/05/2026 19:05:36] Dedicated match PATCH success: 200 {"ok":true,"id":258} +[05/05/2026 19:06:11] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:06:11] launching puck at (4.90, -1.01) with (-341.20, 70.73) force +[05/05/2026 19:06:16] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:06:16] launching puck at (-3.49, 3.58) with (242.92, -249.82) force +[05/05/2026 19:06:22] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:06:22] launching puck at (-4.99, 0.32) with (347.75, -22.18) force +[05/05/2026 19:06:29] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:06:29] launching puck at (-3.29, 3.77) with (229.03, -262.62) force +[05/05/2026 19:06:35] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:06:35] launching puck at (-4.83, 1.28) with (336.89, -89.03) force +[05/05/2026 19:06:42] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:06:42] launching puck at (-2.47, 4.35) with (172.08, -303.00) force +[05/05/2026 19:06:52] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:06:52] launching puck at (-2.03, -4.57) with (141.20, 318.56) force +[05/05/2026 19:07:00] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:07:00] launching puck at (-2.21, 4.48) with (154.31, -312.42) force +[05/05/2026 19:07:08] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:07:08] launching puck at (-5.00, -0.09) with (348.40, 6.05) force +[05/05/2026 19:07:13] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:07:13] launching puck at (4.63, 1.88) with (-322.96, -130.82) force +[05/05/2026 19:07:19] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:07:19] launching puck at (2.66, 4.23) with (-185.26, -295.12) force +[05/05/2026 19:07:19] Blue goal scored, blue score is now 1 +[05/05/2026 19:07:25] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:07:25] launching puck at (2.67, -4.22) with (-186.36, 294.43) force +[05/05/2026 19:07:31] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:07:31] launching puck at (0.05, 5.00) with (-3.64, -348.43) force +[05/05/2026 19:07:31] Blue goal scored, blue score is now 2 +[05/05/2026 19:07:36] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:07:36] launching puck at (3.67, -3.40) with (-255.63, 236.80) force +[05/05/2026 19:07:41] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:07:41] launching puck at (-0.02, 5.00) with (1.20, -348.45) force +[05/05/2026 19:07:41] Blue goal scored, blue score is now 3 +[05/05/2026 19:07:42] Dedicated match PATCH success: 200 {"ok":true,"id":258} +[05/05/2026 19:07:43] Dedicated match winner PATCH success: 200 {"ok":true,"id":258,"winner_id":4,"economy":{"entry_fee_rc":21,"rc_prize":37,"participant_cc":100}} +[05/05/2026 19:07:57] Rematch requested +[05/05/2026 19:08:15] Rematch was confirmed, closing in 5 secs. new room : +[05/05/2026 19:08:15] {"ok":true,"entry_fee":27,"rc_prize":48,"for_red":{"Players":[{"Name":"warlock2","LastSeen":1778008095072,"l10_wins":1,"l10_losses":6,"UserId":5,"rc":0.0},{"Name":"warlock","LastSeen":1778008095072,"l10_wins":6,"l10_losses":1,"UserId":4,"rc":0.0}],"GameName":"soccar","Port":26968,"InitTime":1778008095072,"instance_started":true,"match_id":259,"entry_fee":27,"rc_prize":48,"your_team":"red"},"for_blue":{"Players":[{"Name":"warlock2","LastSeen":1778008095072,"l10_wins":1,"l10_losses":6,"UserId":5,"rc":0.0},{"Name":"warlock","LastSeen":1778008095072,"l10_wins":6,"l10_losses":1,"UserId":4,"rc":0.0}],"GameName":"soccar","Port":26968,"InitTime":1778008095072,"instance_started":true,"match_id":259,"entry_fee":27,"rc_prize":48,"your_team":"blue"},"your_team":""} +[05/05/2026 19:08:15] Active player connections: 1 +[05/05/2026 19:08:15] Active player connections: 0 +[05/05/2026 19:08:20] Server will be closed due to no players in, 60 +[05/05/2026 19:08:30] Server will be closed due to no players in, 50 +[05/05/2026 19:08:40] Server will be closed due to no players in, 40 +[05/05/2026 19:08:50] Server will be closed due to no players in, 30 +[05/05/2026 19:09:00] Server will be closed due to no players in, 20 +[05/05/2026 19:09:10] Server will be closed due to no players in, 10 +[05/05/2026 19:09:20] All players left, exiting +[05/05/2026 19:09:20] Dedicated match PATCH success: 200 {"ok":true,"id":258} diff --git a/games/soccar/soccar_Data/Logs/259.txt b/games/soccar/soccar_Data/Logs/259.txt new file mode 100644 index 0000000..6107d1c --- /dev/null +++ b/games/soccar/soccar_Data/Logs/259.txt @@ -0,0 +1,39 @@ +[05/05/2026 19:08:16] Starting server at port 26968 +[05/05/2026 19:08:16] Failed to fetch red and blue names, isServer? +[05/05/2026 19:08:16] Starting auto close watchdog +[05/05/2026 19:08:16] Active player connections: 0 +[05/05/2026 19:08:19] Active player connections: 1 +[05/05/2026 19:08:19] Active player connections: 2 +[05/05/2026 19:08:19] Game started On Server +[05/05/2026 19:08:19] Client 15 set team to Blue +[05/05/2026 19:08:20] Client 16 set team to Red +[05/05/2026 19:08:20] Dedicated match PATCH success: 200 {"ok":true,"id":259} +[05/05/2026 19:08:20] Dedicated match PATCH success: 200 {"ok":true,"id":259} +[05/05/2026 19:08:21] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:08:21] launching puck at (4.98, -0.45) with (-347.07, 31.04) force +[05/05/2026 19:08:26] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:08:26] launching puck at (-0.15, 5.00) with (10.17, -348.30) force +[05/05/2026 19:08:26] Blue goal scored, blue score is now 1 +[05/05/2026 19:08:32] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:08:32] launching puck at (4.06, -2.92) with (-282.73, 203.68) force +[05/05/2026 19:08:37] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:08:37] launching puck at (0.25, 4.99) with (-17.71, -348.00) force +[05/05/2026 19:08:37] Blue goal scored, blue score is now 2 +[05/05/2026 19:08:43] force = 70 * 0.7571987 = 53.00391 +[05/05/2026 19:08:43] launching puck at (1.88, -2.16) with (-99.89, 114.75) force +[05/05/2026 19:08:48] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:08:48] launching puck at (-0.01, 5.00) with (1.03, -348.45) force +[05/05/2026 19:08:48] Blue goal scored, blue score is now 3 +[05/05/2026 19:08:48] Dedicated match PATCH success: 200 {"ok":true,"id":259} +[05/05/2026 19:08:49] Dedicated match winner PATCH success: 200 {"ok":true,"id":259,"winner_id":4,"economy":{"entry_fee_rc":27,"rc_prize":48,"participant_cc":100}} +[05/05/2026 19:08:55] Rematch requested +[05/05/2026 19:09:32] Active player connections: 1 +[05/05/2026 19:09:49] Active player connections: 0 +[05/05/2026 19:09:54] Server will be closed due to no players in, 60 +[05/05/2026 19:10:04] Server will be closed due to no players in, 50 +[05/05/2026 19:10:14] Server will be closed due to no players in, 40 +[05/05/2026 19:10:24] Server will be closed due to no players in, 30 +[05/05/2026 19:10:34] Server will be closed due to no players in, 20 +[05/05/2026 19:10:44] Server will be closed due to no players in, 10 +[05/05/2026 19:10:54] All players left, exiting +[05/05/2026 19:10:54] Dedicated match PATCH success: 200 {"ok":true,"id":259} diff --git a/games/soccar/soccar_Data/Logs/260.txt b/games/soccar/soccar_Data/Logs/260.txt new file mode 100644 index 0000000..6b1c54f --- /dev/null +++ b/games/soccar/soccar_Data/Logs/260.txt @@ -0,0 +1,24 @@ +[05/05/2026 19:58:46] Starting server at port 26497 +[05/05/2026 19:58:46] Failed to fetch red and blue names, isServer? +[05/05/2026 19:58:46] Starting auto close watchdog +[05/05/2026 19:58:46] Active player connections: 0 +[05/05/2026 19:58:51] Server will be closed due to no players in, 60 +[05/05/2026 19:58:51] Active player connections: 1 +[05/05/2026 19:58:51] Client 15 set team to Blue +[05/05/2026 19:58:52] Dedicated match PATCH success: 200 {"ok":true,"id":260} +[05/05/2026 19:58:52] Active player connections: 2 +[05/05/2026 19:58:52] Game started On Server +[05/05/2026 19:58:53] Client 16 set team to Red +[05/05/2026 19:58:53] Dedicated match PATCH success: 200 {"ok":true,"id":260} +[05/05/2026 19:58:57] force = 70 * 0.9955804 = 69.69063 +[05/05/2026 19:58:57] launching puck at (4.86, -1.19) with (-338.42, 83.00) force +[05/05/2026 19:59:03] Active player connections: 1 +[05/05/2026 19:59:22] Active player connections: 0 +[05/05/2026 19:59:27] Server will be closed due to no players in, 60 +[05/05/2026 19:59:37] Server will be closed due to no players in, 50 +[05/05/2026 19:59:47] Server will be closed due to no players in, 40 +[05/05/2026 19:59:57] Server will be closed due to no players in, 30 +[05/05/2026 20:00:07] Server will be closed due to no players in, 20 +[05/05/2026 20:00:17] Server will be closed due to no players in, 10 +[05/05/2026 20:00:27] All players left, exiting +[05/05/2026 20:00:28] Dedicated match PATCH success: 200 {"ok":true,"id":260} diff --git a/games/soccar/soccar_Data/Logs/261.txt b/games/soccar/soccar_Data/Logs/261.txt new file mode 100644 index 0000000..ddb7914 --- /dev/null +++ b/games/soccar/soccar_Data/Logs/261.txt @@ -0,0 +1,17 @@ +[05/05/2026 20:00:37] Starting server at port 26248 +[05/05/2026 20:00:38] Failed to fetch red and blue names, isServer? +[05/05/2026 20:00:38] Starting auto close watchdog +[05/05/2026 20:00:38] Active player connections: 0 +[05/05/2026 20:00:43] Server will be closed due to no players in, 60 +[05/05/2026 20:00:43] Active player connections: 1 +[05/05/2026 20:00:43] Client 15 set team to Blue +[05/05/2026 20:00:43] Active player connections: 2 +[05/05/2026 20:00:43] Game started On Server +[05/05/2026 20:00:44] Dedicated match PATCH success: 200 {"ok":true,"id":261} +[05/05/2026 20:00:44] Client 16 set team to Red +[05/05/2026 20:00:44] Dedicated match PATCH success: 200 {"ok":true,"id":261} +[05/05/2026 20:00:55] Active player connections: 1 +[05/05/2026 20:00:57] Active player connections: 0 +[05/05/2026 20:01:02] Server will be closed due to no players in, 60 +[05/05/2026 20:01:12] Server will be closed due to no players in, 50 +[05/05/2026 20:01:22] Server will be closed due to no players in, 40 diff --git a/games/soccar/soccar_Data/Managed/Assembly-CSharp.dll b/games/soccar/soccar_Data/Managed/Assembly-CSharp.dll index 39e39603eb7f4a847f0bbb3d8d6cc689740ea552..3bea0859a99b6e0559e30251c39e36833c1c2101 100644 GIT binary patch literal 169472 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

v!ed=r z0gp+9vhVDdGM++8T28)*R5T~LD5a#$;(4Tr@i{H|{kaaOMF*xf@5ZO!E#G7EzV!4* xx3V;aGLM$>-@5&spAwq(H;aEG9g6?^f1kDn?iH|c5(M{Pc=h-H{{Pj${{XNcPw)T$ literal 159744 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≧M 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 W0ScF469Ov%3x|yp0=JD51GjbR7BFZ4 diff --git a/games/soccar/soccar_Data/globalgamemanagers.assets b/games/soccar/soccar_Data/globalgamemanagers.assets index e8eb1106005c16f569e6fc2d34cfe405513f5d16..cc7efd9067326a43bf0e87622d15978a5f9401de 100644 GIT binary patch delta 131 zcmV-}0DS+n$r-fC8Gy6_G%ye_+LIpsAo2kiw_x%Cl;IG1B6@W=pdOtu`ro1=_<1Oo;L`#WhZxiXw;0p| lP|y&i?7q36=+MFZm6RrHJ)q*3P^1JHhmfQMw~(X-B*10TJt6=A delta 131 zcmV-}0DS+n$r-fC8Gy6_G%ygvr|>Nz%9Ss3U-0`6KlAXHATR+Gw^%R%;K2}CNuMT3 ze>kunQz5Or;#HlOAo2kiw_x%Cl;IFT$P#e3fZT9AQa^PXORhLxM&sb86z3P^1JHhmfQMw~(X-B)}U~IduR4 diff --git a/games/soccar/soccar_Data/level0 b/games/soccar/soccar_Data/level0 index 1b6445c54d42b7beb10549062f53388f4b3bd782..8e725c5d59eb59936d38519d92f60965e8d36961 100644 GIT binary patch delta 131 zcmV-}0DS+Lv<{fG4zN`Q5HQ-49{%JbMo8AdS%TS`!INbMj1bH=gNbQVh4NTP7b2s0 z*ABA*2Qvl%JF_(npIiY@v(;%gAd_s13JGIn000310001kABu+`iUGGDiULh~0h+gM l1OwLy0YkS%4Fkt50dkiCI|IkJ)H?%U9|DI1w>Db?;ywqbE>!>k delta 147 zcmbQSg>S|dz73&l0!NmA&{aA$Rlhj?!*723&mShIvh@f=dd^q#thd-87p%B;@1xMU zn;F@S*%<9NoAS<&VRYGiHPc){n2Ujdp`@ZDC^bbv!%!2*VPI^Q?`oItV%#p@#pGMX x=(IhTh50(ibQg6df$br@%sX_aOIS1S;Q%QGf$bNpnN#GMrZQ|di)Mag2LO3sFGT1+E3~HZOSGzThz< N5HoFG@R(U50swQ26}tcc delta 67 zcmdn-U0}y|fejltrCfL!7?>Cs7`TBL1UAS)Xd8yjr#RitY!0{A#~<=lvo0 zcG7M$x`=1x_q|H`R(`$(@n%@~p{&M;vp)DQBE>!6jEO IO { + if (!supabaseConfigured(settings)) return MATCH_ENTRY_FEE_RC; + const supabase = createSupabase(settings); + const { data, error } = await supabase + .from('settings') + .select('value') + .eq('key', SETTINGS_KEY_ENTRY_FEE) + .maybeSingle(); + if (error || !data || typeof (data as { value?: unknown }).value !== 'string') { + return MATCH_ENTRY_FEE_RC; + } + const n = parseInt(String((data as { value: string }).value).trim(), 10); + if (!Number.isInteger(n) || n < 0) return MATCH_ENTRY_FEE_RC; + return n; +} + +/** Server fee percent of the prize pool (`entry_fee * 2`): `public.settings` row `key = bet_fee`, `value` integer 0–100. */ +export async function getBetFeePercentFromSettings(settings: Settings): Promise { + if (!supabaseConfigured(settings)) return DEFAULT_BET_FEE_PERCENT; + const supabase = createSupabase(settings); + const { data, error } = await supabase + .from('settings') + .select('value') + .eq('key', SETTINGS_KEY_BET_FEE) + .maybeSingle(); + if (error || !data || typeof (data as { value?: unknown }).value !== 'string') { + return DEFAULT_BET_FEE_PERCENT; + } + const n = parseInt(String((data as { value: string }).value).trim(), 10); + if (!Number.isInteger(n) || n < 0 || n > 100) return DEFAULT_BET_FEE_PERCENT; + return n; +} + +export type InsertMatchForNewRoomResult = { + matchId: number | null; + /** Same RC fee stored on `matches.entry_fee` and returned for in-memory rooms. */ + entry_fee: number; +}; + +/** + * `prize_pool = entry_fee * 2`, `server_fee = ceil(prize_pool * betFeePercent / 100)`, returns `prize_pool - server_fee`. + * `betFeePercent` comes from `public.settings` key `bet_fee` (default {@link DEFAULT_BET_FEE_PERCENT}). + */ +export function computeRcPrizeFromEntryFee(entryFee: number, betFeePercent: number = DEFAULT_BET_FEE_PERCENT): number { const prizePool = entryFee * 2; - const serverFee = Math.ceil(prizePool / 10); + const serverFee = Math.ceil((prizePool * betFeePercent) / 100); return prizePool - serverFee; } /** Added to each player's CC when a winner is recorded (default if `matches.prize_cc` is null). */ @@ -28,17 +77,23 @@ function coerceId(id: unknown): number | null { } /** Insert a match row when a new room is created. First player in the room = red (if provided). */ -export async function insertMatchForNewRoom(settings: Settings, userRedId?: number): Promise { - if (!supabaseConfigured(settings)) return null; +export async function insertMatchForNewRoom( + settings: Settings, + userRedId?: number +): Promise { + const entry_fee = await getDefaultMatchEntryFeeRc(settings); + if (!supabaseConfigured(settings)) { + return { matchId: null, entry_fee }; + } const supabase = createSupabase(settings); - const base = { entry_fee: MATCH_ENTRY_FEE_RC }; + const base = { entry_fee }; const payload = userRedId == null ? base : { ...base, user_red: userRedId }; const { data, error } = await supabase.from('matches').insert(payload).select('id').single(); if (error || !data) { console.error('matches: insert failed', error?.message); - return null; + return { matchId: null, entry_fee }; } - return coerceId(data.id); + return { matchId: coerceId(data.id), entry_fee }; } /** Dedicated server: rematch row with both players and custom `entry_fee` (RC). */ @@ -156,7 +211,7 @@ function coerceNonNegativeInt(v: unknown): number | null { } /** - * Each player pays `entry_fee` RC; winner receives `computeRcPrizeFromEntryFee(entry_fee)` RC; each gets `prizeCc` CC. + * Each player pays `entry_fee` RC; winner receives RC prize after `betFeePercent` server cut; each gets `prizeCc` CC. * Idempotent callers should set winner only once. */ async function applyMatchWinnerEconomy( @@ -165,12 +220,13 @@ async function applyMatchWinnerEconomy( userBlue: number | null, winnerId: number, entryFee: number, - prizeCc: number + prizeCc: number, + betFeePercent: number ): Promise { const ids = [...new Set([userRed, userBlue].filter((x): x is number => x != null && x >= 1))]; if (ids.length === 0) return null; - const rcPrize = computeRcPrizeFromEntryFee(entryFee); + const rcPrize = computeRcPrizeFromEntryFee(entryFee, betFeePercent); const { data: rows, error: selErr } = await supabase.from('users').select('id, rc, cc').in('id', ids); if (selErr) return selErr.message; @@ -439,6 +495,8 @@ export function registerMatchRoutes( return; } + const betFeePercent = await getBetFeePercentFromSettings(settings); + const { data: updated, error: updErr } = await supabase .from('matches') .update({ winner_id: winnerId }) @@ -461,7 +519,15 @@ export function registerMatchRoutes( return; } - const payErr = await applyMatchWinnerEconomy(supabase, userRed, userBlue, winnerId, entryFee, prizeCc); + const payErr = await applyMatchWinnerEconomy( + supabase, + userRed, + userBlue, + winnerId, + entryFee, + prizeCc, + betFeePercent + ); if (payErr != null) { console.error('matches: economy after winner failed', matchId, payErr); await supabase.from('matches').update({ winner_id: null }).eq('id', matchId).eq('winner_id', winnerId); @@ -469,7 +535,7 @@ export function registerMatchRoutes( return; } - const rcPrize = computeRcPrizeFromEntryFee(entryFee); + const rcPrize = computeRcPrizeFromEntryFee(entryFee, betFeePercent); res.json({ ok: true, id: matchId, diff --git a/schemas/table_settings.md b/schemas/table_settings.md new file mode 100644 index 0000000..51e2665 --- /dev/null +++ b/schemas/table_settings.md @@ -0,0 +1,5 @@ +create table public.settings ( + key character varying not null, + value character varying not null, + constraint settings_pkey primary key (key) +) TABLESPACE pg_default; \ No newline at end of file