mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
[CSM] Add send_chat_message and run_server_chatcommand API functions (#5747)
* [CSM] Add send_chat_message and run_server_chatcommand API functions * Add client-side chat message rate limiting * Limit out chat queue size * [CSM] Add minetest.clear_out_chat_queue API function and .clear_chat_queue chatcommand * Last fixes/cleanups before merge
This commit is contained in:
parent
ec490abf58
commit
39f4a2f607
9 changed files with 111 additions and 6 deletions
|
@ -38,6 +38,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
#include "tileanimation.h"
|
||||
#include "mesh_generator_thread.h"
|
||||
|
||||
#define CLIENT_CHAT_MESSAGE_LIMIT_PER_10S 10.0f
|
||||
|
||||
struct MeshMakeData;
|
||||
class MapBlockMesh;
|
||||
class IWritableTextureSource;
|
||||
|
@ -360,6 +362,7 @@ public:
|
|||
const StringMap &fields);
|
||||
void sendInventoryAction(InventoryAction *a);
|
||||
void sendChatMessage(const std::wstring &message);
|
||||
void clearOutChatQueue();
|
||||
void sendChangePassword(const std::string &oldpassword,
|
||||
const std::string &newpassword);
|
||||
void sendDamage(u8 damage);
|
||||
|
@ -565,6 +568,8 @@ private:
|
|||
inline std::string getPlayerName()
|
||||
{ return m_env.getLocalPlayer()->getName(); }
|
||||
|
||||
bool canSendChatMessage() const;
|
||||
|
||||
float m_packetcounter_timer;
|
||||
float m_connection_reinit_timer;
|
||||
float m_avg_rtt_timer;
|
||||
|
@ -612,6 +617,9 @@ private:
|
|||
//s32 m_daynight_i;
|
||||
//u32 m_daynight_ratio;
|
||||
std::queue<std::wstring> m_chat_queue;
|
||||
std::queue<std::wstring> m_out_chat_queue;
|
||||
u32 m_last_chat_message_sent;
|
||||
float m_chat_message_allowance;
|
||||
|
||||
// The authentication methods we can use to enter sudo mode (=change password)
|
||||
u32 m_sudo_auth_methods;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue