222415859a
Require pthreads ^5.1
...
This version of pthreads has a substantially improved API, improved
performance, improved memory usage, and much less magical and broken
behaviour.
2023-01-23 20:02:33 +00:00
b8f6b66e42
First look at separating disconnect reason and disconnect screen messages ( #4512 )
2023-01-18 20:57:17 +00:00
41e60cb62c
NetworkSession: remove unnecessary translation
2023-01-18 20:36:53 +00:00
072a9202ef
Merge branch 'next-minor' into next-major
2023-01-18 19:05:44 +00:00
d37142af4b
Merge branch 'stable' into next-minor
2023-01-18 15:30:42 +00:00
7c068101b7
CSÂ
2023-01-18 15:17:37 +00:00
a8556dff02
RakLibInterface: include Snooze events in Connection Handler timings
2023-01-18 15:02:33 +00:00
7abfc46567
First look at 3D biome support
2023-01-17 21:41:30 +00:00
d9b8251f7b
Merge branch 'next-minor' into next-major
2023-01-16 18:31:51 +00:00
ad6a423d12
Merge branch 'stable' into next-minor
2023-01-16 18:30:13 +00:00
7e16f9be8f
InGamePacketHandler: handle block actions before use item transactions
...
the START_BREAK and transaction to break the block may arrive in the same packet, causing events to be fired in the wrong order.
fixes #5490
2023-01-16 17:50:11 +00:00
950eddf405
Fix build
2023-01-13 17:57:41 +00:00
69967a0e55
Properly localize jukebox popups
2023-01-13 17:48:56 +00:00
ba18a81e88
NetworkSession: fixed rate limit getting exhausted after 2.5 seconds during PvP
2023-01-13 15:28:03 +00:00
ecd8f151f1
Merge branch 'next-minor' into next-major
2023-01-12 22:08:25 +00:00
d74719704e
Merge branch 'stable' into next-minor
2023-01-12 19:02:07 +00:00
992cb06da6
NetworkSession: fixed rate limit not being increased correctly on Windows
...
due to the 15ms scheduler interval, the server will often sleep 45ms instead of 50ms, which causes the budget not to get updated.
2023-01-09 00:01:56 +00:00
bb3f87f862
NetworkSession: allow 2 batches per tick
...
apparently InventoryTransactionPacket may arrive outside of the normal update cycle, since it's prioritized to reduce latency.
2023-01-09 00:00:39 +00:00
d2eddf9d33
relocate comments
2023-01-08 20:56:51 +00:00
0233e74f4f
NetworkSession: micro optimisation - do not check if a debugger is active unless the packet limit is exceeded
2023-01-08 19:45:14 +00:00
dd355c58d8
NetworkSession: fix CS
2023-01-08 19:35:43 +00:00
267032cff9
NetworkSession: do not rate limit packets if a debugging session is active
2023-01-08 19:31:39 +00:00
4a3d9f8f83
Make client-aware translation handling more coherent
...
I have no clear idea why this was still using translateString(), since it's entirely unnecessary when we aren't selectively translating.
2023-01-08 16:45:57 +00:00
1c96e7936c
Remove dead translation code
...
we don't translate raw string parameters anywhere else these days, so there's no reason to do so here either. The parameters array is already reduced to string[] by this point anyway.
2023-01-08 16:20:05 +00:00
6cecd690b2
CS
2023-01-07 21:33:53 +00:00
91e38d1f97
NetworkSession: compensate for server lag in batch budgeting
2023-01-07 21:33:34 +00:00
f9bcc8e862
NetworkSession: added a rate-limit for incoming batches
2023-01-07 16:19:02 +00:00
c2918709a3
Merge branch 'next-minor' into next-major
2023-01-06 01:59:04 +00:00
ece49f011c
Merge branch 'stable' into next-minor
2023-01-06 01:50:17 +00:00
3baa5ab712
InGamePacketHandler: removed obsolete workaround
2023-01-06 00:41:57 +00:00
db07976aab
TypeConverter: do not send useless meta to the client
2023-01-03 23:50:31 +00:00
0e4b79ea77
InGamePacketHandler: fixed client-side predictions not getting rolled back for block placementÂ
2023-01-03 19:43:21 +00:00
b312e93176
Limit list max size in transactions
...
this duct tape is to limit the impact of a security vulnerability being actively exploited.
2023-01-02 22:59:48 +00:00
42db3abf5e
QueryInfo->setPlayerList() now accepts string[] instead of Player[] ( #5476 )
2022-12-31 13:04:22 +00:00
61933624d2
NetworkSession: Lift batch limit to 1300 to allow shift-click crafting to work correctly
...
the theoretical limit for transactions in this case is 64x9 (inputs) + 64x9 (output on crafting grid) + 64 (outputs to main slot) + 64 CraftingEventPackets = 1280.
This is an extreme case which assumes that a recipe could generate up to 64x10 (640) output items per iteration, filling every slot of the output grid, which should never occur in any reasonable circumstances.
2022-12-30 22:11:35 +00:00
0d31b25fba
Use str_starts_with and str_contains instead of strpos ( #5482 )
2022-12-30 21:41:30 +00:00
59be901efe
Fixed unauthenticated sessions taking up player slots
2022-12-28 20:42:33 +00:00
c79806eaf0
NetworkSession: localize session open, close, and player name discovery messages
2022-12-27 20:11:46 +00:00
7ac6bd79a9
Localized remaining disconnection screens (except one or two that should never actually happen)
2022-12-27 20:05:59 +00:00
f173b91ca1
Introduce support for Translatable disconnection messages
...
this allows localizing disconnection screens (at least, once #4512 has been addressed) and the disconnect reasons shown on the console.
We already had disconnect messages implicitly localized in a few places, so this is just formalizing it.
This does break BC with any code that previously passed translation keys as the disconnect screen message, because they'll no longer be translated (only Translatables will be translatated now).
2022-12-27 18:36:07 +00:00
9796dfd4d9
Fix build
2022-12-27 18:32:22 +00:00
c1ba735c9e
Move common protocol disconnection logic to NetworkSession
2022-12-27 18:05:50 +00:00
c89df7eb1c
Merge remote-tracking branch 'origin/next-minor' into next-major
2022-12-25 18:22:13 +00:00
0d169b4e80
Filesystem: added fileGetContents to reduce ErrorToExceptionHandler boilerplate code
2022-12-25 17:13:51 +00:00
b1c0eae1f6
NetworkSession: tidy up common disconnection logic
2022-12-24 20:36:18 +00:00
80832ff763
NetworkSession: do not send packets to disconnected sessions
...
this is mostly harmless, since the packets land in a buffer that gets discarded, but we also need to avoid calling DataPacketSendEvent.
2022-12-24 20:12:50 +00:00
f7d0d16eb3
NetworkSession: defer destructive cleanup until the next session tick() call
...
this fixes crashes when kicking players during PlayerJoinEvent and various other events.
2022-12-24 20:06:00 +00:00
d37841c214
Merge branch 'next-minor' into next-major
2022-12-24 17:34:37 +00:00
567bd8abb5
Add .self
and .other
permissions for gameplay-altering commands ( #5470 )
...
I'm not quite sure this is the best way to enable such functionality, but it's already used for some other stuff, so I'm not too worried for now.
This allows the following commands to have their usage limited to self or others:
- /effect
- /enchant
- /gamemode
- /give
- /spawnpoint
- /teleport
- /title
I envision this being useful for creative mode servers, and test servers such as test.pmmp.io.
2022-12-24 17:22:18 +00:00
f8cc015c51
Merge branch 'next-minor' into next-major
2022-12-23 16:58:59 +00:00