diff -urdBN emech-2.8.1/src/commands.c emech-2.8.1-boot/src/commands.c
--- emech-2.8.1/src/commands.c	Mon Apr  2 04:26:12 2001
+++ emech-2.8.1-boot/src/commands.c	Wed Apr  4 18:17:10 2001
@@ -363,6 +363,30 @@
 	dcc_chat(from,rest);
 }
 
+void do_boot(char *from, char *to, char *rest, int cmdlevel)
+{
+	aDCC	*Client;
+	char	*nick;
+
+	if (rest && *rest)
+	{
+		nick = chop(&rest);
+
+		for(Client=current->ClientList;Client;Client=Client->next)
+		{
+			if (((Client->flags & DCC_CHAT) == DCC_CHAT) && (!Strcasecmp(nick,getnick(Client->user))))
+			{
+				Client->flags = DCC_DELETE;
+				send_to_user(from,"User %s booted",nick);
+				return;
+			}
+		}
+		send_to_user(from,"User %s is not connected",nick);
+		return;
+	}
+	usage(from,C_BOOT);
+}
+
 void do_say(char *from, char *to, char *rest, int cmdlevel)
 {
 	char	*chan;
diff -urdBNU 1 emech-2.8.1/src/gencmd.c emech-2.8.1-boot/src/gencmd.c
--- emech-2.8.1/src/gencmd.c	Mon Apr  2 04:26:12 2001
+++ emech-2.8.1-boot/src/gencmd.c	Wed Apr  4 18:11:57 2001
@@ -177,2 +177,3 @@
 	{ 0, "CORE",		"do_core",		100	| CC	| PASS	| DCC		},
+	{ 0, "BOOT",		"do_boot",		100     | CC    | PASS  		},
 #ifdef DEBUG
diff -urdBNU 1 emech-2.8.1/src/h.h emech-2.8.1-boot/src/h.h
--- emech-2.8.1/src/h.h	Mon Apr  2 04:26:12 2001
+++ emech-2.8.1-boot/src/h.h	Wed Apr  4 18:17:48 2001
@@ -276,2 +276,3 @@
 void do_banlist(char *, char *, char *, int);
+void do_boot(char *,char *, char *, int);
 void do_cchan(char *, char *, char *, int);
diff -urdBNU 1 emech-2.8.1/src/usage.h emech-2.8.1-boot/src/usage.h
--- emech-2.8.1/src/usage.h	Mon Apr  2 04:26:12 2001
+++ emech-2.8.1-boot/src/usage.h	Wed Apr  4 18:12:55 2001
@@ -36,2 +36,3 @@
 { S_BANLIST,	"@ [channel]"								},
+{ S_BOOT,       "@ [nick]"								},
 { S_CCHAN,	"@ [channel]"								},
