AberMUSH
AberMUSH is a text based role playing game with ANSI graphics, set in the AberMUD 5 universe.
Install / Use
/learn @bashrc2/AberMUSHREADME

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

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)!
- Update your system
sudo apt update && sudo apt upgrade - Get the repo
git clone https://gitlab.com/bashrc2/AberMUSH - 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

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

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.

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
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
