Skip to content

f0x52/mudle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mudle

a simple combination of a server and client, communicating over tcp 4004
this is designed to run on a server, where users ssh in to use the client

design: each room has a json with info about it host on server, connect using ssh, client.pl runs in screen/tmux

installation

perl -MCPAN -e shell
install Term::ANSIColor File::Util Digest::SHA Switch::Plain Data::Dumper JSON IO::Async::Stream IO::Async::Loop IO::Async::Timer::Periodic

sudo aptitude install libtermkey-dev

utility

In the utility folder you can find image_motd.pl which combines an image and a textual motd file
usage: image_motd.pl image.png ../motd.txt > new_motd.txt For the base image you have to use this palette:
red: #cc6666, green: #b5bd68, yellow: #f0c674, blue: #81a2be, magenta: #b294bb, cyan: #8abeb7. black, transparent and any other color will turn into your terminals background color.

documentation

Movement

there will be a list ( .. ) of directions you can go. to move, enter .direction (tab completion works)

Commands

current commands are:
/list gives a list of all users in the same room as you
/look looks around and shows all objects in your room
/info displays the same info as when you enter a room
/tp id teleports you to a room by it's id
/dig digs out a new room, and returns it's id
/edit edits the properties of the room you're in
/new creates a new object
/edit_o edits the properties of an object
/me action irc style /me
/who (user) displays info about yourself or a user
/desc change your own description

Room Editing

You can list a property by not giving any further arguments:
/edit {name, objects, desc, map}
Or change them:
name: /edit name New Room Name
desc: /edit desc New Room Description
add an object from the room: /edit objects add id shortname
del an object from the room: /edit objects del shortname
add a movement direction: /edit map add direction roomid
del a movement direction: /edit map del direction

Object Editing

Basically the same as for Rooms, but you can only set name and desc, and you use /edit_o

Object Interaction

For object interaction you use !action object (extra parameters)
when you /look all objects display their actions, and their short name with [brackets]
For example:

/look
Mushroom Pillows [cushion] #1
  nice and soft
  actions: sit
you can then !sit cushion

Whiteboard

!read whiteboard returns it's contents
!write whiteboard line text writes text at line of the whiteboard
!erase whiteboard line erases that line from the whiteboard

User descriptions

You can /who user to get information about them
You can view yourself with /who, and change your own description with /desc

About

A moo/mud client and server, written in perl5

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages