16 Commits

Author SHA1 Message Date
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
Robert Paciorek
0f161d899c fixes for SuperSecret
- added logout handler
- support for api 0.x (MID as string)
- support for using SUV insted of SPV
- use zoneName from login request when no roomName in join room request
2024-04-22 02:48:37 +00:00
Robert Paciorek
8ca7b51161 rework PlayerData, SUV and SPV handlers 2024-04-07 15:42:25 +02:00
Robert Paciorek
d0c1839b11 use async handlers, add delay in PingHandler
client do NOT like ping < 16ms (considers it to be zero and this disables updates to other players' positions) ... so add some delay in PNG handler
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
Spirtix
a03f6b8dc0 user authentication 2024-04-07 15:42:21 +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
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
5c6f39c800 add AddWithType, Param, VlElement to NetworkArray
also:
* replace StringParam, IntParam and DoubleParam by generic Param<T>() method
* use VlElement<T>() to build vl packets for World Event
2024-02-28 00:58:47 +00:00
Robert Paciorek
3f49b895b9 change baby dragon exploit approach
- fix invalid FP insted of disconnect
2024-01-26 20:04:14 +01:00
Spirtix
912a022476 patch baby dragon exploit 2023-09-11 18:52:15 +02: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