Master password dialog

The master password dialog is the first thing that appears when you launch DuckClient.

DuckClient encrypts the passwords it stores for you, using a master password you supply.

If you click Cancel, you will still be allowed to continue, but automatic login will be disabled.


The connect dialog opens automatically after you enter your master password. It can also be accessed by clicking Connect… in the top menu bar.

The connect dialog has two modes, Quick Connect and Saved Connection. If you have not entered any world information, only Quick Connect will be available.

Quick Connect options

World editing

The world editing dialog is available by clicking Edit, Worlds….

The world edit dialog allows editing both world (server) and character settings.

World settings


Triggers are used to change the text style to highlight certain text passages, or to gag (ignore) undesired text. They can be very useful to highlight text lines, such as pages and whispers, that you want to stand out from the rest of the text on the screen. DuckClient has a simple but powerful trigger system that can match patterns based on either wildcards or regular expressions.

Edit Triggers dialog

When you click "Triggers" in the menu bar, the "Edit Triggers" dialog will appear. At the top is a drop-down list to select which world to edit triggers for; triggers in DuckClient are world-specific. The default is the current open world, if there is one. All changes to trigger settings take effect immediately for new text arriving on any open copies of the world, for ease of fine-tuning.

Below the drop-down list is the trigger list for the selected world. If you haven't created any triggers yet, it will be empty. Next to it are up/down buttons that can be used to control the order in which triggers are executed; simply highlight a trigger in the list and click up or down to move it.

Below the trigger list are buttons to add and delete triggers, or copy them to another world. Copying triggers can be useful if you have characters on more than one world that uses the same type of server.

Pattern types

DuckClient supports two kinds of trigger patterns: Wildcards, and regular expressions (regexps).

Wildcard patterns

Wildcard patterns use a simplified version of the same pattern substitution used by the DOS prompt or UNIX shell; this is sometimes known as a "glob" pattern. The character * matches any number of characters (including none), and the character ? matches exactly one character. The entire line must be matched for the trigger to activate.


Regexp patterns

Regular expressions allow creating much more complex and specific patterns. The topic of regular expressions is a complicated one, and won't be described in depth here, as there are many useful tutorials online; DuckClient uses JavaScript regular expressions, which are very similar to Perl regular expressions, so a tutorial specific to one of those languages will tell you what you need to know about regular expression syntax. Examples below show some of what's possible:


It's possible to construct regexp patterns that are invalid and impossible for DuckClient to parse; for example, by having mismatched parenthesis. If this happens, the small checkmark to the right of the pattern box will change to an exclamation point, and the trigger will be ignored until the problem is corrected.

Character name substitution

The string %username% will always be replaced with the current character name, in either type of pattern, if auto-login was used to connect. This facilitates making triggers for worlds where you have more than one character. For example, the wildcard pattern %username%* can be used to highlight any line starting with your character name.

Trigger actions

The bottom left portion of the trigger edit dialog selects what will happen to a line of text that matches the pattern.

Main action

Additional actions (checkboxes)


Clicking "Preferences" in the menu bar presents a dialog with some miscellaneous, non-world-specific settings.

App behavior preferences

Activity notifications

Output appearance

This section is pretty self-explanatory. Font selection and size are stored only locally, and not synced to Chrome storage, because the choices for these will often vary from machine to machine. Note that entering a font name that does not match any font on the system will cause DuckClient to revert to your system's default web font.

Tor Proxy Settings

Important considerations

DuckClient can make connections through a Tor proxy, for enhanced privacy. Before using this feature, keep in mind the following limitations: With that in mind, there are some situations where Tor can be useful:


Important: The settings above are not enough; you MUST make sure that Tor is enabled in the world settings before connecting.


To make it harder to identify connections coming from DuckClient, the following telnet negotiation commands are disabled while using Tor:

Getting Tor

These days it's pretty easy to get Tor up and running.

It's highly recommended that you read the list of warnings linked from the Tor download page, so you understand better how to preserve your privacy. You may also want to read the FAQ, especially if you're in a situation where your connection is heavily filtered.

The main interface

Once a world is open, an interface will appear with (from top to bottom) world tabs, an icon bar, an output window, and an input area.

World tabs

If you have multiple worlds open, clicking the tabs will allow you to switch between them. The names of background worlds that have activity will turn red and underlined on their tabs. You can also cycle through open worlds with Ctrl-Tab and Ctrl-Shift-Tab.

Icon bar

The icon bar has a status indicator on the left to show the state of the connection, and a series of small icon buttons on the right. Hovering the mouse over one will show a description of its function.

and reduce and enlarge the font size. These have exactly the same effect as changing the font size in the "Preferences" dialog, but are included here for convenience.

indicates the current logging status; it will have a filename next to it, if logging is enabled, or "No log" if it is not. Clicking the icon will toggle logging for the current world. Note that while Chrome will warn you about overwriting the file if you pick an existing file, DuckClient will actually append to the file.

appears when you've scrolled the output window back to read previous text. It indicates that normal scrolling to the bottom when new text arrives has been paused. To resume normal scrolling, scroll down to the most recent text, click the pause icon, or send a command from the input box.

pops the current tab out into its own window. The window can be popped back in as a tab using the matching icon on its icon bar.

shows a list of windows associated with the current world. This includes previously closed trigger windows. Clicking an item in the list will raise it to the foreground, or re-open it, as needed. Re-opened trigger windows will have their scrollback intact.

will cause the current world to be disconnected (if it's currently connected), then attempt to establish a new connection. It's useful for reconnecting to a world after a network problem has caused your connection to time out, or if you've accidentally quit a world and want to reconnect without losing your scrollback.

will disconnect from the current world (if connected), close its tab, and close the log file (if logging is enabled.)

URLs    controls URL detection. Uncheck to stop DuckClient from scanning incoming text for URLs.

Auto-\    is only available when connected to a MUSH-type server. When checked, DuckClient will automatically add a backslash (\) in front of characters that the MUSH parser would otherwise consume, like % and [. If you're editing MUSHcode, you may need to enter these characters un-escaped; in that case, you can turn off this feature by clicking the checkbox.

opens a search field; typing text here will search for it in the scrollback of the current world.

Input area

Text to be sent to the server can be typed in the large, white input box. Hitting Enter or clicking the large Send button on the right will send the current text and clear the input box. The small up/down arrows to the left allow retrieving previous commands from the command buffer; you may also press Ctrl-Up and Ctrl-Down, or Ctrl-P and Ctrl-N.

Summary of keyboard shortcuts

Keyboard commandAction
Ctrl-TabCycle through open tabs
EnterIn the input box, send the current text to the server
Ctrl-Backspace or Ctrl-WIn the input box, delete the word to the left of the cursor.
Ctrl-Up or Ctrl-PRecall previous command
Ctrl-Down or Ctrl-NRecall next command
Ctrl-UClear the input box
Ctrl-FOpen the search bar

Miscellaneous technical details

Telnet negotiation

DuckClient recognizes the following RFC854 telnet negotiation options: In order to avoid negotiation loops, DuckClient will never transmit the same telnet negotiation response twice, except when indicating the end of the terminal type list. * This option is disabled when connecting through Tor.

Release Notes

Known issues

Version 5.6

Version 5.5

Version 5.4

Version 5.3

Version 5.2

Version 5.1

Version 5.0

Version 4.5

Version 4.4

Version 4.3

Version 4.2

Version 4.1

Version 4.0

Version 3.8

Version 3.6

Version 3.5

Version 3.4

Version 3.3

Version 3.2

Version 3.1

Version 3.0

Version 2.2

Version 2.1

Version 2.0

Version 1.2

Version 1.1

Version 1.0

Version 0.38 (release candidate 5)

Version 0.37 (release candidate 4)

Version 0.36 (release candidate 3)

Version 0.35 (release candidate 2)

Version 0.34 (release candidate 1)

Version 0.33 (beta)

Version 0.32 (beta)

Version 0.31 (beta)

Version 0.30 (beta)

Version 0.29 (beta)

Version 0.28 (beta)

Version 0.27 (beta)

Version 0.26 (beta)

Version 0.25 (beta)

Version 0.24 (beta)

Version 0.23 (beta)

Version 0.22 (beta)