mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Implement mod communication channels (#6351)
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
This commit is contained in:
parent
6df312a608
commit
6f1c907204
37 changed files with 1206 additions and 39 deletions
10
src/client.h
10
src/client.h
|
@ -52,6 +52,7 @@ class IWritableNodeDefManager;
|
|||
//class IWritableCraftDefManager;
|
||||
class ClientMediaDownloader;
|
||||
struct MapDrawControl;
|
||||
class ModChannelMgr;
|
||||
class MtEventManager;
|
||||
struct PointedThing;
|
||||
class MapDatabase;
|
||||
|
@ -224,6 +225,8 @@ public:
|
|||
void handleCommand_LocalPlayerAnimations(NetworkPacket* pkt);
|
||||
void handleCommand_EyeOffset(NetworkPacket* pkt);
|
||||
void handleCommand_UpdatePlayerList(NetworkPacket* pkt);
|
||||
void handleCommand_ModChannelMsg(NetworkPacket *pkt);
|
||||
void handleCommand_ModChannelSignal(NetworkPacket *pkt);
|
||||
void handleCommand_SrpBytesSandB(NetworkPacket* pkt);
|
||||
void handleCommand_CSMFlavourLimits(NetworkPacket *pkt);
|
||||
|
||||
|
@ -424,6 +427,11 @@ public:
|
|||
return m_csm_noderange_limit;
|
||||
}
|
||||
|
||||
bool joinModChannel(const std::string &channel);
|
||||
bool leaveModChannel(const std::string &channel);
|
||||
bool sendModChannelMessage(const std::string &channel, const std::string &message);
|
||||
ModChannel *getModChannel(const std::string &channel);
|
||||
|
||||
private:
|
||||
|
||||
// Virtual methods from con::PeerHandler
|
||||
|
@ -580,4 +588,6 @@ private:
|
|||
// CSM flavour limits byteflag
|
||||
u64 m_csm_flavour_limits = CSMFlavourLimit::CSM_FL_NONE;
|
||||
u32 m_csm_noderange_limit = 8;
|
||||
|
||||
std::unique_ptr<ModChannelMgr> m_modchannel_mgr;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue