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
Spirtix
30cbc54eca
more fixes
2023-09-09 23:28:19 +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
Alan Moon
68e0f7a723
Add Basic Docker Support ( #1 )
...
* Add Basic Docker Support
* Docker: forward port 9933
---------
Co-authored-by: Spirtix <michal.prazak1@gmail.com>
2023-09-04 20:24:39 +02:00