forked from protomuck/protomuck
-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL
207 lines (143 loc) · 7.63 KB
/
INSTALL
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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
## QUICK INSTALLATION for those who demand results NOW! ##
1. modify src/inc/config.h to fit your preferences and your system.
2. modify src/inc/params.h also.
3. modify game/data/parmfile.cfg
When you're happy with the changes...
cd src # Enter the src directory.
./configure # This will call the configuration script
make # Compiles the source code
make install # This puts the binaries in ../game/
cd ../game/data # This will put you into the games data directory
(opt) cp minimal.proto proto.db # Make the minimal dbase your dbase
cd ../.. # Directory should be $(HOME)/proto
./proto start # This starts the server.
And you're done! ProtoMuck has it's own special minimal database. To
connect to it, use:
telnet somehost someport
<Welcome screen scrolls by>
connect One potrzebie
You should then be connected to da Man.
QUIT
./proto stop # This shuts the server down.
## HISTORY ##
ProtoMUCK is derived from NeonMUCK with man extentions and
modifications, which is derived from TinyMUCK, PuebloMUCK, RattyMUCK,
and TinyMUCKfb. All of these share common derivation form TinyMUD 1.5.2,
which also has many extensive changes.
## COMPATABILITY ##
ProtoMuck will read, without modification, any TinyMUD, TinyMUCK,
PuebloMUCK, TinyMUCK FB, NeonMUCK, and RattyMUCK databases. ProtoMuck
databases however cannot be loaded back into these other variants,
except for NeonMUCK (though it is untested and only in theory).
NeonMuck added space for 32 additional flags on all objects, along
with a new programming language called MCP, extensive new MUF
primitives, increased support for Pueblo and other web based logins,
and a host of other changes. And, in turn, ProtoMUCK expanded upon
that and started on the long road of bringing the FB code base in
line with the later versions.
To convert an existing FB database over, rename it to proto.db
in the game/data directory. Log in as the God character, and
type '@fixwizbits Convert DB to new level system.' Then shut
down the game and restart it; the database is now a clean
Neon-format database.
## COPYRIGHT ##
Please see the file COPYRIGHT for the full version of the copyright
applying to this code. It is unlawful to use this code without
complying with the copyright.
## COMPILING PROTOMUCK ##
ProtoMuck uses the GNU autoconf system to try and compile without
errors on any platform which supports the required tools. ProtoMuck
does want GCC, Flex, and Bison to compile each and every source file
into object code. If Flex and Bison aren't available, pre-compiled
versions of the mcpparse.y and mcplex.fl files are available in
the 'backup' directory under the source tree.
This code is known to compile without errors or warnings under
Linux, Solaris, and SunOS. It can be ported cleanly to Windows
under Cygnus's gnu-win32 development kit. with a custom Makefile
and using the backup parser files.
It should compile cleanly, or with very few modification under most
systems. If you need to make modifications, or find a system which
it doesn't compile under, or which it compiles but doesn't run under,
please contact the authors, and they will do their best to provide you
with some help, and to incorporate fixes into later releases (if any).
The authors are however under no obligation to provide support, but
will likely do so anyway.
# SLACKWARE LINUX #
ProtoMuck has an internal fix to the Makefile so the fix below should
not be necessary, but the fix is provided for reference purposes.
If you are running slackware 2.2.x or later, you might need to first
make sure your system has a soft link from /usr/lib/libg.sa to
/usr/lib/libc.sa. Do this with the command:
cd /usr/lib; ln -s libc.sa libg.sa
This isn't a complete fix, but it at least lets Proto compile. Make
sure the Makefile generated has LIBR=-lm
This fix is not required under RedHat Linux.
# SUN #
Sun realloc() is braindead. On every Sun system I have seen,
all TinyMUD/TinyMUCK derived code runs about 6 megs in memory with
a very small database if the option DB_DOUBLING is not defined. If
you are running on a Sun3 or Sun4, you should definitely compile with
this option turned on.
Let the authors know if there are other systems that need this. This
may not be as much of a problem with current versions of the server,
as databases now store a count of their objects, and the entire
database generally gets allocated in one chunk.
# OTHER OS'S #
As far as other platforms, you're on your own. In almost all cases,
just running 'make' will set up the makefile and configuration
for your system, then typing 'make' again will compile the server.
## DIRECTORY STRUCTURE ##
bin -- Contains the unix restart script and other support scripts
docs -- Contains important information about administering the muck
game -- Holds all run-time game data files and online information
src -- Contains all source code to build the server executable
and related utility programs
## PROGRAM ##
# protomuck #
Usage: protomuck [options] starting-dbfile dump-dbfile [portnumber]
Where the [options] can be:
-convert load db, save in current format, and quit.
-decompress when saving db, save in uncompressed format.
-nosanity don't do db sanity checks at startup time.
-insanity load db, then enter interactive sanity editor.
-sanfix load db, then fix any sanity problems in the DB.
-wizonly only allow wizards to login.
-help display usage message.
If port is not specified it defaults to 10002. The initial database
will be read in from starting-dbfile, which must contain at least
the two objects in minimal.db to work well.
The -decompress option will cause the dump-file to be saved in an
uncompressed format. The protomuck process will write a checkpoint
out to dump-dbfile every few hours, depending on the @tuned interval
parameter.
The -convert option will cause the server to load an old style
database, save it back out immediately in the most current database
format, and then shutdown, instead of allowing connections.
# proto #
Usage: proto start -- Starts the muck
Usage: proto stop -- Shuts the muck down
This is just a simple script to turn ProtoMuck on or off from the
shell account. ProtoMuck accepts a SIGKILL to force an immediate
but clean and safe shutdown of the muck. (Don't try this on a
normal Fuzzball server, it will crash and could hose your database.)
# olddecompress #
Usage: olddecompress < compressed-db-file > uncompressed-db-file
or: olddecompress compressed-db-file > uncompressed-db-file
Removes old style bigraph compression from a database file that has
been generated by an older version of netmuck using the -DCOMPRESS
compile-time option.
# topwords #
Usage: topwords < db-file | sort > wordlist.txt
This program will find the 4096 words who will give you the best
compression with the new style dictionary based compression. This
is used by the optimdb script to re-optimize the compression of a
database.
# optimdb #
Usage: optimdb infile outfile
This script reads a database, and saves it out to the outfile with
the compression optimized. For databases under a half meg, this db
will likely be a few K larger than the same database compressed with
the old bigraph method. For half a meg and over, though, it's a win.
## AUTHOR and CONTACT INFORMATION ##
Bug reports, suggestions, and complaints can be sent to:
(Moose) ashitaka@home.com -or- (Akari) Nakoruru08@hotmail.com