I can't find an explicit limit, although I admit I didn't look too hard (looking through [1]). I do imagine that there would be a 'sensible' limit of 1024, or 2048 based on what you said.
Technically, everything is in the same stream of bits and bytes. The only method to get at said data in MUSHclient is through OnPluginPacketReceived, where you can filter it out also.
Out of curiosity, is there any limit on the amount of data that can appear (from server to client) inside the telnet negotiation sequence? I saw a reference to 2048 bytes, but that was from client to server.
I'm proud to release ATCP v2.0! This version replaces the old interface with a PPI-exposed pair of methods, allowing client code to register method callbacks. It also requires MUSHclient v4.46, in preparation for the public release of PPI, but you could get PPI separately and change the version requirement if you really wanted.
The full ATCP plugin is posted in the next post due to length. I've pasted my Roomname plugin here, as an example of how to use the new ATCP interface.
<!DOCTYPE muclient>
<muclient>
<plugin
name="roomname"
author="Soludra"
id="e94f6bd8509a2b00d10cb226"
language="Lua"
purpose="Adds a Nexus room name to the status bar"
date_written="2008-08-23"
date_modified="2010-01-15 12:27:00"
requires="4.35"
version="2.0"
>
</plugin>
<script><![CDATA[
-- Used to load the ATCP interface
PPI = require("ppi")
-- Will contain the ATCP interface
atcp = nil
-- Executed when you get an ATCP message!
OnRoomBrief = function(message, content)
SetStatus(content .. ".")
end
-- Use this to load the ATCP library
OnPluginListChanged = function()
local atcp, reloaded = PPI.Load("7c08e2961c5e20e5bdbf7fc5")
if not atcp then
-- Normally, you might put an error or a warning note here.
-- Roomname won't do anything if ATCP isn't available, so
-- it's safe to leave it running until ATCP comes online.
elseif reloaded then
-- Registers a function to call when Room.Brief is received.
atcp.Listen("Room.Brief", OnRoomBrief)
-- Sets the local 'atcp' variable to the global created before.
_G.atcp = atcp
end
end
]]></script>
</muclient>
Amended on Thu 23 Apr 2009 01:09 AM (UTC) by Twisol
Message
Uploaded a new version to http://www.jonathan.com/atcp/atcp.xml, to fix a bug related to enabling modules more than once. (Would appreciate it if your mushclient.com version was replaced, too?)
I think it is the same kind of reason you had VHS and Betamax, with the latter losing even though it predated VHS and was superior. It just gains more popularity because more people use it.
After reading your description of ATCP, it looks like it's basically the same idea: a way to communicate information without using the main communication channel.
David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.