aboutsummaryrefslogtreecommitdiff
path: root/src/network/serverpackethandler.cpp
AgeCommit message (Collapse)Author
2022-04-28Clean up some auth packet handling related codesfan5
2022-04-28Fix password changing getting stuck if wrong password is entered oncesfan5
2022-04-28Apply disallow_empty_password to password changes toosfan5
2022-04-28Fix race condition in registration leading to duplicate create_auth callssfan5
2022-02-17Clean up ClientReady packet handlingsfan5
fixes #12073
2022-02-03Clean up ClientInterface lockingJude Melton-Houghton
2022-01-15Don't call on_dieplayer callback two times (#11874)savilli
2022-01-09Restore pass-through of direction keys (#11924)sfan5
This moves relevant code into the PlayerControl class and gets rid of separate keyPressed variable.
2021-12-28Fix check that denies new clients from a singleplayer sessionsavilli
2021-10-31Fix number of tool uses being off by 1..32767 (#11110)Wuzzy
2021-10-25Fix item duplication if player dies during interact callback (alternative) ↵sfan5
(#11662)
2021-10-12Fix player HP desync between client and serversavilli
2021-09-09Dynamic_Add_Media v2 (#11550)sfan5
2021-08-28Remove redundant on_dieplayer callssavilli
2021-08-27Joystick sensitivity for player movement (#11262)NeroBurner
This commit deprecates the forward, backward, left, and right binary inputs currently used for player movement in the PlayerControl struct. In their place, it adds the movement_speed and movement_direction values, which represents the player movement is a polar coordinate system. movement_speed is a scalar from 0.0 to 1.0. movement_direction is an angle from 0 to +-Pi: FWD 0 _ LFT / \ RGT -Pi/2 | | +Pi/2 \_/ +-Pi BCK Boolean movement bits will still be set for server telegrams and Lua script invocations to provide full backward compatibility. When generating these values from an analog input, a direction is considered active when it is 22.5 degrees away from either orthogonal axis. Co-authored-by: Markus Koch <markus@notsyncing.net> Co-authored-by: sfan5 <sfan5@live.de>
2021-03-30Block & report player self-interaction (#11137)Lars Müller
2021-03-19Check for duplicate login in TOSERVER_INIT handler (#11017)Elias Fleckenstein
i.e. checks for duplicate logins before sending all media data to the client.
2021-03-07Protect dropping from far node inventoriesSmallJoker
Also changes if/if to switch/case
2021-03-07Protect per-player detached inventory actionsSmallJoker
2021-02-15Server-side authority for attached players (#10952)SmallJoker
The server must have authority about attachments. This commit ignores any player movement packets as long they're attached.
2021-02-02Encode high codepoints as surrogates to safely transport wchar_t over networksfan5
fixes #7643
2021-02-02Drop wide/narrow conversion functionssfan5
The only valid usecase for these is interfacing with OS APIs that want a locale/OS-specific multibyte encoding. But they weren't used for that anywhere, instead UTF-8 is pretty much assumed when it comes to that. Since these are only a potential source of bugs and do not fulfil their purpose at all, drop them entirely.
2021-02-02Server GotBlocks(): Lock clients to avoid multithreading issuesSmallJoker
2021-01-31Cache client IP in RemoteClient so it can always be retrieved (#10887)sfan5
specifically: after the peer has already disappeared
2020-12-24Fix some minor code issues all over the placesfan5
2020-11-12serverpackethandler: Minor log message fixessfan5
closes #10434
2020-11-09Fix object interaction distance not being checked (#10547)rubenwardy
2020-09-07Inventory: Protect Craft and Drop actions (#10353)SmallJoker
Change dangerous pointer to unique_ptr for automated deletion.
2020-09-04Prevent interacting with items out of the hotbar (#10359)Lejo
2020-09-01[2] Code cleanup in serverpackethandler (#9349)HybridDog
* Code cleanup in serverpackethandler * do not define p_under unless a node is pointed * use switch-case and reduce indentation
2020-08-29Prevent players accessing inventories of other players (#10341)Lars Müller
2020-08-15Allow binding dig, place actions to keys; remove LMB/RMB hardcodingANAND
Co-authored-by: Sam Caulfield <sam@samcaulfield.com>
2020-06-13Exposing the zoom key to Lua API (#9903)Lars Müller
Co-authored-by: Raul Ferriz <raul.ferriz@gmail.com>
2020-05-23Add on_authplayer callback and 'last_login' to on_joinplayer (#9574)sorcerykid
Replace on_auth_fail callback with more versatile on_authplayer Better clarify account login process in Lua API documentation Change initial timestamp for newly registered accounts to -1
2020-05-16Log protocol ver on mismatched client connect toosfan5
2020-05-07Server class code cleanups (#9769)Loïc Blot
* Server::overrideDayNightRatio doesn't require to return bool There is no sense to sending null player, the caller should send a valid object * Server::init: make private & cleanup This function is always called before start() and loads some variables which can be loaded in constructor directly. Make it private and call it directly in start * Split Server inventory responsibility to a dedicated object This splits permit to found various historical issues: * duplicate lookups on player connection * sending inventory to non related player when a player connects * non friendly lookups on detached inventories ownership This reduce the detached inventory complexity and also increased the lookup performance in a quite interesting way for servers with thousands of inventories.
2020-05-05Server: Improve some log messages (#9820)sfan5
2020-04-25Add server side translations capability (#9733)EvidenceB Kidscode
* Add server side translations capability
2020-04-18serverpackethandler: Reduce pkt->getPeerId() invocations and more (#9689)HybridDog
2020-04-11Move PlayerSAO to dedicated filesLoic Blot
2020-03-05Fixes around ServerActiveObject on_punch handlingsfan5
2019-11-10Call on_secondary_use when object is right-clickedsfan5
2019-09-23Fix broken buildsfan5
The variable name changed but this didn't cause merge conflicts, so it wasn't caught before.
2019-09-22Punchwear (improved) (#8959)sfan5
2019-09-21Wieldhand: Specify which ItemStack to use (#8961)SmallJoker
Makes 'get_wield_item' to return the "main" ItemStack
2019-09-19Remove incorrect MutexAutoLocksfan5
The line declared a variable "m_con" instead of locking m_con. getClient() doesn't need this anyway, so remove it.
2019-09-14Send ActiveObjects once right after Init2ANAND
2019-09-14Formspecs: Introduce formspec_version to modsSmallJoker
2019-09-09Send cumulated inventory changes only each step (#8856)SmallJoker
Applies to player and detached inventories
2019-08-24Inventory: Send dirty lists where appropriate (#8742)SmallJoker
This change reduces the amount of sent data towards clients. Inventory lists that are already known to the player are skipped, saving quite some data over time. Raises protocol version to 38 to ensure correct backwards-compatible code.