56 Commits

Author SHA1 Message Date
Spirtix
87a199fc19 ManagementCommands: list and disable all chats 2024-04-08 21:40:38 +02:00
Robert Paciorek
80b8874d50 fix SPV CUP sending condition 2024-04-07 17:05:13 +00:00
Spirtix
ac2b8d72ff fix management command condition 2024-04-07 17:12:09 +02:00
Spirtix
b3724d9882 correct SPV CUP type 2024-04-07 16:50:37 +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
Spirtix
854d1c0b0a management commands 2024-04-07 15:42:28 +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
8ca7b51161 rework PlayerData, SUV and SPV handlers 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
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
08b74957a8 use MMOServer in appsettings.json for config
and improved run.sh
2024-03-28 10:40:54 +00: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
fa0870784a add run.sh/bat, simplify/update docker config, ...
- add run.sh and run.bat
- change docker config
  - by default include source in docker image for simple debug (can be disabled via uncoment section in Dockerfile)
  - add docker-compose.yml
- change default time to start first battle event after server start (login first player) to 3 minutes
2024-03-19 20:45:56 +00:00
Robert Paciorek
445d032a74 bugfix in JoinRoom 2024-03-16 20:11:33 +00:00
Robert Paciorek
83e56f745d fix possible race condition in JoinRoom 2024-03-09 19:05:03 +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
13248e70c3 add main lobby countdown 2024-03-07 01:29: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
f1865bd4a3 bugfix 2024-03-02 00:04:22 +00:00
Robert Paciorek
c35226cc4e fix lobby players list and racing room management 2024-03-01 23:27:17 +00:00
Robert Paciorek
aa373cd2a9 support for Thunder Run Racing 2024-03-01 02:42:13 +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
fb2596d3be add config options: ListenIP, AllowChaos, ...
and FirstEventTimer
2024-03-01 02:10:28 +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
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
18ff27f8e7 calculate next event time based on the start time
... of current event (not the end time of current event)
2024-02-27 06:27:09 +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
7a8565c3b2 add sample config file (with default values) 2024-02-18 00:26:59 +00:00
Spirtix
7c504bb80a support for server configuration 2024-02-17 21:45:01 +01:00
Robert Paciorek
31420034ff fix chat announcement before event 2024-01-31 17:48:56 +01:00
Robert Paciorek
245fd2237a bugfix userdata == "1" also mean "mounted" 2024-01-26 20:04:14 +01:00
Robert Paciorek
3f49b895b9 change baby dragon exploit approach
- fix invalid FP insted of disconnect
2024-01-26 20:04:14 +01:00
Robert Paciorek
89191a53ff add check for mount state in FP data 2024-01-26 20:04:14 +01:00
Robert Paciorek
da480497af adjust event start time 2024-01-26 19:56:36 +01:00
Robert Paciorek
9978303231 add support for end event from timer 2024-01-26 19:56:36 +01:00
Robert Paciorek
21045494f6 fix event end behaviour 2024-01-26 19:56:36 +01:00
Robert Paciorek
b58f01d101 rework pre-battle timer (notificartion) 2024-01-26 19:56:36 +01:00
Robert Paciorek
37d23af369 fix event management logic 2024-01-26 19:56:36 +01:00
Robert Paciorek
7cc20ae3bb support for "WorldEvents" (ship battle) 2024-01-26 19:56:36 +01:00
Robert Paciorek
045a413998 add PlayerData variables descriptions 2024-01-05 21:09:06 +01:00
Spirtix
1c74ede17a change baby dragon exploit condition 2023-09-18 21:10:36 +02:00
Spirtix
7a1d18bb86 user event position variable 2023-09-12 14:11:18 +02:00
Spirtix
912a022476 patch baby dragon exploit 2023-09-11 18:52:15 +02:00