How I dealt with Multiplaying Bored of checking the 'user' command everytime someone logins on, just to make sure they aren't sharing equipment/items? Heres what I did to stop people. Whats so special about this? It allows you to set a maximum amount of connections from a single host. ** Disclaimer ** This worked for me, and should work for you. If it kills your mud do not blame me, because its not my fault :) This is nice and basic. Firstly lets define the plr_flag. Open structs.h and search for: #define PLR_ at the bottom of that list add: #define PLR_MULTIPLAYER (1 >> XX) // XX should be one number higher than PLR_ above Next, at the top of interpreter.c look for the external ints and just below the last one add: int multi_play_limit = 2; Then go down to nanny(), at the top you will need to add some bits. Look for: struct descriptor_data *pt; and change it to: struct descriptor_data *pt, *k, *next_k; and just below that you should see: int player_i, load_result; and change that to: int player_i, load_result, connections=0; further on down you should see this bit of the WizLock code: if (GET_LEVEL(d->character) < circle_restrict) { SEND_TO_Q("The game is temporarily restricted.. try again later.\r\n", d); STATE(d) = CON_CLOSE; sprintf(buf, "Request for login denied for %s [%s] (wizlock)", GET_NAME(d->character), d->host); mudlog(buf, NRM, LVL_GOD, TRUE); return; } then below it just add: //BoxBoy: Multiplay checking (d->host) for (k = descriptor_list; k; k = next_k) { next_k = k->next; if (!strcasecmp(k->host, d->host)) { connections++; if(connections > multi_play_limit && !PLR_FLAGGED(d->character, PLR_MULTIPLAYER)) { SEND_TO_Q("No more connections from your server, max multiplay limit reached.\r\n", d); STATE(d) = CON_CLOSE; sprintf(buf, "Max Multiplayer Limit Reached by [%s]", d->host); mudlog(buf, NRM, LVL_GOD, TRUE); return; } } } //BoxBoy: End Multiplay Checks and thats it. I actually put multi_play_limit in my config.c and then put an extern at the top of the file but it seemed simpler to do it like this. ** Setting the Multiplayer Flag Just in case anyone is wondering about how to set the plr_multiplayer flag, I did this using the do_set command. If you don't know how to add things to do_set I have written it below. search for this in act.wizard.c: { "weight", LVL_GOD, BOTH, NUMBER }, /* 50 */ If there is any other lines like this directly below keep going down until you reach the line which looks like: { "", 0, BOTH, MISC } and above that add: { "multiplayer", LVL_GRGOD, PC, BINARY }, then move down to: default: send_to_char("Can't set that!\n\r", ch); return (0); and above that add this above it: case 69: SET_OR_REMOVE(PLR_FLAGS(vict), PLR_MULTIPLAYER); send_to_char("Muliplayer Flag set.", ch); sprintf(buf, "(GC) %s set Multiplayer Flag on %s", GET_NAME(ch), GET_NAME(vict)); mudlog(buf, NRM, LVL_GRGOD, TRUE); break; make sure the case number is one number higher than the case above. I believe thats about it (don't forget to update the help set in your library files) BoxBoy (Dimensia will hopefully be up full time soon.) mud.guam.net 6000 http://dimensia.iwarp.com/