Notes on MMCP
Jump to navigation
Jump to search
Current development work is taking place in PR 7155.
Code | Name | Purpose | Supported by Mudlet |
---|---|---|---|
0x01 (1) | Name Change | Yes | |
0x02 (2) | Request Connections | Use to get Peer's other (public) connections so that this client can connect to those as well | Yes |
0x03 (3) | Connection List | Use to give reply to "Request Connections" with a comma delimited "address, port" list | Yes, but may not be processed to make those connections yet |
0x04 (4) | Chat everyone | Message to be sent to all Peers | Yes |
0x05 (5) | Chat personal | Message to be sent to addressed Peer only | Yes |
0x06 (6) | Chat group | Message to be sent to addressed Group only | Yes |
0x07 (7) | Message | System message, e.g. a message about something changing in the Chat system | Yes |
0x08 (8) | Do not disturb | Unclear - listed in Mudhalla information | Unclear |
0x13 (19) | Version | Details of the peer, i.e. client name and version | Need to check how/when used |
0x14 (20) | File start | Request to initiate file transfer (sent from sender) | Not yet |
0x15 (21) | File deny | Reject a "File start" (sent from intended receiver) | Not yet |
0x16 (22) | File block request | Accept a "File start" and request next (even the first) 500 byte chunk of file (without an END marker) | Not yet |
0x17 (23) | File block | Next block of data in response to 22 | Not yet |
0x18 (24) | File end | Sent by the recipient to indicate reception of last block if it is not exactly 500 bytes | Not yet |
0x19 (25) | File cancel | Terminates file transfer (can be sent from either end) | Not yet |
0x1A (26) | Ping request | Initiates a Ping | Yes |
0x1B (27) | Ping reply | Response to a Ping | Yes |
0x1C (28) | Peek connections | Use to get Peer's other (public) connections | Yes |
0x1D (29) | Peek reply | Response to a Peek request, in a '~' delimited list (address~port~name~...) | Yes |
0x1E (30) | Snoop request | Request to start or stop snooping data from a peer, the recipient decides whether to allow it or not | Yes |
0x1F (31) | Snoop data | Data sent by the recipient if it allows a snoop, the data should be echoed by the peer that sent the request but not be further forwarded | Yes |
0xE0 (240) | Mudlet side channel | Additional thing put in by creator of PR | Yes |
0xFF (255) | End of command | Marks the end of most messages (note that the byte value is not valid for UTF-8 but is for most extended ASCII encoding - so has to be processed at the socket side of the connection after/before it is output from/input to an encoder of a peer | Yes |
Function | MudMaster | MUSHClient | TinTin++ | Mudlet |
---|---|---|---|---|
Set incoming port number to P | #accept P | #CHAT {INIT} {P} | chatStartServer(P[, "IPAddress")
"IP Address" is what is advertised to peers that third parties can use to connect to us | |
Call another person on Address A.A.A.A, Port P | #chat A.A.A.A [P] | #CHAT {CALL} {A.A.A.A} {P} | chatCall("A.A.A.A"[, P]) | |
List connections | #chats | #CHAT {WHO} | chatList() | |
More information about peer | #chatdetails <name> | |||
Send chat message_text to everyone | #chatall message_text | #CHAT {MESSAGE} {ALL} {message_text} | chatAll("message_text") | |
Send chat message_text to someone | #chat someone message_text | #CHAT {MESSAGE} {someone} {message_text} | chat("someone", "message_text") | |
End call to someone | #hangup someone | #CHAT {ZAP} {someone} | unchat("someone") | |
End all calls | #hangupall | #CHAT {ZAP} {ALL} |
Links to reference material
- MMCP Scandum's Mudhalla reference material.
- ZChat Zugg's notes (archive copy to ensure preservation).
- Post on MUSHClient forums where I start to discuss MMCP, Mudlet and extending the protocol to get hints on encoding and language/locale.