Register to post in forums, or Log in to your existing account
 

 Related 
Contents
Feature Reference
  Aliases
  Macros
  Variables
  Functions
  Classes
  Triggers
  Buttons
  Gauges
  Paths
  Menus
  Events
  Modules
  Windows
  Packages
  Shared Package Library
  Package Editor
  Docked Windows
  Customizeable Toolbars
  Sessions
  Expressions
  Automapper Module
  Database Module
  Syntax Checking
  Tab Completion
  Status items
  Preferences
  Simutronics Support
  Pueblo Emulation
  Keyboard shortcuts
  MXP
  Threads
  ATCP
  Script Debugger
  Timestamps
  Lua Scripting
ATCP [[cmud_atcp]] 
Added in v2.03
ATCP is the Achaea Telnet Communication Protocol. It's used in a number of MUDs by Iron Realms Entertainment, and CMUD supports it.

Supported Commands

The following ATCP commands are supported:

AUTH: Auth.Request is sent to validate CMUD's ATCP support. This is transparent and automatic when you have ATCP enabled in your Session preferences. CMUD sends the following list of packages that are supported:

auth 1,char_name 1,char_vitals 1,room_brief 1,room_exits 1,composer 1,ping 1

CHAR_NAME, CHAR_VITALS: Currently ignored, but you can intercept them with a Telnet trigger if you want to process them yourself. Detailed examples below.

ROOM_BRIEF: Sends the room name to the mapper.

ROOM_EXITS: Sends the room exits to the mapper.

COMPOSER: Opens a new tab in the text editor and allows you to edit the file. The Save button in the editor toolbar will send the edited file back to the MUD and close the editor tab. The Cancel button in the editor toolbar will cancel editing and close the editor tab. When you activate the Composer, keyboard focus switches to the editor window. When you use Save or Cancel, keyboard focus returns to the MUD window.

PING: Currently ignored.

Using ATCP with the mapper

Use the autoconfiguration wizard to configure the mapper. Enter a valid movement direction and click Next. Uncheck the "Room Description" box and click next, then click Finish. The wizard won't highlight the MUD text properly, but that doesn't matter. From this point on, the mapper should Just Work.

Using ATCP with Telnet Triggers

You can create telnet triggers for any of the ATCP commands that CMUD supports - triggers that you've created override the default behaviour of CMUD in response to that command.

The two that you're most likely to trigger on are Char.Vitals and Char.Name. Char.Name is just a simple string containing your character name, and this trigger should capture it:

#trig {Char.Name (%w)} {#var CharName %1} "" {telnet|param=200}

If you're creating an ATCP trigger in the Package Editor, you simply select the Telnet type from the Type dropdown. A box for you to enter the Telnet option number appears - for ATCP, this number is 200.

The Char.Name command also has a second line, which should be your whole name, plus any titles and family names.

#trig {Char.Name (%w)$(*)} {#var CharName %1;#var FullName %2} "" {telnet|param=200}


Char.Vitals is more difficult to match because it's slightly different for each MUD. You can use this trigger:

#trig {Char.Vitals$(*)} {#say %1} "" {telnet|param=200}

To display whatever vitals the server is sending. You can then create a trigger pattern the same way you would with your prompt and replace the (*) in the pattern with that.

ATCP and MCCP

There is a bug in Iron Realms' code that can cause invalid data to be sent, especially when using the Composer option, if MCCP is enabled. CMUD will automatically disable MCCP if ATCP is enabled.

ATCP in CMUD and Mudbot

Mudbot removes the ATCP data from the stream that it passes to the client. This means that you can't use ATCP triggers within CMUD. If you want to do so, you need to pass on the ATCP data in some way, probably by using the ILua plugin to echo the text to the screen, with some string in front that you trigger on and then gag.

 User comments 
daranel: Sat Jan 10, 2009 4:18 pm    

There is also a bug in the ACTP implementation of Imperian: When a room is entered, the information for both the brief description and exits is sent twice, but the exit information in the first batch is incorrect and always includes all possible exits (i.e., the eight directions plus in and out). When using the LOOK command, the brief and exits are sent only once, but the exit information is the one with all the exits, not the correct one.

As far as I'm aware, other IRE muds do not suffer from the same problem.
campeador: Tue Jun 15, 2010 2:46 pm    

Thanks man. This is the single most useful article I've read on ATCP and how to use it within CMUD. Very Happy
Viewer Comments [2 - Post your comments]

Jump to:  

© 2009 Zugg Software. Hosted by Wolfpaw.net