diff -ur tetrinet/server.c tetrinet-new/server.c
--- tetrinet/server.c	Thu Sep 14 20:16:31 2000
+++ tetrinet-new/server.c	Mon Nov 20 02:41:13 2000
@@ -210,6 +210,33 @@
     fputc('\n', f);
 
     fclose(f);
+
+	write_connected();
+}
+
+static void write_connected()
+{
+    char buf[1024], *s;
+    FILE *f;
+    int i;
+
+    s = getenv("HOME");
+    if (!s)
+	s = "/etc";
+	snprintf(buf, sizeof(buf), "%s/.tetrinet_connected", s);
+	f = fopen(buf, "w");
+	if (f) {
+		for (i=0; i<6; i++)	{
+			if (player_socks[i]!=-1) {
+				fprintf(f,"%s\n", players[i]);
+			}
+		}
+		fclose(f);
+	} else {
+		fprintf(stderr,"couldn't open %s\n",buf);
+	}
+
+	return;
 }
 
 /*************************************************************************/
@@ -506,6 +533,7 @@
 	    player_lost[player-1] = 1;
 	}
 	send_to_all_but(player, "playerjoin %d %s", player, players[player-1]);
+	write_connected();
 
     } else if (strcmp(cmd, "team") == 0) {
 	s = strtok(NULL, " ");
@@ -841,6 +869,7 @@
 	    player_socks[i] = -1;
 	    if (players[i]) {
 		send_to_all("playerleave %d", i+1);
+		write_connected();
 		if (playing_game)
 		    player_loses(i+1);
 		free(players[i]);
diff -ur tetrinet/server.h tetrinet-new/server.h
--- tetrinet/server.h	Sun Sep 20 21:15:01 1998
+++ tetrinet-new/server.h	Mon Nov 20 02:41:58 2000
@@ -3,6 +3,7 @@
 
 extern void read_config(void);
 extern void write_config(void);
+extern void write_connected(void);
 extern int server_main(void);
 
 #endif	/* SERVER_H */
Only in tetrinet-new: server.o
Only in tetrinet-new: sockets.o
Only in tetrinet-new: tetrinet
Only in tetrinet-new: tetrinet-server
Only in tetrinet-new: tetrinet.o
Only in tetrinet-new: tetris.o
Only in tetrinet-new: tty.o
Only in tetrinet-new: xwin.o

