I wrote this for someone on BlackDawn, so if you're someone else, ignore the stuff that says their IP and stuff, and put your own web site and all that. Download code.h to /daemon/imc2_code.h Download imc2.c to /daemon/imc2.c Edit /secure/include/save.h add: #define SAVE_IMC2 DIR_SAVE "/imc2" Edit /daemon/imc2.c Change the MUD name and the 2 passwords to be whatever you want. I think there's limits on minimum and maximum length, but I don't know them... Put 8 or 9 character passwords I guess should be fine. I put "sample" for both when I tested this out, and it worked. Make the passwords something nobody will guess. IMC2 uses a password for the server to identify itself to the client... don't ask me why, I don't know :P It'll automatically tell the server what the password is, so you can set this up without having to tell the IMC2 people to get prepared for you to log on. Change URL to be the main page for your MUD. change: #define SAVE_FILE "/u/t/tim/imc/data" to: #define SAVE_FILE SAVE_IMC2 change: #include "code.h" to: #include #include "imc2code.h" Edit /daemon/imc2code.h change: #define GET_CAP_NAME(x) x->query("cap_name") to: #define GET_CAP_NAME(x) replace_string(x->GetName()," ","") change: #define GET_GENDER(x) x->query("gender") to: #define GET_GENDER(x) x->GetGender() change: #define ADMIN(x) adminp(x) to: #define ADMIN(x) archp(x) change: #define GET_NAME(x) x->query("name") to: #define GET_NAME(x) convert_name(x->GetName()) change: #define IMC2_MSG(x,y) foreach(tmpstr in explode(x,"\n")){ message("IMC2",tmpstr+="\n",y); } to: #define IMC2_MSG(x,y) foreach(tmpstr in explode(x,"\n")){ message("IMC2",tmpstr,y); } Around the top near the #define area, add: #define NO_UIDS Change #define WHO_STR to have whatever code you want for a who screen that doesn't use this_player(). Change these 2 functions: string chan_perm_desc(int i){ switch(i){ case 2: return "arch"; case 1: return "creator"; case 0: return "public"; } return "invalid"; } int chan_perm_allowed(object user, string chan){ switch(localchaninfo[chan]["perm"]){ case 2: if(ADMIN(user)) return 1; return 0; case 1: if(creatorp(user)) return 1; return 0; case 0: return 1; } } Comment out the debug function and all the lines which use it. Create file: /cmds/players/imc2.c with: int cmd(string str){ return "/daemon/imc2.c"->command(str); } string GetHelp(){ return "/daemon/imc2.c"->main_help(); } Edit /secure/cfg/preload.cfg Add: /daemon/imc2 (this will make it so that it automatically connects whenever you restart the MUD... you don't have to restart the MUD to install it though, this is just for in the future) type: rehash /cmds/players update /daemon/imc2.c Should work at this point, type 'imc2 help' To set up the channels, as an arch, do 'imc2 allchans' to see what channels are offered, and then type something like this to add channels: imc2 configchan ichat Server01:ichat 1 imc2 configchan mworld Server01:mworld 0 imc2 configchan pchat Server01:pchat 0 imc2 configchan i2chat Server02:i2chat 1 imc2 configchan icode Server02:icode 1 imc2 configchan igame Server02:igame 0 imc2 configchan irc Server02:irc 1 The number part is 2 for arch, 1 for creator, and 0 for players To watch the channels yourself, do 'imc2 listen' To talk, do 'imc2 chan ichat hey everyone, got this set up just now' NOTE: IMC2 doesn't support names with spaces, so I made it get rid of spaces in your name, so "Test This" will look like "TestThis". You can have spaces, this client will just take them out. Also, I fixed a bug in code.h, so if you downloaded the file earlier before I wrote this instruction thing, then get it again. I can't seem get the deadsouls internal http server working to test this, but to set up the web site, do this... Edit /www/gateways/imc2.c and put: string gateway(string args){ return "
"+"/daemon/imc2.c"->html(args)+"
"; } Edit /daemon/imc2.c HTML_LOCATION should be "http://www.blackdawn.ath.cx:6661/gateways/imc2?" Then go to http://www.blackdawn.ath.cx:6661/gateways/imc2 and it should show a page that looks similar to http://www.darkwoodinc.com:3328/gateways/imc2 It's not pretty, so I'd change the HTML code to match up and fit into the web site's look and stuff. Also only do this if you want the mud list and channel backlog to be on a web page. If not, change it to however you want. If you want to do multiple imc2 networks, then I can help on that also... I have both EF and TimMUD on 3 IMC2 networks :P (http://cs1.betterbox.net:3330/gateways/intermud)