| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
(#9739)
fixes #9352
This reverts commit 23c907befea02005e2c0c87fca0131b60aace18a.
|
|
|
|
| |
* Add server side translations capability
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
New formspec elements:
- `scroll_container[<X>,<Y>;<W>,<H>;<scrollbar name>;<orientation>;<scroll factor>]`
- `scroll_container_end[]`
Other elements can be embedded in this element. Scrollbar must be placed manually.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Drop genericobject.{cpp,h}
This file is not for generic object but for ActiveObject message passing.
Put ownership of the various commands to the right objects and cleanup the related code.
* Protect ServerActiveObject::m_messages_out
* typo fix
|
|
|
|
| |
Hide some unnecessarily verbose ones behind --trace or disable them entirely.
Remove duplicate ones. Improve their contents in some places.
|
|
|
| |
fixes #2862
|
| |
|
|
|
|
|
| |
* Add translator comments for "special" strings
* Add translator comments for some "tricky" strings
|
|
|
|
| |
'-1' as value is handled as an error. If there are no RTT updates upon fast connect, set_player_information returned nil.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
color (#8996)
|
| |
|
|
|
|
|
| |
Notably it tries to receive all queued packets
between server steps, not just one.
|
| |
|
| |
|
|
|
| |
The variable name changed but this didn't cause merge conflicts, so it wasn't caught before.
|
| |
|
|
|
| |
Makes 'get_wield_item' to return the "main" ItemStack
|
| |
|
|
|
|
|
| |
The line declared a variable "m_con" instead of locking m_con.
getClient() doesn't need this anyway, so remove it.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Safety-guards for CSM callbacks to abort on a bad implementation
Only run callbacks when the mods are loaded (and with it: builtin)
Duplication checks inside constructors
|
|
|
|
| |
Applies to player and detached inventories
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
It's not required and, worse, can lead to bugs.
|
| |
|
|
|
|
|
| |
In the error condition the exception would be thrown before m_list_size
is decremented, causing a nullptr dereference in e.g. popFirst().
|
|
|
|
|
|
|
| |
Update the profiler names to make more sense of what they actually represent
Move the profiler code from header to its source file
Use monospace font to align lines
Format the statistics line to align better with surrounding values
Refresh the profiler each 3 seconds (roughly)
|
|
|
| |
Finish getNode cleanup
|
|
|
|
| |
The intended usecase is knockback, but there's potential for more.
|
|
|
|
| |
This replaces the magic numbers used as interaction modes both client-side and server-side, primarily for the sake of ease-of-readability.
|
|
|
|
| |
This moves the wield item functions to Player and the tool utils for range calculation
Also 'local_inventory' was removed due to redundancy in Client
|
| |
|
|
|
|
| |
Add isImmortal server-side for proper enable_damage handling
Rework log messages
|