1
0
mirror of https://github.com/luanti-org/luanti.git synced 2025-11-12 20:55:27 +01:00
Commit Graph

186 Commits

Author SHA1 Message Date
SmallJoker
98fb381910 Break include chains and tidy (part 2) 2025-11-06 19:31:13 +01:00
sfan5
7a6e639d61 Tune "block send throttling while building" optimization (#16614)
it can lead to terrain not loading/updating at all if you're constantly building and moving.

for more see the IRC logs <https://irc.luanti.org/luanti/2025-10-26#i_6293100>
2025-11-04 11:44:49 +01:00
Lars Müller
377cdfb601 Check if object is gone before calling on_rightclick
fix #16601
2025-10-25 17:37:12 +02:00
sfan5
3cb8ce69d2 Minor cleanups and logging changes 2025-07-16 11:42:54 +02:00
sfan5
79e0d834fd Rework user limit and checks around join process 2025-05-30 13:02:24 +02:00
sfan5
9ce9d7f433 Extend check for lingering clinets 2025-05-30 13:02:24 +02:00
Ricardo Costa
251bf0ec31 Fix possible nullptr dereference in serverpackethandler.cpp 2025-03-26 18:31:27 +01:00
cx384
e0378737b7 Fix overrideable hand ToolCapabilities and range (#15743) 2025-03-16 20:03:31 +01:00
sfan5
ee9258cefd Clean up some packet-related code 2025-02-26 12:21:57 +01:00
Lars Müller
a73e71510a Clamp client-sent movement speed control (#15721)
Results in the `movement_x` and `movement_y` fields of `player:get_player_control()` being safe to use
(otherwise users would need to compute the length as `(x^2 + y^2)^0.5` and clamp that to 1 themselves).
2025-02-04 12:19:00 +01:00
SmallJoker
b2a6c3ba23 Server: undo inventory client prediction
The affected player inventory list is now marked as modified.
This way, it will also be re-sent if the server denies the action.
2025-02-02 19:05:09 +01:00
SmallJoker
e8f6127779 Reduce irrlicht_extrabloated.h includes in header files 2025-01-04 12:39:34 +01:00
SmallJoker
c175046d30 Network: Fix serialization version checks (#15477)
This fixes some incorrect assumptions that the read and write version ranges are identical - whereas they're in fact not.
2024-11-27 18:39:57 +01:00
sfence
d849d51c2d Replace licensing text in headers (LGPLv2.1) (#15321) 2024-10-28 15:57:39 +01:00
Zemtzov7
1b2d24791a Separate anticheat settings (#15040) 2024-10-11 12:01:22 +02:00
SmallJoker
3797ca52c4 Network: offload often changed constants to source file (#15207)
* Network: offload often changed constants to source file

This prevents unnecessary recompiling when using incremental builds.
There is also no need to have separate max proto version variables;
as they're subject to the handshake between client and server. The
code is also expected to support the same version (or higher).

Co-authored-by: sfan5 <sfan5@live.de>
2024-10-02 11:01:30 +02:00
grorp
22ef4c8be1 Expose analog joystick input to the Lua API (#14348) 2024-10-01 17:21:42 +02:00
grorp
526a2f7b8c Dehardcode the death formspec (#15155)
Co-authored-by: Paul Ouellette <oue.paul18@gmail.com>
2024-09-24 22:37:44 +02:00
red-001
d5d8fb629b Simplify TOSERVER_INIT and TOCLIENT_HELLO
- Network compression support was never added.
- Client hasn't used the returned playername since at least 0.4-stable.
2024-09-02 21:50:43 +02:00
sfan5
c6ef5ab259 Sanitize formspec fields server-side (#14878) 2024-08-21 21:34:46 +02:00
Lars Mueller
cc8e7a569e Switch player names to std::string 2024-08-16 22:13:16 +02:00
1F616EMO~nya
98e51a0159 Clamp hotbar selection to slots that exist (#14869) 2024-08-12 15:35:13 +02:00
src-tinkerer
08284e420d Disable default password check in single player (#14493) 2024-03-27 21:46:41 +00:00
cx384
234b01a8c2 Item meta pointing range (#14347) 2024-03-17 15:55:38 +01:00
SmallJoker
32f68f35cf Avoid packets getting sent to disconnected players (#14444)
Many functions expect RemotePlayer to have a valid peer ID,
this however is not the case immediately after disconnecting
where the object is still alive and pending for removal.

ServerEnvironment::getPlayer(const char *, bool) now only
returns players that are connected unless forced to.
2024-03-10 13:24:35 +01:00
sfan5
2b97fead9e Fix some potential iterator invalidation issues 2024-02-16 12:34:40 +01:00
SmallJoker
e7dbd325d2 RemotePlayer: make peer ID always reflect the validity of PlayerSAO (#14317)
Upon disconnect, RemotePlayer still had a peer ID assigned even though
the PlayerSAO object was maked as gone (for removal). This commit makes
that the following always holds true:

	(!sao || sao->isGone()) === (peer_id == PEER_ID_INEXISTENT)
2024-02-02 22:13:24 +01:00
sfan5
89f3502b56 Move Server ban check to different point 2024-01-27 10:33:32 +01:00
sfan5
6df0de565f Check media requests on the server more carefully 2024-01-23 22:34:36 +01:00
savilli
432988a4ad Fix multiple password changes in one session 2024-01-19 11:50:55 +01:00
Warr1024
7e143cb33d Manually configurable minimum protocol version (#14054)
Partially address #13483.  Server operators can set a minimum
protocol version to match the game requirements (or any other
restriction they may want), and it's applied as an additional
constraint on top of the baseline compatibility range, optional
strict_protocol_version_checking, and any kick-on-join used by
the game/mods.
2023-12-21 18:53:30 +01:00
grorp
91ba02449b Add touch_controls boolean to get_player_window_information() (#14092) 2023-12-17 20:47:07 +01:00
numzero
3b74cc4a41 Replace PP with direct printing 2023-06-26 22:51:32 +02:00
Desour
e700182f44 Replace Optional with std::optional 2023-06-15 10:38:44 +02:00
lhofhansl
a8ec6092e2 Load blocks and objects behind player when in third-persion front-view (#13431) 2023-05-29 10:26:42 -07:00
SmallJoker
d975ebdcb9 Limit formspec fields to 640K (#13380)
Fixes an issue where long inputs could cause issues when dealing with formspecs.
The expected data is usually below 1 KiB, however that's not a technical limit.
2023-04-07 12:49:23 +02:00
rubenwardy
39f4d26177 Add minetest.get_player_window_information() (#12367) 2023-02-27 22:58:41 +00:00
rubenwardy
a871115889 Fix some warnings (#12615) 2022-07-30 12:51:23 +01:00
sfan5
a65f6f07f3 Clean up some auth packet handling related code 2022-04-28 20:05:26 +02:00
sfan5
00f71c3b9d Fix password changing getting stuck if wrong password is entered once 2022-04-28 19:55:36 +02:00
sfan5
3d2bf8fb02 Apply disallow_empty_password to password changes too 2022-04-28 19:55:36 +02:00
sfan5
391eec9ee7 Fix race condition in registration leading to duplicate create_auth calls 2022-04-28 19:55:36 +02:00
sfan5
c31b301722 Clean up ClientReady packet handling
fixes #12073
2022-02-17 23:20:33 +01:00
Jude Melton-Houghton
1c73902005 Clean up ClientInterface locking 2022-02-03 11:43:51 +01:00
savilli
72b14bd994 Don't call on_dieplayer callback two times (#11874) 2022-01-15 17:44:55 +01:00
sfan5
5eb45e1ea0 Restore pass-through of direction keys (#11924)
This moves relevant code into the PlayerControl class and gets rid of separate keyPressed variable.
2022-01-09 18:46:36 +01:00
savilli
0fa54531d4 Fix check that denies new clients from a singleplayer session 2021-12-28 14:08:21 +01:00
Wuzzy
6910c8d920 Fix number of tool uses being off by 1..32767 (#11110) 2021-10-31 22:33:33 +00:00
sfan5
660e63dbae Fix item duplication if player dies during interact callback (alternative) (#11662) 2021-10-25 20:30:27 +02:00
savilli
6ea558f8ac Fix player HP desync between client and server 2021-10-12 20:12:49 +02:00