| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
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.
|
|
|
|
| |
The intended usecase is knockback, but there's potential for more.
|
| |
|
|
|
| |
Fixes #8332
|
| |
|
|
|
|
|
| |
* Drop the ID mapper, use a big u64 instead. This will permit to resync server ids properly with the manager code
* Modernize some code parts (std::unordered_map, auto)
* generate id on client part on U32_MAX + 1 ids, lower are for server ids
|
|
|
|
|
|
| |
(#8288)"
This reverts commit 01cd63bd3bca0192dab2834faf414b022706a77e.
|
|
|
|
| |
Reverts 5dab7426451842793b183fbd961ad2ae83c8acbd
"[CSM] Add functions to create particles and particlespawners."
|
| |
|
| |
|
|
|
|
|
| |
* Proselytize the network. Use IEEE F32
* Remove unused V2F1000 functions
|
|
|
|
|
|
|
| |
Includes newer style changes and fixes by est31
Improve the block position de-serialization
Add type NodeMetadataMap
|
|
|
|
|
| |
Update Android.mk
Remove 'src/client' from include_directories
|
|
|
|
| |
Use the CSM death formspec when CSM is enabled and use the engine death formspec when CSM is disabled.
Move the CSM death formspec code to a dedicated file.
|
|
|
|
| |
Breaks backwards compatibility for good
Bump protocol version
|
|
|
|
|
|
| |
Also set it to false for node dig particles, as they are often created
and high in number.
Improve particle documentation.
|
|
|
|
| |
& Satisfy LINT
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Cleanup sound manager client
* Use some const refs
* Use auto on iterators
* Drop unused parameters
* Move sound_openal.* to client folder
* Move sound.cpp + OnDemandSoundFetcher to client/ folder + reorganize includes properly
|
| |
|
|
|
| |
The CSM HUD PR caused some strange behavior including aborts due to parts of it using some slightly hacky code, the event refactor changing how events are processed and a minor oversight.
|
| |
|
|
|
|
|
|
| |
* [CSM] Add basic HUD manipulation.
Workaround for on_connect not working right now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Attempt to add registration confirmation
Using SRP auth mechanism, if server sent AUTH_MECHANISM_FIRST_SRP that means the player isn't exist.
Also tell player about the server and chosen username.
Local game has localhost as IP address of the server.
Add RenderingEngine::draw_menu_scene() to draw GUI and clouds background.
aborted -> connection_aborted
* Rewrite information message text
Client::promptConfirmRegister() -> Client::promptConfirmRegistration()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Also remove the setting 'send_pre_v25_init'
Keep old enum entries for obsolete commands
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
Flag default is true to not change default behaviour.
The existing minimap HUD flag remains the master control for minimap.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* [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
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
* Sound: Add pitch option
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
| |
* When minimap is disabled in configuration, really disable it
|
| |
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
| |
Remove useless `got_teleported`.
Fix jitter when walking against the sneak limits.
Fix damage evading on sneak ladders.
|