Update of /cvsroot/netrek/server/Vanilla/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1346/tools Modified Files: Makefile.in players.c Log Message: multicast server discovery Index: Makefile.in =================================================================== RCS file: /cvsroot/netrek/server/Vanilla/tools/Makefile.in,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile.in 14 Jan 2006 00:48:08 -0000 1.3 +++ Makefile.in 22 Feb 2006 09:18:30 -0000 1.4 @@ -88,7 +88,7 @@ $(INSTALLPROG) $(INSTALLOPTS) ltd_dump $(DESTDIR)$(LIBDIR)/tools/ltd_dump $(INSTALLPROG) $(INSTALLOPTS) updated $(DESTDIR)$(LIBDIR)/updated $(INSTALLPROG) $(INSTALLOPTS) cambot $(DESTDIR)$(LIBDIR)/cambot - $(INSTALLPROG) $(INSTALLOPTS) metaget $(DESTDIR)$(LIBDIR)/metaget + $(INSTALLPROG) $(INSTALLOPTS) metaget $(DESTDIR)$(LIBDIR)/tools/metaget # cb_sock.o: packets.h ../ntserv/socket.c # $(CC) -o ./cb_sock.o -g $(CFLAGS) -DCAMBOT -c ../ntserv/socket.c @@ -176,12 +176,13 @@ conq_vert: conq_vert.o $(CC) -o $@ $(CFLAGS) ${LDFLAGS} conq_vert.o +metaget: metaget.o + $(CC) -o $@ $(CFLAGS) ${LDFLAGS} metaget.o + trekon: ${srcdir}/mktrekon ${srcdir}/trekon.bitmap ${srcdir}/trekoff.bitmap ${srcdir}/mktrekon $(LIBDIR) chmod a+x trekon -metaget: metaget.c - installtrekon: trekon @if [ -f $(DESTDIR)$(LIBDIR)/trekon ]; then touch $(DESTDIR)$(LIBDIR)/trekon; \ else cp trekon $(DESTDIR)$(LIBDIR)/trekon; \ Index: players.c =================================================================== RCS file: /cvsroot/netrek/server/Vanilla/tools/players.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- players.c 2 Jan 2006 08:07:05 -0000 1.2 +++ players.c 22 Feb 2006 09:18:30 -0000 1.3 @@ -183,6 +183,21 @@ return 0; /* satisfy lint */ } +/* server comment */ +static char *comment() { +#define MAXPATH 256 + char name[MAXPATH]; + snprintf(name, MAXPATH, "%s/%s", SYSCONFDIR, "comment"); + FILE *file = fopen(name, "r"); + if (file == NULL) return ""; + static char text[80]; + char *res = fgets(text, 80, file); + fclose(file); + if (res == NULL) return ""; + res[strlen(res)-1] = '\0'; + return res; +} + /* player count on a queue */ static int pc(int queue) { int j, n = 0; @@ -215,21 +230,19 @@ /* compose a reply packet */ char packet[128]; + /* s,type,comment,ports,port,players,queue[,port,players,queue] */ /* if server isn't running, send simple reply */ if (!openmem(-1)) { - // s,type,port,players,queue[,port,players,queue] - sprintf(packet, "s,B,1,2592,%d,%d\n", 0, 0); + sprintf(packet, "s,B,%s,1,2592,%d,%d\n", comment(), 0, 0); } else { if (status->gameup & GU_INROBOT) { - int q = QU_PICKUP; - // s,type,port,players,queue[,port,players,queue] - sprintf(packet, "s,B,1,2592,%d,%d\n", pc(q), ql(q)); - } else { int q1 = QU_HOME; int q2 = QU_AWAY; - // s,type,port,players,queue[,port,players,queue] - sprintf(packet, "s,B,2,4566,%d,%d,4577,%d,%d\n", - pc(q1), ql(q1), pc(q2), ql(q2)); + sprintf(packet, "s,B,%s,2,4566,%d,%d,4577,%d,%d\n", + comment(), pc(q1), ql(q1), pc(q2), ql(q2)); + } else { + int q = QU_PICKUP; + sprintf(packet, "s,B,%s,1,2592,%d,%d\n", comment(), pc(q), ql(q)); } }