Commit Graph

1376 Commits

Author SHA1 Message Date
Evan effe725a04 update build script to use regions instead of prod/alt, just single build for docker, remove bun start up 2025-03-18 09:02:25 -07:00
Evan 8ac9a61331 run npm install update deps 2025-03-18 09:02:07 -07:00
Evan 255f6377c7 Revert "initial bun setup"
This reverts commit 5236f7a212.

bun was causing code 1006 websocket errors
2025-03-18 09:01:45 -07:00
Evan 417cc0f2ea remove bun build from deployment 2025-03-17 11:05:14 -07:00
Evan 48b19413c8 update gatekeepr 2025-03-16 13:25:09 -07:00
Evan 09403ae13a update gatekeeper 2025-03-16 13:24:16 -07:00
Evan de0241973e update gatekeeper 2025-03-16 13:18:01 -07:00
Evan 48db92c922 update subproject 2025-03-16 13:14:38 -07:00
Evan 9b0b4bea58 update version 19.2 2025-03-16 08:36:31 -07:00
Evan 0f52cbeaf1 fix lobby duration at 60s now that we limit lobby size. remove "high traffic time" 2025-03-16 08:36:00 -07:00
Evan e929cc42b0 add Britannia, reduce world & europe frequency 2025-03-15 18:25:16 -07:00
Evan 625388c480 update version 0.19.1 2025-03-15 18:25:10 -07:00
Ilan Schemoul 66a19abc97 nerf SAM (#258)
More costly (start at 1.5M), increase cost cap (4.5M), biggest timeout
(5s->10s), much lower chance to stop hydrogen (70%->10%), triple
construction time (10s->30s) otherwise it's trivial to build a SAM right
before a nuke hits
2025-03-15 18:25:02 -07:00
evanpelle 281cbbeb89 Remove path cache (#257) 2025-03-15 13:49:24 -07:00
evanpelle 4abc5e2406 pad turns at the end on replay (#256) 2025-03-15 13:49:16 -07:00
Ilan Schemoul 0a86e5af46 tweak numbers of attack (#253)
Slightly decrease flat land advantage (in certain cases it feels almost
instataneous otherwise)
To calculate speed bonus use 4*attackTroops instead of 5 (people keep
complaining than small numbers of troops take crazy amount of lands
veryn quick)
Slightly increase minimum multiplier for attacker loss, to make
snowballing a little bit slower.
I only slightly modified numbers because the meta is fun it's just too
quick on certain cases.
2025-03-14 16:03:31 -07:00
Evan 717349d073 store game hashes on singleplayer 2025-03-14 15:48:54 -07:00
Ilan Schemoul 854ae02d16 fix: lobby were twice as long because of dynamic timer (#252)
We previously had a system where lobbyLifetime = gameCreationRate * 2
It was to always have one lobby ready.
With dynamic timer (start if enough player or timer's over) we cannot
rely on this system (which used setInterval) so we have one lobby and
check every 100ms if we need to create another lobby.
Might add 100ms+time of creating a lobby ms latency. Which is fine I
guess.
2025-03-14 14:30:26 -07:00
evanpelle 8082efaeec archive full game on crash (#251) 2025-03-14 14:14:13 -07:00
Ilan Schemoul da50aa28d2 feat: more trade when there are few ports worldwide (#242) 2025-03-14 09:45:40 -07:00
Ilan Schemoul c4f612eb98 easier to take nuclear land if most of the land are nuclear (#241)
- **Revert "Change BorderTiles from Array to Set (#230)"**
- **easier to take nuclear land if most of the land are nuclear**
2025-03-13 17:05:22 -07:00
Ilan Schemoul b9dad022fc fix timer (#239)
- **improve and fix dynamic lobby**
- **Revert "Change BorderTiles from Array to Set (#230)"**

I'm obviously forced to include the revert patch otherwise I can't
compile. but you should first merge PR dedicated to revert before tthis
2025-03-13 17:03:38 -07:00
Ilan Schemoul 70c3c43a5f feat: handle embargo fake human (#240) 2025-03-13 14:53:27 -07:00
Ilan Schemoul 7ec3f0c81f Revert "Change BorderTiles from Array to Set (#230)" (#238)
This reverts commit 8124651382 which
breaks compilation, has wrong indentation and uses flatMap without
Array.from which is also wrong.
2025-03-13 14:51:35 -07:00
Ilan Schemoul cb3f36a74f fix: update dst port when ship captured (#217) 2025-03-13 06:31:41 -07:00
ByGoalZ 8124651382 Change BorderTiles from Array to Set (#230)
Changed border constant from Array to Set, to avoid potential
duplicates.
2025-03-13 06:05:10 -07:00
Ilan Schemoul a1d0c87232 remove Game starts when ... in lobby (#233) 2025-03-13 06:02:45 -07:00
APuddle210 67af4b06ab TerrainMapGenerator General Cleanup (#234)
> There were 4 separate implementations of getting neighboring
coordinates for a given x,y pair, 3 completely unique implementations.
These were found in neighbors(), processOcean(), processDistToLand(),
and getArea(), with processOcean() and processDistToLand() having
essentially identical implementations. Created new function
getNeighborCoords() with implementation closely resembling that found in
neighbors().

Revised aforementioned functions to utilize the new getNeighborCoords()
instead, with revised implementations being much more consistent across
the impacted functions.

> Revised getArea() to correctly assess the area, was previously likely
to overestimate the area as it included all coordinates it check
regardless of their terrainType. getArea() now also explicitely
implements the Coord[] interface, allowing for standardized
implementation syntax in all functions which call getArea().

Also removed the parameter targetType as all calls to getArea()
targetted the same TerrainType as was present at the passed x, y
position. getArea() will now assess targetType based on the passed x, y
values.

Reordered the parameters of getArea() so that it conformed with the
ordering used elsewhere in the script (x, y, map, visited). Updated all
calling locations accordingly.

> Revised processOcean() to make use of getArea() instead of using its
own reimplementation of area checking. This coupled with the use of the
new getNeighborCoords() significantly reduced the size of processOcean
and improved comprehensibility.

Also removed unnecessary check of waterBody.size that would always
return TRUE in that context.

> Removed checks against and setting of Terrain.ocean values in the
removeSmallIslands() and removeSmallLakes() functions as these functions
are called prior to processOcean() making the checking
redundant/unncessary, and the setting potentially problematic.

Revised Terrain class to default ocean to false, to address compiler
warning, and since processOcean() handles setting this property to true
explicitly.

Reduced total lines from 417 to 372.
2025-03-13 06:02:30 -07:00
Evan ad90f636b3 better check for profane username 2025-03-12 20:10:37 -07:00
Ilan Schemoul 07ad7912bc feat: timer starts if enough player or enough time (#229)
Avoid these huge lobbies
2025-03-12 14:18:34 -07:00
Ilan Schemoul cef8a61d9c fix: crash when spectating (#232)
Nuke icon patch added a crash when spectating game (myPlayer is NULL)
2025-03-12 14:17:11 -07:00
evanpelle 439f5af2bd PathFinder: return path not found when src or dst is null (#228) 2025-03-12 12:59:36 -07:00
evanpelle 8b5d402d96 fix nginx.conf (#226) 2025-03-12 12:29:08 -07:00
evanpelle ea628570b2 have nginx cache index for 1s. (#224)
This is required for A B deployments, the browser wasn't updating due to
conditional caches
2025-03-12 11:03:28 -07:00
evanpelle 920dafc425 update deployment: add alt deployment (#223) 2025-03-12 10:40:51 -07:00
evanpelle b1035a8e77 update to hetzner deployment (#220) 2025-03-12 09:17:27 -07:00
Ilan Schemoul 3ce5785d1e nuke icon (#207)
- **feat: white nuke icon next to name if player nukes you**
![Capture d'écran 2025-03-10
220439](https://github.com/user-attachments/assets/1b717b2d-bffb-45fc-96ea-2feb57d25de0)
- **feat: red nuke icon if player sends nuke towards you**
- 
![Capture d'écran 2025-03-10
220358](https://github.com/user-attachments/assets/b755fa06-9510-4bd1-8312-7180dc681d85)
2025-03-11 15:44:45 -07:00
Ilan Schemoul 5cf75c71a7 feat: closable modal when desynced (#214)
![Capture d'écran 2025-03-11
215857](https://github.com/user-attachments/assets/9aec98d9-dd3c-4a00-a257-aa0acb67633c)
2025-03-11 14:34:55 -07:00
Ilan Schemoul c4b8d6b92e cancel trade if port is captured (no trade inside same country) (#194)
If the port of destination and of source have same owner it means a
player captures port of another player, we cease all trade that happens
inside same country.
Also added a check in the canTrade code to be more reliable and correct
even outside of the specific case of capturing a port.
2025-03-11 12:33:45 -07:00
evanpelle 4c372b3877 fix build error importing image from extra, rename Extra=>extra (#212) 2025-03-11 08:33:58 -07:00
Evan 0597622a4a don't show ads on winlose menu 2025-03-10 19:46:51 -07:00
Ilan Schemoul 87d1a8d69d feat: retreat stops attack + show when ennemy retreats (#209) 2025-03-10 17:25:21 -07:00
Ilan Schemoul 04833caf4d fix: crash because wrong path (#210) 2025-03-10 17:24:56 -07:00
Ilan Schemoul 837d59d929 fix: translation broke numbers (#211) 2025-03-10 17:24:36 -07:00
evanpelle 9b71c8e78f use ticks instead of Date when retreating for determinism (#208) 2025-03-10 14:38:41 -07:00
Ilan Schemoul 4375797d92 feat: show a message when attack is canceled (with number of deaths) (#193) 2025-03-10 13:30:07 -07:00
PilkeySEK 9389005e39 Possibly fix the NaN bug (#200)
There's a bug that when using translators in your browser it shows
troops/gold/... as `NaN`, I couldn't get a translator to work to
confirm, but this should work
2025-03-10 13:29:36 -07:00
evanpelle 5aae1468c2 fix player glow during spawn phase (#206) 2025-03-10 13:27:45 -07:00
evanpelle 5dc00bc3ab use git commit hash verification when replaying archived games (#204) 2025-03-10 12:40:36 -07:00
evanpelle 6a24bce213 fix decompress game record function, start at -1 (#203) 2025-03-10 07:21:24 -07:00