summaryrefslogtreecommitdiff
path: root/src/network
Commit message (Collapse)AuthorAge
* Move files to subdirectories (#6599)Vitaliy2017-11-08
| | | | * Move files around
* Initial Haiku support (#6568)miqlas2017-10-30
| | | | * Iitial Haiku support
* Allow overriding tool capabilities through itemstack metadataraymoo2017-10-29
| | | | | This makes it possible to modify the tool capabilities of individual itemstacks by calling a method on itemstack metadata references.
* Fix strict_protocol_version_checking functionality after ee9a442SmallJoker2017-10-16
|
* Real global textures (#6105)Vitaliy2017-10-15
| | | | | | | | * Real global textures * Add world-aligned textures * Update minimal to support world-aligned tiles * Update minimal
* NetworkPacket::putRawPacket: resize m_data to datasize + memcpyLoic Blot2017-10-10
| | | | | | 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
* Travis: Update clang from 4.0 to 5.0 (#6467)Loïc Blot2017-10-09
| | | | * Update clang from 4.0 to 5.0
* Lint fixLoic Blot2017-09-27
|
* Add session_t typedef + remove unused functions (#6470)Loïc Blot2017-09-27
| | | | | | * 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 mod communication channels (#6351)Loïc Blot2017-09-26
| | | | | | | | | | 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
* Fix compile error in openbsd (#6430)jcalve2017-09-20
| | | Include the header that defines AF_INET and AF_INET6
* ServerEnv: Clean up object lifecycle handling (#6414)sfan52017-09-15
| | | | * ServerEnv: Clean up object lifecycle handling
* Object properties: Add 'glow', disables light's effect if negativeRob Blanckaert2017-09-14
| | | | | | 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.
* Network: Fix logging into older worlds with base64 hashesSmallJoker2017-09-12
|
* Network: Remove large parts of deprecated legacy code (#6404)SmallJoker2017-09-12
| | | | Also remove the setting 'send_pre_v25_init' Keep old enum entries for obsolete commands
* Fix failing linter (travis)sfan52017-09-12
|
* Use a Buffer instead of SharedBuffer in ConnectionCommandLoic Blot2017-09-05
| | | | This fixes #6373
* Network protocol documentation: Add 'can_zoom' to version 36paramat2017-09-05
|
* Implement minetest.register_can_bypass_userlimit (#6369)Loïc Blot2017-09-04
| | | | | | | | | * 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
* Re-apply previous commit with a typo fixLoïc Blot2017-09-04
|
* Revert "Network: fix a concurrency problem, by re-adding a copy in ↵Loïc Blot2017-09-04
| | | | | | ConnectionCommand" This reverts commit 5b04f5e7d231437b534f4cad39da78624d97c584.
* Network: fix a concurrency problem, by re-adding a copy in ConnectionCommandLoïc Blot2017-09-04
|
* Network part requires SharedBuffers to be pass as valueLoic Blot2017-09-03
| | | | | | This can trigger unreproductible crashes due to concurrency problem on SharedBuffers This fixes #6354
* Network proto handlers/container fixes (#6334)Loïc Blot2017-08-29
| | | | | | | | | | * 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 (#6319)SmallJoker2017-08-29
| | | | | | | * Bump minimal protocol version to 36 Item/Node/TileDef, NodeBox, TileAnimation: Remove old compat code * Accept future serialisation versions
* Clientevent refactor (#6320)Loïc Blot2017-08-28
| | | | | | | | | | * 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
* Pass SharedBuffer as value to increment reference countLoïc Blot2017-08-28
| | | | | This should fix #6332 Refcount is not increased due to reference, it can make this refcount incorrect in a multithread context
* Network cleanup (#6310)Loïc Blot2017-08-25
| | | | | | | | | | | | | | * 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)
* Add clientside translations.Ekdohibs2017-08-24
|
* Network cleanup (#6302)Loïc Blot2017-08-24
| | | | | | | | | | | | | | | | | | | | | | | * 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
* Fix OSX builds (closes #6289, fixes #6270) (#6306)Pavel Puchkin2017-08-24
| | | | Of course, this is not ideal solution, but we want our users to be happy in the first place, right?
* Minimap: Add new HUD flag for minimap radar modeparamat2017-08-20
| | | | | Flag default is true to not change default behaviour. The existing minimap HUD flag remains the master control for minimap.
* Modernize source code: last part (#6285)Loïc Blot2017-08-20
| | | | | | | | | | | * 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 (#6283)Loïc Blot2017-08-19
| | | | | | | | | | | | | * 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) (#6272)Loïc Blot2017-08-18
| | | | | | | | | | | | | | * 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
* Add missing ctime include (#6269)adrido2017-08-18
|
* C++ modernize: Pragma once (#6264)Loïc Blot2017-08-17
| | | | * Migrate cpp headers to pragma once
* Typo fix in compat code from commit 1d8d01074fdb52946f81110bebf1d001185b394bLoic Blot2017-08-17
|
* ClientInterface: add a function to verify (correctly) if user limit was ↵Loïc Blot2017-08-16
| | | | | | | | | | | | | | 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 (#6255)Loïc Blot2017-08-16
| | | | * Cleanup various headers to reduce compilation times
* server.cpp: code modernizationLoic Blot2017-08-15
| | | | | | | * 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
* Step height: Add as a player object propertyparamat2017-08-09
| | | | | Add settable player step height using the existing object property. Breaks compatibility with old clients, add to protocol version 35.
* Network protocol: Document settable player collisionbox (#6168)Paramat2017-07-25
|
* [CSM] Add flavour limits controlled by server (#5930)Loïc Blot2017-07-18
| | | | | | | | | | | | | | | | | | | | * [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
* Chat protocol rewrite (#5117)Loïc Blot2017-07-16
| | | | | | | | | | | | | * 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 (#6077)Vincent Glize2017-07-01
| | | | * C++11 cleanup inventorymanager
* C++11 cleanup on constructors dir network (#6021)Vincent Glize2017-06-21
| | | | * C++11 cleanup on constructors dir network
* Verify HudSetParams input when hotbar textures are set (#6013)Loïc Blot2017-06-19
| | | | | | * Verify HudSetParams input when hotbar textures are set This fix #6011
* Cpp11 initializers 2 (#5999)Loïc Blot2017-06-17
| | | | | | | | | | * 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
* Remove legacy content_abm.{cpp,h}Loïc Blot2017-06-14
|