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