Scott Anderson
70745faac4
Enable strictNullChecks, eqeqeq ( #436 )
...
## Description:
Improve type safety and runtime correctness by:
1. Enabling TypeScript's
[strictNullChecks](https://www.typescriptlang.org/tsconfig/#strictNullChecks )
compiler option.
2. Replacing all loose equality operators (`==` and `!=`) with strict
equality operators (`===` and `!==`).
3. Cleaning up of type declarations, null handling logic, and equality
expressions throughout the project.
Currently, the code allows implicit assumptions that `null` and
`undefined` are interchangeable, and relies on type-coercing equality
checks that can introduce subtle bugs. These practices make it difficult
to reason about when values may be absent and hinder the effectiveness
of static analysis.
Migrating to strict null checks and enforcing strict equality
comparisons will clarify intent, reduce bugs, and make the codebase
safer and easier to maintain.
Fixes #466
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors
---------
Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com >
Co-authored-by: evanpelle <openfrontio@gmail.com >
2025-05-15 16:39:40 -07:00
Aotumuri
cddcc681dd
Added custom disable settings ( #593 )
...
## Description:
I will write an issue later as I don't have time.

<img width="735" alt="スクリーンショット 2025-04-23 22 04 40"
src="https://github.com/user-attachments/assets/24bb3461-8e05-418c-8dbf-2ba1a624fe27 "
/>
<img width="790" alt="スクリーンショット 2025-04-23 22 04 47"
src="https://github.com/user-attachments/assets/33387200-d0af-4394-9d60-af1f88a036e9 "
/>
## Please complete the following:
- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors
## Please put your Discord username so you can be contacted if a bug or
regression is found:
aotumuri
2025-05-07 06:14:54 -07:00
Evan
950344c0bd
created prestart message: add 2 second delay before starting public games to allow all players to connect
2025-04-03 15:42:25 -07:00
Evan
8b6895d745
add prettier import plugin
2025-03-31 13:09:27 -07:00
evanpelle
d8fe41de7a
teams ( #349 )
2025-03-27 20:43:56 -07:00
Readixyee
e02361c2f4
Disable nukes option ( #237 )
...
This makes it possible to disable all nukes as well as missile silos
from the game in privat lobbies and singleplayer games
2025-03-21 13:52:36 -07:00
evanpelle
6499569240
add winston logger ( #289 )
2025-03-18 14:36:30 -07:00
evanpelle
70e348c94b
Export prometheus metrics ( #286 )
2025-03-18 09:00:05 -07:00
Evan
364387578b
fix lobby duration at 60s now that we limit lobby size. remove "high traffic time"
2025-03-15 17:22:15 -07:00
Evan
a56ea5f786
don't check if public when starting game
2025-03-07 07:24:18 -08:00
Evan
bad74a0488
schedule game duration based on time of day
2025-03-02 09:39:54 -08:00
Evan
a9caee6323
make GameManager more efficient
2025-03-02 09:39:36 -08:00
Evan
a029b4277f
use node cluster to shard server
2025-03-02 09:39:09 -08:00
NewHappyRabbit
02d5060352
Customizable creative mode
2025-02-24 23:06:50 +02:00
NewHappyRabbit
abb06d5bb9
Added frequency settings for the map playlist
2025-02-24 16:56:04 +02:00
Evan
34fff98c99
make europe and world more frequent
2025-02-23 20:46:31 -08:00
Evan
0994fb19bb
rate limit start & create private lobby, change max game duration to 3 hours
2025-02-23 19:42:25 -08:00
Evan
528c8c371e
only allow 1 ip per game, don't allow modifying public games
2025-02-23 19:42:15 -08:00
NewHappyRabbit
1dfc0aef39
Added Mars. Excluded from public lobby playlist. Changed Africa image background to transparent.
2025-02-20 20:42:17 +02:00
Evan
5f26cf72c8
Make world & europe maps more likely for public multiplayer
2025-02-18 20:36:00 -08:00
evanpelle
4f3ad5c1ac
Merge pull request #39 from NewHappyRabbit/map-randomizer
...
Public lobbies map will now be picked from a randomized playlist, assuring each map is played at least once, without duplicates.
2025-02-18 11:30:10 -08:00
Evan
6a66d0c52d
load archived game if not found
2025-02-17 19:30:30 -08:00
NewHappyRabbit
2249f5207e
Public lobbies map will now be picked from a randomized playlist, assuring each map is played at least once, without duplicates.
2025-02-17 21:32:36 +02:00
Evan
40966ca3b9
format all files with prettier
2025-02-12 08:28:15 -08:00
NewHappyRabbit
7fcbaa8584
Added creative mode. Everything costs 0 gold, builds instantly and you start with 100k population
2025-02-12 00:15:30 +02:00
NewHappyRabbit
684b0bb2e0
Added checkboxes to disable Bots and NPCs for single player and private lobbies
2025-02-11 03:29:56 +02:00
Evan
6ff4e10a7e
public games have random map
2025-02-09 12:29:13 -08:00
Evan
4ee37323f9
format codebase with prettier
2025-02-01 12:05:11 -08:00
evanpelle
0d764eb885
update gamemap, rename gamemap enum => gamemaptype
2025-02-01 12:05:11 -08:00
evanpelle
57cbf5c55e
Refactor: Split config into Config and ServerConfig
2024-12-25 14:04:19 -08:00
evanpelle
44d6962b88
have private lobby show players
2024-12-24 11:47:11 -08:00
Evan
2fc81c7d17
store client ips in bigquery table
2024-12-14 10:03:05 -08:00
Evan
7669105a1b
record games in gcs
2024-12-07 18:30:04 -08:00
Evan
cd09c0a1d6
record game metadata to gcs
2024-12-07 08:54:09 -08:00
Evan
731536931e
have game server store game
2024-12-04 18:53:36 -08:00
Evan
56d4b924fa
add difficulties
2024-10-23 21:08:24 -07:00
evanpelle
206f6d3333
Can select map on private lobbies
2024-10-16 20:34:57 -07:00
evanpelle
3885b39442
now get message if join sucessful
2024-10-15 17:51:46 -07:00
evanpelle
42a6a2fcef
can creater & join lobby
2024-10-14 20:45:31 -07:00
evanpelle
117027779f
single player start
2024-10-12 13:50:11 -07:00
evanpelle
bf7273ad5a
rebalancing
2024-09-07 13:35:07 -07:00
evanpelle
4161b4d71c
better random, improved map
2024-09-05 19:19:52 -07:00
evanpelle
0ea670d975
better game join logic, create dev and prod configs
2024-08-17 12:42:18 -07:00
evanpelle
0806ab17c5
unregister interval prevent mem leak; don't reconnect on successfully websocket close
2024-08-16 12:31:05 -07:00
evanpelle
332c2cfcac
websocket reconnect on failure
2024-08-16 11:06:01 -07:00
evanpelle
f17d1d9816
delete games older than 1 hour
2024-08-14 19:51:36 -07:00
evanpelle
001722bd59
added deployment
2024-08-13 20:07:20 -07:00
evanpelle
a4799a3c21
moved attack config to separate config class
2024-08-12 16:31:32 -07:00
evanpelle
1070a5171a
render player names efficiently
2024-08-11 13:47:10 -07:00
evanpelle
f7b0441f41
working
2024-08-10 14:06:08 -07:00