Each MUD world is run by a MUD server hosted somewhere on the Internet which reads the inputs from visitors connected to its world, processes the input, and then sends back the appropriate feedback.
The server keeps track of the state of the MUD by maintaining a database that describes the current status of the people and objects in the current world. Since a MUD database must store a representation of a complex virtual world, the programming algorithms and data structures they use have been the subject of a lot of interesting research, particularly in the field of object oriented methodologies.
Running a MUD server is a much more computation intensive task than running a Usenet newsgroups or IRC server that simply copies and distributes messages. Each interaction on a MUD requires a unique and complex series of actions, such as “open the door, which causes the light to turn on, the candle to blow out, and the dog to escape”.
Each action also requires a set of database changes, so that the server has an accurate picture of the current state of the MUD. Therefore, MUD servers usually need a moderately large amount of processing power and memory.
The section on how to run your own MUD provides more information on server software.