27 Commits

Author SHA1 Message Date
Hipposgrumm
e7013b03fd Mute and ban implementation (and commands for each). 2025-06-06 17:27:39 -06:00
Hipposgrumm
158ac4ee21
Support for Math Blaster Ambassador Funzones (#5)
Added ambassador support (for Math Blaster).
Tons of config options too.

* Moved ambassador room controlling to seperate class.
* More changes to appease the Pull Request.
2024-12-30 10:54:53 +01:00
Robert Paciorek
7321b95821 room alerts configuration via appsettings.json
thanks to HaiFire for alert config for SS
2024-08-12 15:39:40 +00:00
Hipposgrumm
883214cb57 Disabled Joining Ongoing Alerts (#4)
Ongoing alerts will no longer be sent when a player joins that room.
Code for the functionality remains in case there is want to re-enable it (assuming it gets fixed).
2024-08-12 10:19:46 +00:00
Hipposgrumm
65eeb7dd53 Added support for Red Alert and Disco Alert (#3)
Revamped entire room Alerts system.
Merged RoomWithAlert into Room (as part of the revamp).

This added support for Red Alert and Disco Alert.
This meant that I had to revamp the room alerts system to allow for multiple alerts per room.
Events hopefully shouldn't overlap each other in the same room.
An extra feature is that an alert will start for a player that has just entered the room (with a duration reduced based on when the alert initially started). I shoved this functionality's working into SetUserVariablesHandler on line 30. This feature doesn't seem to work when leaving a non-MMO rooms such as minigames (may be related to missed JL command).
2024-08-12 10:19:46 +00:00
Spirtix
87a199fc19 ManagementCommands: list and disable all chats 2024-04-08 21:40:38 +02:00
Spirtix
4cf58fd1db fix room send concurrency 2024-04-07 16:41:55 +02:00
Spirtix
c60fe8a2fa Revert "use ReaderWriterLockSlim for lock Room.clients"
This reverts commit a4039451f30ef2c1bb90b7ca47b42ba4a3076de6.
2024-04-07 16:40:34 +02:00
Spirtix
90457b6c78 chat commands 2024-04-07 15:42:36 +02:00
Robert Paciorek
146b366e44 fix Public Message, add option to disable Events
- Position info and Boxes on races works (thanks to Public Message fix)
2024-04-07 15:42:25 +02:00
Robert Paciorek
a4039451f3 use ReaderWriterLockSlim for lock Room.clients 2024-04-07 15:42:25 +02:00
Robert Paciorek
04b906b21c add "JO" handler, fix "NT" value, support for WoJS
- add "JO" handler (private room join, like farm)
- "NT" param should be Unix timestamp in milliseconds
- "MBF" is not used by some games (e.g. WoJS)
2024-04-07 15:42:25 +02:00
Robert Paciorek
82e83722da fix client stay in room and add Room.Send
- fix client stay in room:
  - replace Client.JoinRoom and Client.LeaveRoom by Client.SetRoom
  - do not call Client.LeaveRoom / Client.SetRoom(null) for SheduleDisconnect cases
    (only quietly remove client from room and the rest do in disconnect realisation)
- add Room.Send for send message to all clients in room
  - replace Room.Client sending loops by calls Room.Send
2024-03-24 21:29:57 +00:00
Robert Paciorek
6a34677ab2 keep some PlayerData while changing room
this is needed when several players are joined in a short time to fix race condition
(to fix missing players in race lobby room)
2024-03-09 17:05:56 +00:00
Robert Paciorek
cf41c0175a fix race condition issues - WorldEvent and others 2024-03-06 12:18:44 +00:00
Robert Paciorek
c909d07462 code quality fixes 2024-03-02 11:29:40 +00:00
Robert Paciorek
c35226cc4e fix lobby players list and racing room management 2024-03-01 23:27:17 +00:00
Robert Paciorek
bfbd9adb82 RespondJoinRoom in AddClient as atomic operation
to avoid missed player in rooms due to joining race condition
2024-03-01 02:34:43 +00:00
Robert Paciorek
69a6761423 use PlayerData.GetNetworkData in SUV handler 2024-02-29 22:22:35 +00:00
Robert Paciorek
9b896f6326 add Client.JoinRoom() 2024-02-28 12:09:53 +00:00
Robert Paciorek
e7e2c21be6 Room improvements
- add comments for roomInfo array fiels
- allow external control for RoomVariables array
2024-02-28 02:22:18 +00:00
Robert Paciorek
5a8d666a7b support for Gauntlet (Fireball Frenzy)
also move SubscribeRoom and RespondJoinRoom from JoinRoomHandler to Room class
2024-02-27 06:25:00 +00:00
Robert Paciorek
b58f01d101 rework pre-battle timer (notificartion) 2024-01-26 19:56:36 +01:00
Robert Paciorek
7cc20ae3bb support for "WorldEvents" (ship battle) 2024-01-26 19:56:36 +01:00
Spirtix
d162ce80aa packet buffering and fixes 2023-09-09 16:12:53 +02:00
Spirtix
3b93594c8b GenericMessage handler and various fixes 2023-09-05 19:02:38 +02:00
Spirtix
af5007e3b7 initial code release 2023-09-02 22:52:48 +02:00