SkillAgentSearch skills...

AberMUSH

AberMUSH is a text based role playing game with ANSI graphics, set in the AberMUD 5 universe.

Install / Use

/learn @bashrc2/AberMUSH

README

AberMUSH

<blockquote>"Once a year the dragon emerged from its cave. The people of the valleys could hear its thundering roar as it awakened from its long slumber."</blockquote>

AberMUSH is a text based role playing game with UTF-8 ANSI graphics, set in the AberMUD 5 universe. Explore, battle and adventure in a fantasy version of medieval Wales. Experience DnD style combat, gambling disputes, excessive ale consumption and puzzling mysteries in the once magnificent but now fallen city of Tranoch, with dynamic scenery, tides, wildlife and weather effects.

This game includes 8 bit console graphics, but if you are a MUD purist or don't need graphics then you can turn them off.

Based on dumserver by Bartek Radwanski and Mark Frimston https://github.com/wowpin/dumserver

AberMUSH

You can also use a mud client of your choice if you wish - use connection details below:

telnet [hostname] 35123

or via ssh:

ssh [username]@[hostname] -p 35124

Within /etc/ssh/sshd_config you may need to set:

PermitTTY yes

Then restart the ssh server.

If you havn't already created an account then when logging in via ssh your username and password can be anything and you can then use the new command to create an account. After that you can log into your account directly from ssh.

Use UTF-8 terminal encoding.

Running the Server

- IMPORTANT - Python >= 3.6.7 is required (Ubuntu >= 18.04 LTS)!
  1. Update your system sudo apt update && sudo apt upgrade
  2. Get the repo git clone https://gitlab.com/bashrc2/AberMUSH
  3. CD into 'AberMUSH' and install the server sudo ./installer.sh

If you want to add a firewall which only allows logins via ssh or telnet:

sudo cp /opt/abermush/firewall.nft /etc/firewall.conf
sudo apt -y install nftables
sudo nft -f /etc/firewall.conf
sudo echo '#!/bin/sh' > /etc/network/if-up.d/firewall
sudo echo 'nft flush ruleset' >> /etc/network/if-up.d/firewall
sudo echo 'nft -f /etc/firewall.conf' >> /etc/network/if-up.d/firewall
sudo chmod +x /etc/network/if-up.d/firewall

You now should be able to connect to your server on <server IP/hostname>:35123

AberMUSH

Player Commands

All players can use the following commands:

bio [description]                       - Set a description of yourself
graphics [on|off]                       - Turn graphical content on or off
change password [newpassword]           - Change your password
who                                     - List players and where they are
quit/exit                               - Leave the game
eat/drink [item]                        - Eat or drink a consumable
speak [language]                        - Switch to speaking a different language
say [message]                           - Says something out loud
look/examine                            - Examines the surroundings
go [exit]                               - Moves through the exit specified
climb though/onto [exit]                - Try to climb through or onto an exit
move/roll/heave [target]                - Try to move or roll a heavy object
jump to [exit]                          - Try to jump onto something
attack/punch/kick/headbutt [target]     - Attack another player or NPC
throw [weapon] at [target]              - Throw a weapon at another player or NPC
shove/trip                              - Try to knock down a target during an attack
prone                                   - Lie down
stand                                   - Stand up
check inventory                         - Check the contents of your inventory
take/get [item]                         - Pick up an item
put [item] in/on [item]                 - Put an item into or onto another one
drop [item]                             - Drop an item
whisper [target] [message]              - Whisper to a player in the same room
tell/ask [target] [message]             - Send a tell message to another player or NPC
use/hold/pick/wield [item] [left|right] - Transfer an item to your hands
stow                                    - Free your hands of items
wear [item]                             - Wear an item
remove/unwear [item]                    - Remove a worn item
open [item]                             - Open an item or door
close [item]                            - Close an item or door
push [item]                             - Pushes a lever
pull [item]                             - Pulls a lever
affinity [player name]                  - Shows your affinity level with another player
cut/escape                              - Attempt to escape from a trap
step over tripwire [exit]               - Step over a tripwire in the given direction
dodge                                   - Dodge an attacker on the next combat round

Chess Commands

AberMUSH

If you can find a chess board to play on:

chess                                   - Shows the board
chess reset                             - Rests the game
chess move [coords]                     - eg. chess move e2e3
chess undo                              - undoes the last move

Cards

If you can find a deck of cards:

shuffle                                 - Shuffles the deck
deal to [player names]                  - Deals cards
hand                                    - View your hand of cards
stick                                   - Stick with your current hand
swap [card description]                 - Swaps a card
call                                    - Players show their hands

Nine Men's Morris

If you can find a Morris board:

morris                                  - Show the board
morris put [coordinate]                 - Place a counter
morris move [from coord] [to coord]     - Move a counter
morris take [coordinate]                - Remove a counter after mill
morris reset                            - Resets the board

Spell Commands

Some characters can use magic with the following commands:

prepare spells                          - List spells which can be prepared
prepare [spell name]                    - Prepares a spell
spells                                  - Lists your prepared spells
clear spells                            - Clears your prepared spells list
cast find familiar                      - Summons a familiar with random form
dismiss familiar                        - Dismisses a familiar
cast [spell name] on [target]           - Cast a spell on a player or NPC

Spells are defined within spells.json and the system for spellcasting is a simplified version of the one within conventional D&D games. You prepare a spell, it gets added to your list and then you can cast it and it disappears from the prepared list. Some spells require certain items to be in the player's inventory.

AberMUSH

Witch Commands

Witches are the admins of the system, and have additional supernatural powers. The first user to create an account gains witch status. Additional witches may be assigned by appending them to the witches file, which is located in the same directory as abermush.py is run from.

close registrations                - Closes registrations of new players
open registrations                 - Allows registrations of new players
mute/silence [target]              - Mutes a player and prevents them from attacking
unmute/unsilence [target]          - Unmutes a player
freeze [target]                    - Prevents a player from moving or attacking
unfreeze [target]                  - Allows a player to move or attack
teleport [room]                    - Teleport to a room
summon [target]                    - Summons a player to your location
kick out/remove [target]           - Remove a player from the game
blocklist                          - Show the current blocklist
block [word or phrase]             - Adds a word or phrase to the blocklist
unblock [word or phrase]           - Removes a word or phrase to the blocklist
describe "room" "room name"        - Changes the name of the current room
describe "room description"        - Changes the current room description
describe "tide" "room description" - Changes the room description when tide is out
describe "item" "item description" - Changes the description of an item in the room
describe "NPC" "NPC description"   - Changes the description of an NPC in the room
conjure room [direction]           - Creates a new room in the given direction
conjure npc [target]               - Creates a named NPC in the room
conjure [item]                     - Creates a new item in the room
destroy room [direction]           - Removes the room in the given direction
destroy npc [target]               - Removes a named NPC from the room
destroy [item]                     - Removes an item from the room
resetuniverse                      - Resets the universe, losing any changes from defaults
shutdown                           - Shuts down the game server

NPC Types

NPCs defined within def/npcs.json have a few different modes. The rooms which they can occupy are defined within the path list and the ways in which they move is defined by the moveType parameter. Movement types are:

  • cyclic - Move from the start to the end of the list of rooms
  • inverse cyclic - Move from the end to the start of the list of rooms
  • random - Move to random rooms in the list
  • patrol - Move from the start to the end of the list, then back again
  • follow - Look for players and follow them around
  • leader:name - Follow a named leader, which may be a player or NPC

If no moveType is specified then random movement is the default.

The speed at which NPCs move between rooms is defined by moveDelay and randomFactor parameters. RandomFactor just makes the delay between movements not

Related Skills

View on GitHub
GitHub Stars27
CategoryDevelopment
Updated6d ago
Forks0

Languages

Python

Security Score

95/100

Audited on Mar 25, 2026

No findings