aboutsummaryrefslogtreecommitdiff
path: root/src/network/networkprotocol.h
AgeCommit message (Collapse)Author
2020-12-18Documentation for highest formspec_version[] and changelog (#10592)DS
2020-10-04Minimap as HUD element with API controlPierre-Yves Rollo
Features: * Define Minimap available modes (surface/radar, scale) from Lua, using player:set_minimap_modes() * New HUD elements for displaying minimap with custom size and placing * New minimap mode for displaying a texture instead of the map
2020-07-29Add PUT and DELETE request + specific method value to HTTP API (#9909)Lejo
2020-07-10Formspec: Make dropdowns optionally return event based on index, not value ↵v-rob
(#9496)
2020-06-13Server pushing media at runtime (#9961)sfan5
2020-05-11Add support for statbar “off state” icons (#9462)Wuzzy
This adds support for optional “off state” icons for statbars. “off state icons” can be used to denote the lack of something, like missing hearts or bubbles. Add "off state" textures to the builtin statbars. Co-authored-by: SmallJoker <mk939@ymail.com>
2020-05-05Sky API: Rename *_tint to fog_*_tint for consistencySmallJoker
2020-05-02set_fov: Add support for time-based transitions (#9705)ANAND
2020-04-13Add scroll_container formspec element (redo) (#9101)DS
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.
2020-04-10Drop genericobject.{cpp,h} (#9629)Loïc Blot
* 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
2020-03-05set_sky improvements, set_sun, set_moon and set_starsJordach
2020-02-01Improve core.sound_play with ephemeral sounds and player exclusionsfan5
2020-01-16Make clipping of formspec elements more consistent (#9262)Hugues Ross
2019-12-08Formspec: make bgcolor element less confusing and allow setting fullscreen ↵DS
color (#8996)
2019-12-06Add z-index management to HUDPierre-Yves Rollo
2019-11-07Formspec: draw order and clipping for all elements (#8740)DS
2019-09-19Add support for per-player FOV overrides and multipliersAnand S
2019-09-14Built-in formspecs: Force version 1SmallJoker
2019-09-14Formspecs: Introduce formspec_version to modsSmallJoker
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.
2019-08-10Implement adding velocity to player from Luasfan5
The intended usecase is knockback, but there's potential for more.
2019-08-07Client::Interact: Use InteractAction enum instead of numeric constantsANAND
This replaces the magic numbers used as interaction modes both client-side and server-side, primarily for the sake of ease-of-readability.
2019-02-07Use true pitch/yaw/roll rotations without loss of precision by pgimeno (#8019)Paul Ouellette
Store the rotation in the node as a 4x4 transformation matrix internally (through IDummyTransformationSceneNode), which allows more manipulations without losing precision or having gimbal lock issues. Network rotation is still transmitted as Eulers, though, not as matrix. But it will stay this way in 5.0.
2019-01-03Proselytize the network. Use IEEE F32 (#8030)SmallJoker
* Proselytize the network. Use IEEE F32 * Remove unused V2F1000 functions
2019-01-03CSM restrictions: Make 'LOAD_CLIENT_MODS' disable loading of 'builtin' (#8000)Paramat
Previously, when the CSM restriction 'LOAD_CLIENT_MODS' was used a client was still able to add CSM code to 'builtin' to bypass that restriction, because 'builtin' is not yet verified. Until server-sent CSM and verifying of 'builtin' are complete, make 'LOAD_CLIENT_MODS' disable the loading of builtin. Clarify code comments and messages to distinguish between client-side modding and client-side scripting. 'Scripting' includes 'builtin', 'modding' does not.
2018-12-24CSM: add requested CSM_RF_READ_PLAYERINFO (#8007)Loïc Blot
* CSM: add requested CSM_RF_READ_PLAYERINFO This new CSM limit permit to limit PLAYERINFO read from server. It affects get_player_names call
2018-12-13Network: Send IEEE floats (#7768)SmallJoker
2018-12-04Send only changed node metadata to clients instead of whole mapblock (#5268)SmallJoker
Includes newer style changes and fixes by est31 Improve the block position de-serialization Add type NodeMetadataMap
2018-10-10 Add core.remove_detached_inventory (#7684)SmallJoker
Breaks backwards compatibility for good Bump protocol version
2018-09-08Particles: Make collision with objects optional (#7682)Paramat
Also set it to false for node dig particles, as they are often created and high in number. Improve particle documentation.
2018-07-29Add protocol_version and supported package types to ContentDB urlsrubenwardy
2018-06-26Rename CSM flavours to restrictionsSmallJoker
& Satisfy LINT
2018-03-28Add formspec theming using prepended stringsAndrew Ward
2018-01-03Connected Nodeboxes: Add `disconnected` boxesThomas--S
The `disconnected_*` boxes are the opposites of the `connect_*` ones, i.e. when a node has no suitable neighbours on the respective side, the according disconnected box is drawn. * disconnected_top * disconnected_bottom * disconnected_front * disconnected_left * disconnected_back * disconnected_right * disconnected (when there is *no* neighbour) * disconnected_sides (when there are *no* neighbours to the sides)
2017-12-11CSM fixes: load mods after flavours & add flavour to block mod loading (#6738)Loïc Blot
* CSM fixes: load mods after flavours & add flavour to block mod loading * Don't permit to load mods twice * Prepare builtin integrity global algorithm * Add missing doc & use a nicer byteflag for LOAD_CLIENT_MODS flavour * flag typo fix * Invert CSM_FL_LOOKUP_NODES & CSM_FL_LOAD_CLIENT_MODS ids
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-10-15Real global textures (#6105)Vitaliy
* Real global textures * Add world-aligned textures * Update minimal to support world-aligned tiles * Update minimal
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-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: 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-05Network protocol documentation: Add 'can_zoom' to version 36paramat
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-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-06-11Fix the serialization error by ff73c7a (#5964)Rui
2017-06-08Have the server send the player list to the client (#5924)red-001
* Have the server send the player list to the client Currently the client generates the player list based on the Client active object list, the issue with this is that we can't be sure all player active objects will be sent to the client, so this could result in players showing up when someone run `/status` but auto complete not working with their nick and CSM not being aware of the player
2017-05-02Set sky API: Add bool for clouds in front of custom skyboxparamat
Default true. Add 'm_clouds_enabled' bool to sky.h, set from new bool in 'set sky' API. Make 'getCloudsVisible()' depend on 'm_clouds_enabled' instead of 'm_visible' (whether normal sky is visible).