I'm manually adding IMC2 support, and while I'm at it, I'm comparing my changes to SWFoTEFUSS to make sure I've got it right.
The instructions in the snippet say:
This next part is somewhat tricky. If copyover_recover is called in db.c as is the usual case in
most default installs, you need to place the following BEFORE the boot_db call. If it is listed
somewhere here in comm.c, the following needs to be placed ABOVE it. Either way, imc_startup needs
to be called BEFORE copyover_recover or your mud WILL crash every time you do a copyover.
Yet, in comm.c, you have the addition below, not above the boot_db call.
boot_db( fCopyOver );
log_string( "Initializing socket" );
if( !fCopyOver ) /* We have already the port if copyover'ed */
control = init_socket( port );
* Initialize and connect to IMC2
imc_startup( FALSE, imcsocket, fCopyOver );