-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
178 lines (117 loc) · 5.82 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
This is TinyMUD version 1.5.4, a user-extendible
multi-user adventure game.
See the file copyright.h for information on the copyright under which
TinyMUD 1.5.4 is distributed. See the file CHANGES for a list of
changes made in each release.
Compiling TinyMUD:
The code is written in ANSI C, and is known to compile and run under
Mach (a variant of 4.3BSD Unix) on a Sun-3 and uVax-2 using GCC, on on
an IBM RT using hc, and on a DECstation 3100 using the MipsCo C
compiler. It has also been compiled on a Vax running a fairly generic
4.2BSD system, and on a NeXT machine.
I do not expect that it will work well on non-BSD systems, although
most of the BSD-isms are concentrated in interface.c and in a few
calls here and there to bzero() and such. Please let me know if you
manage to port TinyMUD to another type of system.
Programs contained in the distribution:
netmud
This is the actual server program; it is invoked as
netmud source-file dump-file [port [log-file]]
If port is not specified it defaults to 4201. The initial database
will be read in from source-file, which must contain at least the two
objects in minimal.db to work well. The file small.db, which contains
the core of the original TinyMUD universe, may be a better place to
start a new universe from. The netmud process will write a checkpoint
out to dump-file every 3600 seconds; the interval can be changed by
setting DUMP_INTERVAL in config.h.
netmud.conc & concentrate
This is the same as netmud, but allows up to 3600 users at one time.
The concentrate program listens on the external port and mulitplexes
up to 60 connections into the server program. There can be up to 60
concentrators, although in practice you'll seldom need more than a
half-dozen. It is invoked as follows (ext-port is the port number
users telnet to, int-port is the port number the server uses to
communicate with the concetrators):
netmud.conc source-file dump-file [ext-port int-port [log-file]]
sanity-check
Usage: sanity-check < source-file
Performs several simple consistency checks on the specified database
file. Also useful for detecting surplus WIZARDs and people with
excess pocket change.
extract
This is the program that was used to create the file small.db
distributed with TinyMUD. It is used to extract a part of a database
as a connected whole.
Examples:
extract < source-file > output-file
Extracts location #0, player #1, and all objects owned by player #1;
these objects are renumbered into a contiguous block starting at 0 and
are written out as a new database file that preserves all of their
inter-relationships. Some objects may become "orphaned" as a result
of having their home or location disappear; these objects are moved to
location #0. With some combinations of command line arguments it is
possible to include an object without including its owner; in this
case player #1 "inherits" the object. Exits are only extracted if
both their source and destination rooms are extracted.
extract 2 < source-file > output-file
Extracts location #0, object #1 and anything it owns, and object #2
and anything it owns.
extract number2 < source-file > output-file
Same as above, but (assuming player #2 is named number2) extracts
players by name.
extract 2 -5 < source-file > output-file.
As above, but does not extract object #5 even if it is owned by #1 or
#2.
extract 2 5991 195 -198 3391 -12 12915 < source-file > object-file
Extracts #0, #1, #2, #195, #3391, #5991, #12915 and anything they
own, except #12 and #198.
The keyword "all" can be specified as an argument to include
everything by default, e.g.:
extract all -198
Extracts everything except object #198 and anything it owns.
extract all -198 5
Extracts everything except object #198 and anything it owns, but
includes object #5 even if #198 owns it.
Other keywords: players reachable norecycle a<num> b<num>.
Players: specifies that all players are kept (but not necessarily
what they own).
Reachable: specifies that rooms not reachable by some combination of
exits from room #0 are not extracted unless specifically included.
Norecycle: specifies that players, objects, and things in the
recycling center (defined as the home of player 'Recycler') are not
kept unless specifically included. 'Norecycle' overrides 'players',
so
extract players norecycle
would extract only those players not in the recycling center.
a<num> (above) includes all objects with id numbers greater than
or equal to <num>
b<num> (below) includes all objects with id numbers less than
or equal to <num>
Putting it all together, here is how the Daytime Islandia DB is
built from the previous night's database:
extract norecycle reachable players b1370 \
-274 -560 -809 1384 1403 1404 1406 1505 \
Tinker Lynx Tygling Three Janitor Mav \
$WINNER \
< islandia.db.new > day.db
Whichs keeps: all players not in the recycling center, all objects
below 1370 except for 274, 560, and 809, and also includes 1403, 1404,
1406, 1505, everything owned by Tinker, Lynx, Tygling, Three, Janitor,
Mav, and everything owned by the lottery winner (name specified by
Shell variable WINNER).
dump
Usage: dump [owner] < db-file
With no arguments, prints out every object in db-file. With one
argument (a number) prints out every object with that owner.
decompress
Usage: decompress < compressed-db-file > uncompressed-db-file
Removes compression from a database file that has been generated by
netmud using the -DCOMPRESS compile-time option.
restart-cmu, restart-day, restart-night
The shell scripts used at CMU to restart the TinyMUD
server. Useful for making sure that back versions of the database are
always available.
I hope that you enjoy using TinyMUD.
--Jim Aspnes, March 29th, 1990. 1.5.3
--Scott Goehring, April 3rd, 1990. 1.5.3A
--Michael Mauldin & Russ Smith, June 25, 1990. 1.5.4