Hardcode
Newsfiles, but no news directory!
Submitted by Nano on Mon, 2008-03-24 17:41.This's been bothering me to no end. I can go in and edit up index.nws and pennmush.nws, and typing 'news (news file)' works like a charm. But here's where I hit a little problem; typing 'news' alone doesn't seem to bring up the index. Infact, all it gives me is 'No entry for 'NEWS'.' So, anyone know what I'm doing wrong?
Integer Maps
Submitted by raevnos on Thu, 2008-01-31 15:53.Integer Maps map unsigned 32-bit integer keys to arbitrary pointers. They were added in 1.8.3p7. They're used in a number of places; for example, in queue entry process id related code (src/cque.c), and in looking up the structure representing a connected socket via its descriptor number (src/bsd.c).
PennMUSH and OpenID
Submitted by Kelvin McCorvin on Fri, 2008-01-18 10:04.I was wondering if anyone had an OpenID implementation for PennMUSH. This is something I'd really be interested in across multiple games for the sake of consistency.
Threading and Penn, part 2
Submitted by raevnos on Thu, 2007-11-15 09:55.Earlier I mentioned some of the difficulties with making a multi-threaded mush (Read it here.)
- raevnos's blog
- Login or register to post comments
- Read more
Moving to a new site (by Rhyanna)
Submitted by javelin on Sat, 2007-11-03 13:34.Moving to a New Site (Rhyanna)
Sometimes it becomes necessary for a MUSH to move to a new site. These are some of the common reasons:
* The site gets taken offline because of host problems.
* The site provider graduates / flunks out / otherwise loses their account.
* The MUSH starts taking up too much memory, disk space, or CPU time.
* The sysadmin of the site realizes that a MUSH is being run without permission. (This is far more common than it ought to be. Always get permission before running a MUSH.)
Tricks with core dumps (by Rhyanna)
Submitted by javelin on Sat, 2007-11-03 13:32.Recovering a db from a core dump
I have recently managed to recover a PennMUSH 1.50 database from a core file. I will explain what I did, in the hopes that this technique may be useful to others.
I will assume that at the beginning, you are in the game/ directory, and that your core file is in the same file, named core. You should also have a debugger available. I only know gdb, so I can't give directions for using debuggers other than gdb.
JIT part 2
Submitted by raevnos on Sat, 2007-08-11 10:44.Success!
I have lock bytecode being compiled to native powerpc binary on-demand. There's still a lot of work -- this is so far just in proof-of-concept -- and don't expect to see it in a Penn release any time soon (If ever). Among many other things, I need to do some benchmarking and find out if there's any benefit to doing this.
Transcript of a gdb session follows the break.
- raevnos's blog
- Login or register to post comments
- Read more
Just In Time
Submitted by raevnos on Thu, 2007-08-09 13:22.Like my last post about threads and mush, this is a wild and crazy idea. Unlike the last one, I actually want to try this one out:
Use GNU Lightning to, on supported architectures, compile @lock bytecode to native binary code (When a lock is first tested; that's the JIT part).
- raevnos's blog
- Login or register to post comments
- Read more
Threading and Penn
Submitted by raevnos on Wed, 2007-08-08 18:30.This is dedicated to Sketch. ;)
Penn is a single-thread program (Though on Unix/Linux systems it is a multi-process one, to the same effect... at least when it comes to doing potentially slow and blocking hostname lookups.) It is certainly POSSIBLE to make it a multi-threaded program. It might not be desirable to, though.
How and why:
- raevnos's blog
- Login or register to post comments
- Read more
Adding commands
Submitted by raevnos on Sat, 2007-06-23 13:44.This page talks about how to add new builtin commands.

Click 
