| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
This was caused by the use the non-threadsafe SharedBuffer in a
threaded context.
|
| |
|
| |
|
| |
|
|
|
|
| |
Thanks @Zeno-
|
|
|
|
|
|
|
| |
This was needed due to the TileDef serialisation changes. Originally it has been planned
to also add utf-8 based chat to 26, but chat changes aren't final yet, so they are done
in one change, after the release, and not two small ones, causing us having to be compliant
to three versions of the packet.
|
|
|
|
|
|
| |
Enable the server to request the client to reconnect.
This can be done with the now extended minetest.request_shutdown([reason], [reconnect]) setting.
|
|
|
|
|
| |
-> Fix server crash with protocol >=25 if a default password is set.
-> Remove some useless and possibly confusion causing code for the TOCLIENT_FIRST_SRP packet handler
|
| |
|
| |
|
|
|
|
| |
Improve TOCLIENT_ACTIVE_OBJECT_MESSAGES robustness for handling invalid data
|
| |
|
|
|
|
|
| |
Use wide_to_utf8 and utf8_to_wide instead of wide_to_narrow and narrow_to_wide at almost all places.
Only exceptions: test functions for narrow conversion, and chat, which is done in a separate commit.
|
|
|
|
|
|
|
|
| |
Previously, m_proto_ver was set to the serialisation version
inside the legacy init packet.
Now, if the server doesn't send a protocol version (protocols < 25),
we set m_proto_ver to some value < 25 and > 0.
|
| |
|
|
|
|
|
| |
Fix grammar error and missing number conversion for version.
Also add deployed protocol to log line.
|
| |
|
|
|
|
|
|
|
|
| |
* Use enum for GENERIC_CMD_*
* Rename m_attachements to attachement_parent_ids (public member and clearer name)
* Rename GENERIC_CMD_SET_ATTACHMENT to GENERIC_CMD_ATTACH_TO
* USHRT_MAX + 1 buffer sizes to prevent overflows as @kahrl suggested
* Remove unneccessary m_id from GenericCAO (shadowing protected superclass member for no reason) as @kahrl suggested
|
|
|
|
| |
Thanks to @UltimateNate for pointing this out :)
|
|
|
|
|
|
| |
Also, clean up surrounding code style
Replace by-value parameter passing with const refs when possible
Fix post-increment of iterators
|
|
|
|
|
| |
Its a possible mistake to log in to a server with twice the same name.
Before, it triggered a server wide error message, now it logs to actionstream.
|
|
|
|
| |
Also rename method to better match what it does.
|
|
|
|
| |
This enables srp.
|
|
|
|
|
|
|
| |
Adds everything needed for SRP (and everything works too),
but still deactivated, as protocol v25 init packets aren't final yet.
Can be activated by changing the LATEST_PROTOCOL_VERSION header to 25
inside networkprotocol.h.
|
| |
|
|
|
|
| |
Also fix std::logic_error when server::DenyAccess() is used with only two arguments.
|
|
|
|
|
|
|
| |
Change types for passed password from wstring to string, which removes converting
back and forth in most cases. Move the narrow_to_wide conversion, where its neccessary,
closer to irrlicht. Remove trailing spaces in guiPasswordChange.cpp. Make parameters for
translatePassword passed as const reference.
|
| |
|
|
|
|
|
|
| |
exception.
Also set the packet size at creation not when pushing rawString, no functional change
|
| |
|
|
|
|
| |
This seems to be a debug message which has been forgotten to be removed.
|
|
|
|
| |
which can be unreliable
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move debug streams to log.cpp|h
Move GUI-related globals to clientlauncher
Move g_settings and g_settings_path to settings.cpp|h
Move g_menuclouds to clouds.cpp|h
Move g_profiler to profiler.cpp|h
|
|
|
|
| |
Use a common function to check the reading offset
|
|
|
|
|
|
|
| |
Because we get a Buffer<u8> from ConnectionEvent, don't convert it to SharedBuffer<u8> and return it to Server/Client::Receive which will convert it to NetworkPacket
Instead, put the Buffer<u8> directly to NetworkPacket and return it to packet processing
This remove a long existing memory copy
Also check the packet size directly into Connection::Receive instead of packet processing
|
|
|
|
| |
remove command from queue on success, else do nothing, instead of remove command from queue and push it front on success
|
| |
|
| |
|
|
|
|
| |
on front, not back
|
|
|
|
| |
This removes a lot of narrow/wide conversions where a wide string was never used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Combine client and server man pages.
* Update unit test options and available databases in man page.
* Add `--worldname` to man page.
* Fix a bunch of places where `"Minetest"` was used directly instead of `PROJECT_NAME`.
* Disable server build by default on all operating systems.
* Make `ENABLE_FREETYPE` not fail if FreeType isn't found.
* Enable LevelDB, Redis, and FreeType detection by default.
* Remove the `VERSION_PATCH_ORIG` hack.
* Add option to search for and use system JSONCPP.
* Remove broken LuaJIT version detection.
* Rename `DISABLE_LUAJIT` to `ENABLE_LUAJIT`.
* Rename `minetest_*` variables in `version.{h,cpp}` to `g_*`.
* Clean up style of CMake files.
|
|
|
|
|
|
|
|
| |
SendInventory per inventory modification
Client doesn't like to receive multiples SendInventory for one action, this can trigger glitches on clients (sometimes due to incorrect UDP packet ordering due to UDP protocol)
This fix issue #2544
|
|
|
|
|
|
| |
NetworkPacket::oldForgePacket returns Buffer instead of SharedBuffer and is used in ConnectionCommand instead of Connection::Send
This remove the NetworkPacket buffer => SharedBuffer => Buffer copy. Now NetworkPacket => Buffer
|
|
|
|
| |
This call was missing when change looping to triggering SendInventory: 1b2f64473ed4f222d3b7f02df853730d4382105e
|
| |
|
|
|
|
|
|
| |
pointers. Also store the reserved byte to use API properly
Fixes #2509
|
|
|
|
|
| |
* Requested by @Zeno-
* Approved by @nerzhul
|
|
|
|
| |
* Mods can do setHP function to do damages and override the enable_damage value sometimes
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* TOSERVER_INIT and TOCLIENT_INIT renamed to _LEGACY
* TOSERVER_PASSWORD merged from dev-0.5, can use protocol v24 and v25
* TOCLIENT_ACCESS_DENIED merged from dev-0.5, can use protocol v24 and v25, with normalized strings an a custom id for custom errors
* new TOSERVER_INIT packet only send MT version, supported compressions, protocols and serialization, this permit to rework everything later without break the _INIT packet
* new TOSERVER_AUTH packet which auth the client
* new TOCLIENT_HELLO packet which send server serialization version atm
* new TOCLIENT_AUTH_ACCEPTED which is send when TOCLIENT_AUTH was okay. After this packet, the client load datas from servers, like after TOCLIENT_INIT_LEGACY packet
|