| Commit message (Collapse) | Author | Age |
|
|
|
| |
* Iitial Haiku support
|
|
|
|
|
| |
This makes it possible to modify the tool capabilities of individual
itemstacks by calling a method on itemstack metadata references.
|
| |
|
|
|
|
|
|
|
|
| |
* Real global textures
* Add world-aligned textures
* Update minimal to support world-aligned tiles
* Update minimal
|
|
|
|
|
|
| |
In some cases NetworkPacket was created using default constructor and m_data is not properly sized.
This fixed out of bounds memory copy
Also use memcpy instead of std::vector affectation to enhance packet creation
|
|
|
|
| |
* Update clang from 4.0 to 5.0
|
| |
|
|
|
|
|
|
| |
* Add session_t typedef + remove unused functions
u16 peer_id is used everywhere, to be more consistent and permit some evolutions on this type in the future (i'm working on a PoC), uniformize u16 peer_id to SessionId peer_id
|
|
|
|
|
|
|
|
|
|
| |
Implement network communication for channels
* Implement ModChannel manager server side to route incoming messages from clients to other clients
* Add signal handler switch on client & ModChannelMgr on client to handle channels
* Add Lua API bindings + client packet sending + unittests
* Implement server message sending
* Add callback from received message handler to Lua API using registration method
|
|
|
| |
Include the header that defines AF_INET and AF_INET6
|
|
|
|
| |
* ServerEnv: Clean up object lifecycle handling
|
|
|
|
|
|
| |
The 'glow' value is added to the ambient light value.
Negative 'glow' disables light's effect on object colour, for faking
self-lighting, UI-style entities, or programmatic colouring in mods.
|
| |
|
|
|
|
| |
Also remove the setting 'send_pre_v25_init'
Keep old enum entries for obsolete commands
|
| |
|
|
|
|
| |
This fixes #6373
|
| |
|
|
|
|
|
|
|
|
|
| |
* Implement minetest.register_on_userlimit_check
This new callback permits to bypass the max_users parameter with new mods condition, based on player name or IP
Only one mod needs to permit it.
Move core part for builtin privileges checks to builtin
|
| |
|
|
|
|
|
|
| |
ConnectionCommand"
This reverts commit 5b04f5e7d231437b534f4cad39da78624d97c584.
|
| |
|
|
|
|
|
|
| |
This can trigger unreproductible crashes due to concurrency problem on SharedBuffers
This fixes #6354
|
|
|
|
|
|
|
|
|
|
| |
* Fix HP transport + some double <-> float problems
TOCLIENT_HP transport u16 hp as a u8, use u16 HP, this prevent HP over 255 to overflow across network
* Fix more double/float problem in serverpackethandler & remove implicit struct type for TileAnimationParams
* Fix connection unittests container
|
|
|
|
|
|
|
| |
* Bump minimal protocol version to 36
Item/Node/TileDef, NodeBox, TileAnimation: Remove old compat code
* Accept future serialisation versions
|
|
|
|
|
|
|
|
|
|
| |
* Refactor clientevent structure
* Move structure outside of client header
* Create client events on heap not stack, this remove the ClientEvent object copy
* Use clientEventHandler to route events
|
|
|
|
|
| |
This should fix #6332
Refcount is not increased due to reference, it can make this refcount incorrect in a multithread context
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Move Connection threads to dedicated files + various cleanups
* ConnectionReceiveThread::processPacket now uses function pointer table to route MT packet types
* Various code style fixes
* Code style with clang-format
* Various SharedBuffer copy removal
* SharedBuffer cannot be copied anymore using Buffer
* Fix many SharedBuffer copy (thanks to delete operator)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Cleanup network headers
* Move peerhandler to a specific header to reduce compilation times
* Move socket.cpp/h to network folder
* More work
* Network code cleanups
* Move socket.{cpp,h} to network folder
* Move Address object to network/address.{cpp,h}
* Move network exceptions to network/networkexceptions.h
* Client: use unique_ptr for Connection
* Server/ClientIface: use shared_ptr for Connection
* Format fixes
* Remove socket.cpp socket.h from clang-format whitelist
* Also fix NetworkPacket code style & make it under clang-format
|
|
|
|
| |
Of course, this is not ideal solution, but we want our users to be happy in the
first place, right?
|
|
|
|
|
| |
Flag default is true to not change default behaviour.
The existing minimap HUD flag remains the master control for minimap.
|
|
|
|
|
|
|
|
|
|
|
| |
* Modernize source code: last par
* Use empty when needed
* Use emplace_back instead of push_back when needed
* For range-based loops
* Initializers fixes
* constructors, destructors default
* c++ C stl includes
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Code modernization: subfolders
Modernize various code on subfolders client, network, script, threading, unittests, util
* empty function
* default constructor/destructor
* for range-based loops
* use emplace_back instead of push_back
* C++ STL header style
* Make connection.cpp readable in a pointed place + typo
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Optimize headers (part 2)
* less debug.h in headers
* less remoteplayer.h for everybody
* Cleanup (part 2)
* camera.h: mesh.h
* mapgen.h: mapnode.h
* serverenvironment.h: mapblock.h
* nodedef.h: shader.h
|
| |
|
|
|
|
| |
* Migrate cpp headers to pragma once
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reached (#6258)
* ClientInterface: add a function to verify (correctly) if user limit was reached
CS_HelloSent is a better indicator of active slots than CS_Created, which are session objects created after init packet reception
Switch existing checks to ClientInterface::isUserLimitReached()
Use range-based for loop for getClientIds() used function too
This will fix #6254 (not the memory overhead if init is flooded)
|
|
|
|
| |
* Cleanup various headers to reduce compilation times
|
|
|
|
|
|
|
| |
* Use more for range based loops
* Simplify some tests
* Code style fixes
* connection.h: better PeerChange constructor instead of creating uninitalized object and then affect variables
|
|
|
|
|
| |
Add settable player step height using the existing object property.
Breaks compatibility with old clients, add to protocol version 35.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* [CSM] Add flavour limits controlled by server
Server send flavour limits to client permitting to disable or limit some Lua calls
* Add limits for reading nodedefs and itemdefs
* flavour: Add lookup node limits
* Merge get_node_or_nil into get_node.
Sending fake node doesn't make sense in CSM, just return nil if node is not available for any reason
* Add node range customization when noderange flavour is enabled (default 8 nodes)
* Limit nodes range & disable chat message sending by default
* Bump protocol version
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* New TOCLIENT_CHAT_MESSAGE packet
* Rename old packet to TOCLIENT_CHAT_MESSAGE_OLD for compat
* Handle TOCLIENT_CHAT_MESSAGE new structure client side
* Client chat queue should use a specific object
* SendChatMessage: use the right packet depending on protocol version (not complete yet)
* Add chatmessage(type) objects and handle them client side (partially)
* Use ChatMessage instead of std::wstring server side
* Update with timestamp support
|
|
|
|
| |
* C++11 cleanup inventorymanager
|
|
|
|
| |
* C++11 cleanup on constructors dir network
|
|
|
|
|
|
| |
* Verify HudSetParams input when hotbar textures are set
This fix #6011
|
|
|
|
|
|
|
|
|
|
| |
* C++11 patchset 10: continue cleanup on constructors
* Drop obsolete bool MainMenuData::enable_public (setting is called with cURL in server loop)
* More classes cleanup
* More classes cleanup + change NULL tests to boolean tests
|
| |
|
| |
|