Nav apraksta
Keelan Lightfoot 817abeb9f8 Seperated game logic from connection logic so that game logic can be run by objects like they are players. 8 gadus atpakaļ
cmd/funmow Seperated game logic from connection logic so that game logic can be run by objects like they are players. 8 gadus atpakaļ
LICENSE Initial Commit 8 gadus atpakaļ
README.md Completely re-vamped the database structure, extracted links from inside objects. Also cleaned up the seperation between object.go and db.go. Fixed some bugs 8 gadus atpakaļ
client.go Seperated game logic from connection logic so that game logic can be run by objects like they are players. 8 gadus atpakaļ
db.go Seperated game logic from connection logic so that game logic can be run by objects like they are players. 8 gadus atpakaļ
event_distributor.go Seperated game logic from connection logic so that game logic can be run by objects like they are players. 8 gadus atpakaļ
execution_context.go Seperated game logic from connection logic so that game logic can be run by objects like they are players. 8 gadus atpakaļ
object.go Seperated game logic from connection logic so that game logic can be run by objects like they are players. 8 gadus atpakaļ

README.md

FunMOW

A multiplayer text based game written in Go, with MU* inspired userspace. Being MU* inspired, FunMOW has support for expanding the world with a set of in-game commands.

Installing

go get github.com/naleek/funmow/...

Running

funmow

Connecting

To fully enjoy FunMOW, use a MU* client. In testing (MacOS), the bog standard telnet command doesn’t support unicode, but netcat (nc) does.

Issues

  • No configuration options with modifying source
  • Authentication and encryption are non-existent
  • Failure modes are often not reported to the player

Commands

Documentation Conventions

{command,alternate}

[optional parameter]

<required parameter>

Database References

All objects in the game have a database reference (dbref), which is a signed integer assigned when the object is created. Dbrefs are incremented sequentially.

Object References

Object references support partial matches, if you see a frog and type get f, you will acquire the frog. An object can be referred to by dbref by using the number preceeded by am octothorpe. This is handy when you end up with two objects with the same name, and only want to get one of them: get #123

Login Commands

These commands are only valid in the authentication phase of gameplay.

{con,connect} <username> <password>
quit

Basic Commands

This is the stuff that you use the most when you’re not building things.

{look,l} [object reference]
{examine,ex} <object reference>
{say,"} <something>
{pose,:} <action>
{inventory,i}
get <object reference>
drop <object reference>
enter <object reference>
leave
quit

Building Commands

A note on exits. Exits support fixed aliases, so that you have the freedom to assign hidden shortcuts to exits. For example, <K>itchen;k;kitchen will display as <K>itchen, but can be used as <K>itchen or k or kitchen. You can use as many aliases as you want on an exit.

@create <name>
@dig <name>[=<in exit>[,<out exit]]
@open <in exit>=<dbref>[,<out exit>]
@desc <object reference>=<description>
@name <object reference>=<name>
@tel <dbref>
@dump <object reference>

Credits

FunMOW was created and is maintained by Keelan Lightfoot.