What's new in recent builds¶
This page describes the new features added and changes made to each build. You can browse through each build using headings.
- Add a feature to prevent some games from disconnecting you based on "idle out" (#157). This simply sends empty commands randomly to the server. Notice that most game servers forbid this kind of automatic playing.
- Add the
#randplayfunction, to randomly play a sound from a list of files (#118).
- CocoMUD now recognizes and act according to the Telnet Go-Ahead (#130). In non-technical terms, users should see an improvement in CocoMUD's behavior when receiving long blocks of text that used to be cut in the middle.
- Add the first version of delays in CocoMUD, paving the way for timers, speed walking and such (#156).
- The notepad dialog, used to write/read notes in CocoMUD, doesn't hide the client window anymore (#158). It is possible to have them both open at once.
- CocoMUD now correctly handles the action to repeat the last entered command in the history (#151). This means you can configure a
!alias to repeat the last command.
- Fix a bug to use macros using the minus of the numeric keypad (#154).
- Fix a bug preventing importing a world from a file (#152).
- Fix a bug with macros using the combination
ALT + Xor
ALT + Shift + X(#149).
- Creating a new character is only the default choice if no character exists in this world (#147).
- Fix a bug where CocoMUD crashed on opening the SharpScript console (#146).
- Complete optimization of the output window (#133). Unfortunately, some users are still complaining about strange sluggishness, but as it is, no better solution has been found, except clearing the output window.
- Add an updater to make sure future releases don't break compatibility with CocoMUD (#153).
- CocoMUD is now available in Spanish! Many thanks to the contributor who helped in translating CocoMUD in this language and offered additional help during this build.
- CocoMUD now runs on Python 3, instead of Python 2 (#128). Some minor errors with compatibility may still exist, please report if you find any.
- Macros and other scripting configuration shouldn't run in the wrong window, resulting in conflicting game play when running the same world in different tabs (#136).
- CocoMUD now supports playing audio files in .mp3, .wav and .ogg formats. The old dependency on
Pygamewas replaced with a much lighter and more efficient library (#134).
- The console window is now hidden whenever updating (#135). This is still a work in progress in designing a better updating system.
- The Python console was removed from the File menu. A new menu named Tools was added to support more advanced tools.
- A SharpScript console was added in the Tools menu. If you have been using CocoMUD for a long time, you may remember one could enter SharpScript commands (like
#say) directly in the client. This was removed as it created issues. Now you can enter your custom configuration in this SharpScript console (#138).
- CocoMUD now takes an optional command-line argument to run a different configuration directory. That is, you can run CocoMUD's version but give it a different directory than the current directory. This feature is not likely to be used by many but it now exists (#139). For instance:
- The notification counter used to increase even with messages that were interpreted by mute triggers. This is now fixed (#127).
- CocoMUD used to crash on opening if no Internet connection was available. This is now fixed (#132).
- A regression problem was fixed, which prevented to load and run characters (#141). Also note that your world and character configuration (mainly your
config.setfiles for the time being) will be converted to the utf-8 encoding from now on, since this encoding is much more appropriate to the international spreading of CocoMUD.
- Errors in the Python console weren't displayed correctly. This is now fixed (#142).
- Colors in game weren't always displayed. This is now fixed (#144).
- Note for developers: CocoMUD now runs and build with
pipenv, which makes it much easier to develop and support all CocoMUD's dependencies. Some additional documentation will shortly be posted.
- A new option in the menu bar (Game -> Channels) allows to edit channels. You will find the documentation on channels here (#120).
- A new sharp script function
#randplayhas been added, to play a random sound in a list. This function is usable but not yet present in the graphical user interface.
- Some work has been done on general configuration. This will be available on the next update.
- One can now clear the output window through the menu Game -> * Clear the output window* (#64).
- Several fixes on importing worlds from the website (#123).
- Fixes the error in changing preferences (#125).
- You can now easily export a world in a ZIP archive, choosing what you want to export (File -> Export this world). You can share this file and others can import it through File -> Import a world (#86).
- CocoMUD better handles the clipboard and pasting, particularly under Linux (#106). It also provides a checkbox to disable auto send when pasting text (#91).
- CocoMUD now supports and displays both wav and OGG files for playing sounds (#112).
- Rich-text was disabled by default to offer a better user experience with fewer bugs (#114).
- Several bug fixes and improvements under Linux (#105, #106).
- CocoMUD now opens and correctly closes preferences when the user language isn't supported (#108).
- Importing a world from the website doesn't generate encoding errors anymore (#117).
- CocoMUD now displays text using a more appropriate font, thank you again, sighted contributors.
- Note: for compatibility reasons, file encoding was updated. CocoMUD should support older versions of configuration files and convert them at startup, but there might be issues with some heavily modified configuration with special characters.
- Command stacking is now working again and systematically checked (#98).
- Command stacking now supports special characters (#99).
- CocoMUD better handles variables if their value contains special characters (#93).
- CocoMUD no longer makes the screen reader freeze (#96).
- CocoMUD now supports the SSL protocol, to encrypt the telnet connection (#94).
SSL is not supported by all games, and is usually set on a different port than the plain telnet protocol.
- Add a new menu item to disable trigger sounds (#89).
- Add a SharpScript action to repeat the last command (#85):
This action, called
#repeat, can be used to repeat the last entered command or send a command multiple times. It can easily be connected to a macro.
- When pressing a shortcut to a macro, go to the end of the window (#80).
- Fix several conflicts when opening the same world in different tabs (#90).
- Add a documentation file to download and install CocoMUD.
- Add shortcut keys to add, edit or remove in all dialog boxes (#87).
- Add the triggers with substitution (#79):
Triggers can now handle substitution, that is replace one or more lines in the client.
- Update proper colors with the rich-text setting.
- Fix a bug with the cursor moving a bit randomly when several tabs were opened (#53).
- Add default characters (#77):
In the character dialog, one can now specify that a character should be loaded by default. When selecting a world in the connection list, the default character of this world (if any) is automatically selected. This saves time if you often login to the same character of a world, and doesn't prevent login on others.
- When creating a new character with special characters (like accents), CocoMUD doesn't crash at startup (#78).
- When CocoMUD loses connection, it will attempt to reconnect and enter the username / password if a character is set (#67):
This fix is not perfect, it remains difficult to handle connection errors.
- When no update is available, the message is correctly displayed (#75).
- Add a setting to disable rich text control (#82).
You will find this setting in the menu bar, File -> Preferences, Accessibility tab. Disabling the rich text control can be useful for accessibility, although it removes colors from the client.
- Creating a new world and closing the dialog does not lead to an error (#69).
- Fix a bug when closing all tabs in the client.
- Add a button to import a world right in the connection window (#60):
It is now possible to import a world before connecting (which makes more sense in most cases). Simply click on the Import button in the connection window and select whether you want to import a world online or on disk.
- Display a dialog box to announce the world was correctly installed (#63).
- Installing a world with channels doesn't create "popup" windows (#81).
- Restarting CocoMUD after installing a new world isn't required anymore.
- Add notepads for each world and characters (#62):
CocoMUD now keeps track of separate files, where you can store any information, like exploring landmarks, quest reminders and so on. You have a specific notepad for each world, which can be opened through the menu bar -> Game -> Notepad -> For this world... menu. Simply type in your text, press Escape when you want to close it and save it. The same system holds true for character-specific notepads, which you can open in the menu bar, Game -> Notepad -> For this character... menu. This second notepad will not be accessible through other characters of this world.
- Add a documentation for macros.
- Add the mark triggers in the trigger dialog (#30).
- Allow triggers without action (most useful for mark triggers).
- Fix several visual errors in the interface.
- Add the ability to configure characters in worlds (#61):
This feature allows to create several characters per world. Characters can contain more specific configuration (like aliases, macros or triggers), but also login information. A character will store the information in an encrypted file, to login more quickly.
To create a character, choose a world from the list in the connection area, then press tab and select "any" (the default choice). Press RETURN or click the connect button. You have opened a random character associated with this world. To now save it, go to the menu bar, game -> Change this character's setting.... In this dialog, enter a name for the newly-created character, a username (or a list of commands to be sent before the password), the password itself and then a list of commands to be sent after the password (if any). Click OK to save in an encrypted file. The next time you connect, you should see this character in the available list (select the world, then press Tab to find this character). CocoMUD will enter the commands you have provided, and will do so if you ask to be reconnected as well.
- Fix a bug when trying to create a new world (#66).
- Add the crash report dialog:
This dialog appears when an error occurs during a given task. It will provide you with additional information about the bug, and will explain you how to report this bug to the team of developers.
- Add the marked trigger (#30).
Marked triggers can ask to move the cursor to a specific line. For instance, if one receives a message, the cursor can be moved right on this message. This can also help to explore, to move the cursor on the list of exits, for instance.
- Update the client's design and window.
- Add support for handling colors (#65).
- Add the feature to import a world, from a file or online (#60).
There is now a new menu, "import", in the menu bar -> file menu. In it are two options, one to import a world from a file, the other to import one online. The second option tries to find the worlds already configured on the project's website. One can download and install them directly.
- Add the system of channels (#50):
Channels can keep track of a list of events. They are particularly useful to log communication channels on the MUD. Through the trigger system, users can feed a channel. Through a macro or alias, this channel can be displayed in a list, in a separate dialog box.
- In the preferences dialog, accessibility tab, users now can set whether the TTS is interrupted or not (#40).
- When changing the TTS options in the preferences, the options are taken into account immediately (#55).
- Fix some bugs in the SharpScript engine.
- Multiline aliases/macros/triggers do not bug anymore (#63).
- One can now enter SharpScript in macros (#59).
- Variables are now described in the alias documentation.
- The title of the window with several open tabs is now accurately updated (#51).
- Add a syntax to write variables in SharpScript:
The syntax is
$variable. Variables have been added to aliases (#45) and triggers (#44).
- Fix a minor bug in command stacking.
- Add mute triggers, which will be useful to support audio prompts.
- Improve the debug logging system.
- Restructure the catalogs for translation (#41).
- Add a logging system to debug events.
- Attempt to fix a bug using the
#playfunction while several worlds are opened (#48).
- Add command stacking, to send multiple commands at once, using the semicolon or another character (#32).
- Open multiple worlds in tabs (#42):
It is now possible to open several worlds in tabs, or even a world several times in tabs. In the file menu are three new options, to create a new world, open a world in a different tab and close the current tab. One can navigate between tabs using Ctrl + tab or Ctrl + Shift + tab as usual.
The feature to change the window's title when unread messages are received (#20) now takes into account the selected tab only.
- New menus to disconnect and reconnect from a world (#43):
A new menu item in the menu bar, named connection, has been added. In it are options to disconnect from the current world, and reconnect to it.
- The client doesn't lag if connection to a distant server takes some time (#21).
- When outside of the window, if messages are received, the window title changes to let the user know notifications are waiting on the client (#20).
- Add the command history
The command history remembers all commands you have entered. You can use it by pressing CTRL + up or down to go up or down into your list of commands. Alternatively, you can use command history in lock mode, by pressing Escape, then navigating in the history using the arrow keys. You can leave lock mode by pressing Escape again.
- One can now paste several lines to send multiple commands (#27).
- Update the documentation of the basic features (#36).
- Remove the obsolete settings based on an input and output field (#35).
- When tabbing to tab-complete, the TTS speaks (and displays) the found result.
- Add the tab-completion (#34):
When the client receives messages from the server, it stores all words by frequency. When you begin typing a letter or more and then press tab, the client will try to finish the word you were typing. If you're not satisfied with this choice, you can press tab again and the client will display another result.