daniel156161
c646392b84
fix: preserve gameplay data and correct duel evaluation
...
- Preserve snake customizations across database migrations and merges.
- Lazily load optional storage backends for SQLite maintenance scripts.
- Match Apex territory and nearest-food tie-breaking semantics.
- Resolve duel occupancy after simultaneous movement and food growth.
- Recompute simulated head-to-head danger after body growth.
- Add regression coverage and declare the aiofiles dependency.
2026-08-01 18:16:04 +02:00
daniel156161
4f022d3d01
feat(snake): optimize duels and persist customizations
...
Build and Push Docker Container / build-and-push (push) Successful in 7m29s
- Add deadline-aware iterative duel search with bitboards and tuple bodies.
- Reuse transposition bounds and move-order hints across search depths.
- Persist snake colors, heads, and tails in SQLite and PostgreSQL.
- Restore customization metadata when hydrating dashboard replays.
- Cover duel deadlines, cache reuse, schema storage, and replay output.
2026-08-01 17:19:35 +02:00
daniel156161
c704fbc742
feat: add Prism snake and gameplay database lifecycle
...
Build and Push Docker Container / build-and-push (push) Successful in 8m3s
- Add bitboard-accelerated Prism and versioned Supreme snake implementations.
- Add database-backed move benchmarks and focused strategy tests.
- Normalize gameplay storage while preserving replay compatibility.
- Add deterministic game quality scoring and replay retention tiers.
- Add backup-first SQLite cleanup, verification, and replacement tooling.
- Add safe compact-plus-delta database merging with conflict detection.
- Extend SQLite and PostgreSQL schemas for replay and quality metadata.
- Add PostgreSQL development service and pytest import configuration.
- Update gameplay documentation and the quart_common submodule revision.
2026-08-01 16:21:02 +02:00
daniel156161
ce3f9f1d82
rework that the sqlite and postgresql backend uses the same code to build the data for the dashboard
2026-08-01 11:58:49 +02:00
daniel156161
341bb27278
change that GameplayDatabase can have different backends, sqlite and postgresql with a Template example backend
2026-04-08 14:28:39 +02:00
daniel156161
a62501cf22
remove stroing of the Game Board State into Redis or Memory
2026-04-08 08:36:54 +02:00
daniel156161
f6e19e18e6
speed up loading and saving to redis that the move request are getting a answer when switching workers, strip data that neats to get recomuted every turn
Build and Push Docker Container / build-and-push (push) Successful in 4m49s
2026-04-07 12:13:11 +02:00
daniel156161
f479541c04
remove : space between function args
2026-04-07 12:02:50 +02:00
daniel156161
d2e1f2560e
change metrics endpoint to return json by default and when the useragent contains prometheus to return the output as prometheus string format
Build and Push Docker Container / build-and-push (push) Successful in 4m53s
2026-04-07 07:57:52 +02:00
daniel156161
f4c0ad193e
only allow access to start, move, end endpoint with the user agent BattlesnakeEngine
Build and Push Docker Container / build-and-push (push) Successful in 4m8s
2026-04-07 02:34:31 +02:00
daniel156161
898f8106ed
only allow metrics endpoint from localhost and wireguard and prometheus metrics neat to have the prometheus user agent as a extra
2026-04-07 02:34:19 +02:00
daniel156161
dfa658e4ce
only allow access to metrics from prometheus or local adresses and wireguard vpn connection
Build and Push Docker Container / build-and-push (push) Successful in 4m45s
2026-04-07 01:42:25 +02:00
daniel156161
abed259129
cleanup server extra variables that are only getting used into server.py
2026-04-07 00:23:23 +02:00
daniel156161
8c4f83fb4b
move css styleing into own files and allow to open the game with a url on the battlesnake side
2026-04-06 23:47:31 +02:00
daniel156161
1b8fa67059
use snake class name and version from GameBoard and remove snake type and version from GameplayTrackingService init
2026-04-06 23:24:37 +02:00
daniel156161
59d01428a9
move side templates and static files into root folder structure to not have it in the code folder
Build and Push Docker Container / build-and-push (push) Failing after 14m3s
2026-04-06 19:35:53 +02:00
daniel156161
3da10189b7
move snake config read functions into battlesnake template and use TemplateSnake as default Version of Snakes
Build and Push Docker Container / build-and-push (push) Failing after 13m9s
2026-04-06 19:24:45 +02:00
daniel156161
5c1875be60
move imports that longst is ontop
2026-04-06 19:02:04 +02:00
daniel156161
7c990f98fc
disable GameplayDatabase compression by default
Build and Push Docker Container / build-and-push (push) Successful in 4m19s
2026-04-06 18:30:11 +02:00
daniel156161
dd3547678c
add 2.5x speed selector
Build and Push Docker Container / build-and-push (push) Successful in 5m52s
2026-04-06 17:59:32 +02:00
daniel156161
0af5f58688
fix loading of storage and not crash the request
2026-04-06 17:59:10 +02:00
daniel156161
ed41c32ad8
don't crash server when sqlite-zstd extension can't be loaded
Build and Push Docker Container / build-and-push (push) Successful in 3m58s
2026-04-06 17:22:27 +02:00
daniel156161
1a1bcd8ec3
move ensure auto vacuum full when init database or change to full when already exists
2026-04-06 16:35:05 +02:00
daniel156161
fe999c11f4
add compression to GameplayDatabase and test if compression works with the sqlite_zstd extension
2026-04-06 16:34:15 +02:00
daniel156161
01343472df
move all Databases into the database folder to not have storeage and Database when they are all Databases
2026-04-06 16:24:28 +02:00
daniel156161
c4238d19e8
remove lines between snakes body parts
Build and Push Docker Container / build-and-push (push) Successful in 1m9s
2026-04-06 06:05:20 +02:00
daniel156161
afaf6c7c63
add curves to body when snake moves and show boarder color correctly in the background
2026-04-06 06:04:05 +02:00
daniel156161
1cd0f1ed1d
fix svg loading to remove garbage icons
2026-04-06 05:46:32 +02:00
daniel156161
8f6a2ef674
add Backend Env to use as default for all then spesicich down to memory
2026-04-06 05:28:10 +02:00
daniel156161
5328252cf1
move snake builder into game_runtime.py to not pass it around very where
2026-04-06 05:27:37 +02:00
daniel156161
41f117e3a8
render Observed At time into user local time and move Snake Status and Thinking Boxes around to look more better
Build and Push Docker Container / build-and-push (push) Successful in 1m12s
2026-04-06 04:44:34 +02:00
daniel156161
43c7720480
fix circular import errors so the server and start again
2026-04-06 04:30:02 +02:00
daniel156161
98be2fe6fe
move Server code into more services and use them into blueprints or server
2026-04-06 04:20:07 +02:00
daniel156161
30eb17bb83
reuse the code from quart_common.web.env to import env_bool and env_int into all classes that are useing this functions
2026-04-06 03:33:22 +02:00
daniel156161
d89986dba9
move route code out of server into own blueprints and cleanup the codebase
2026-04-06 03:10:49 +02:00
daniel156161
0ebb04f0a2
change websocket and game publish to redis backend with pub sub
Build and Push Docker Container / build-and-push (push) Successful in 1m59s
2026-04-06 02:05:56 +02:00
daniel156161
097a7f295a
update dashboards over websocket and remove database path from GameplayDatabase output
Build and Push Docker Container / build-and-push (push) Failing after 13m18s
2026-04-06 01:49:26 +02:00
daniel156161
4626a491f5
update Dashboard with new keyboard bindings fix errors with hazards, set win or loss on stale games (older) and push new games real time over the websocket connection when they are finished
Build and Push Docker Container / build-and-push (push) Failing after 12m39s
2026-04-06 00:36:06 +02:00
daniel156161
e7d0227cf9
show snake body correctly under hazards
Build and Push Docker Container / build-and-push (push) Successful in 1m34s
2026-04-05 23:08:17 +02:00
daniel156161
b7c6a0e345
fix svg color problem show dead resions when very sure and allow to highlight snakes when clicking into them store timout and calcumate Snake Win Rate Overall, fix to use full page of games-body, get win lloss or unknown
2026-04-05 23:01:27 +02:00
daniel156161
050dd1083c
add snake customizations to dashboard to show head and tail correctly
Build and Push Docker Container / build-and-push (push) Successful in 3m59s
2026-04-05 19:58:20 +02:00
daniel156161
2d603a3b0b
add better dashboard with full snake game board
2026-04-05 19:57:43 +02:00
daniel156161
4151810f1b
add GameplayDatabase database with dashboard
2026-04-05 16:48:12 +02:00
daniel156161
2601c2dcff
fix ladder error because api changed values
2026-04-05 15:20:25 +02:00
daniel156161
332e86e3cc
rework dataset function and class structure
2026-04-05 02:21:15 +02:00
daniel156161
066a93f755
move RLBootstrapDataset into a own class with its own test file
2026-04-05 00:54:15 +02:00
daniel156161
eb290dd634
rework folder structure complitly
2026-04-04 23:01:34 +02:00
daniel156161
2b8f0396e3
rename Test file and add init file for metric backend to import all at once
2026-04-04 22:26:19 +02:00
daniel156161
043d7654f9
rename Metric Classes and change Folder Structure
2026-04-04 22:14:14 +02:00
daniel156161
a38a600bdc
rename ServerMetricsCollector to MetricsCollector
2026-04-04 21:29:40 +02:00