Tue Sep 30 14:52:28 2008 James Cameron * netrek-server-vanilla-2.15.0 released Wed Feb 27 10:35:00 2008 James Cameron * netrek-server-vanilla-2.14.0 released Tue Apr 3 18:24:10 2007 James Cameron * netrek-server-vanilla-2.13.0 released Fri Mar 2 18:36:14 2007 James Cameron * netrek-server-vanilla-2.12.1 released, fixes format string security vulnerability with messaging when EVENTLOG=1 in etc/sysdef. Thu Dec 28 08:34:16 2006 James Cameron * netrek-server-vanilla-2.12.0 released Sun Sep 17 16:38:41 2006 James Cameron * netrek-server-vanilla-2.11.2 released Fri Sep 15 11:25:17 EST 2006 quozl@us.netrek.org * fix robotd to allow debugging using SIGINT * robotd/main.c: remove SIGINT handling, to aid debugging, no known need for SIGINT to be handled in this way. Mon Sep 11 16:01:02 EST 2006 quozl@us.netrek.org * remove unnecessary delay in conquer test Mon Sep 11 15:51:27 EST 2006 quozl@us.netrek.org * fix tests to use shell path * tests/conquer, genocide: fix scripts to use the shell path to find the programs, so that LIBDIR doesn't need to be recorded here. Mon Sep 11 15:41:06 EST 2006 quozl@us.netrek.org * fix xtkill exit status Mon Sep 11 15:40:38 EST 2006 quozl@us.netrek.org * fix robots to obey GU_GAMEOK termination Mon Sep 11 14:37:31 EST 2006 quozl@us.netrek.org * add path tools * tools/getpath.c: program to return various path combinations for use by scripts and tests. * tools/setpath.in: script to set shell PATH, intended for use in a .profile or .bashrc file. * configure.in: add tools/setpath Note: since configure.in is changed, you should re-run autoconf. Mon Sep 11 09:39:53 EST 2006 williamb@its.caltech.edu * Fix for long names with scores tools * In the case of player names with maximum name length, adding a "_" to the end would overflow the alloted string size and cause problems such as scores A corrupting passwords. This patch instead copies the player name to a new buffer of appropriate size, then adds the "_". M ./Vanilla/tools/html.c -3 +4 M ./Vanilla/tools/mergescores.c -2 +4 M ./Vanilla/tools/scores.c -2 +4 M ./Vanilla/tools/text.c -3 +4 Fri Sep 8 09:51:43 EST 2006 quozl@us.netrek.org * Add README.ban, review * README.ban: rewrite in NPOV and include references to code. * tools/admin/*: change to use var for admin.log * tools/admin/ban: avoid creating access file since this would break server. Thu Sep 7 19:28:47 EST 2006 williamb@its.caltech.edu * Add README.ban * README.ban: new file, explains how banned and access files work. A ./Vanilla/docs/README.ban Thu Sep 7 13:42:17 EST 2006 quozl@us.netrek.org * Sysdef option for admin password, review * ntscmds.c: add log entries for uses of admin commands, use case-exact comparison to increase password range, add delay to make dictionary or brute-force attacks difficult. Thu Sep 7 11:52:07 EST 2006 williamb@its.caltech.edu * Sysdef option for admin password * Adds sysdef option ADMIN_PASSWORD for authorizing in game through the admin command. The default password is password; for security reasons, this password will never give verification as admin. The password must be changed to something else for it to work. M ./Vanilla/docs/sample_sysdef.in +4 M ./Vanilla/include/data.h +2 M ./Vanilla/include/defs.h +1 M ./Vanilla/include/sysdefaults.h +3 M ./Vanilla/ntserv/data.c +2 M ./Vanilla/ntserv/ntscmds.c -15 +10 Wed Sep 6 16:55:11 EST 2006 quozl@us.netrek.org * review ban_noconnect * main.c: send bad version packet so that client exits cleanly. Wed Sep 6 16:43:10 EST 2006 williamb@its.caltech.edu * Perm banned doc fix * Clarify that the sysdef option BAN_NOCONNECT only works on permanently banned players, i.e. those banned by the administrator. M ./Vanilla/docs/sample_sysdef.in -1 +1 M ./Vanilla/include/sysdefaults.h -1 +1 Wed Sep 6 16:20:29 EST 2006 williamb@its.caltech.edu * Sysdef option for noconnect for perm bans * Adds sysdef option BAN_NOCONNECT to stop permanently banned players from even connecting to server (no ntserv is launched, player exits early on in main.c). M ./Vanilla/docs/sample_sysdef.in +3 M ./Vanilla/include/data.h +1 M ./Vanilla/include/sysdefaults.h +3 M ./Vanilla/ntserv/data.c +1 M ./Vanilla/ntserv/main.c +9 Wed Sep 6 14:59:28 EST 2006 williamb@its.caltech.edu * Fixes for observer muting * Adds new sysdef option OBSERVER_MUTING to turn on/off muting for all observers. Also fixes the bug where banned observers were not being muted properly. Banned observers will be muted independent of the OBSERVER_MUTING setting. M ./Vanilla/docs/sample_sysdef.in +3 M ./Vanilla/include/data.h +3 M ./Vanilla/include/sysdefaults.h +5 M ./Vanilla/ntserv/data.c +3 M ./Vanilla/ntserv/main.c -4 +2 M ./Vanilla/ntserv/socket.c -2 +2 Wed Sep 6 10:53:14 EST 2006 williamb@its.caltech.edu * Sysdef option for preT idling * Adds sysdef option SAFE_IDLE for allowing people to idle safely prior to t-mode beginning and not take any damage, if they meet the requirements (no t-mode, 0 kills, max fuel, max shields, 0 damage, and orbiting a homeworld planet). M ./Vanilla/docs/sample_sysdef.in +4 M ./Vanilla/include/data.h +1 M ./Vanilla/include/sysdefaults.h +3 M ./Vanilla/ntserv/daemonII.c +30 M ./Vanilla/ntserv/data.c +1 Mon Sep 4 14:41:52 EST 2006 quozl@us.netrek.org * fix ghostbust no ping alive response * daemonII.c: during a no-ping-alive ghostbust, there are two ghostbust messages posted. This fixes the problem by moving the posting of the messages to the time after explosion. The army rescue occurs then as well. Fri Sep 1 16:38:30 EST 2006 quozl@us.netrek.org * document getpath * getpath.c: explain how it works. Wed Aug 30 21:29:30 EST 2006 quozl@us.netrek.org * fix army rescue on observ ghostbust, review * daemonII.c: review of prior change, found a path that could lead to army rescue due to status change. Fixed. Wed Aug 30 20:51:48 EST 2006 quozl@us.netrek.org * fix army rescue on observ ghostbust * daemonII.c: avoid rescuing armies for observers. Tue Aug 29 04:27:40 EST 2006 williamb@its.caltech.edu * Addendum to multi install instructions * INSTALL: forgot to mention to rerun configure M ./Vanilla/INSTALL -1 +2 Tue Aug 29 11:16:19 EST 2006 quozl@us.netrek.org tagged 2006-08-29 Sat Aug 26 07:54:11 EST 2006 williamb@its.caltech.edu * Robot server spam reduction * basepdefs.h/newbiedefs.h/pretdefs.h: Changes default welcome message from 2 to 10 minutes to cut down on spam. * newbie.c: Provides a working link to the newbie manual. M ./Vanilla/robots/basepdefs.h -1 +1 M ./Vanilla/robots/newbie.c -1 +1 M ./Vanilla/robots/newbiedefs.h -1 +1 M ./Vanilla/robots/pretdefs.h -1 +1 Tue Aug 29 04:04:21 EST 2006 williamb@its.caltech.edu * Install directions on running multiple servers * INSTALL: add a section on how to run 2 instances of a server on 1 machine. M ./Vanilla/INSTALL +13 Mon Aug 28 16:59:56 EST 2006 williamb@its.caltech.edu * Pret enhancements part1 - cleanup, debug This patch removes unneeded comments, makes some format fixes, and removes an internal function for sending debug output to any slot. This function was unsafe, as it could be used maliciously to send spam debug output. It also prevented messages like "help" from being sent to Kathy. * pret.c: checkMessage function removed. Extra long output lines split into 2 lines for readability. Minor format fixes, and unneeded commented out code removed. M ./Vanilla/robots/pret.c -62 +19 Mon Aug 28 15:02:44 EST 2006 williamb@its.caltech.edu * Newbie enhancements part1 - cleanup, debug This patch cleans up newbie.c by removing some unused variables, making some small format fixes, and adding debugging info as is seen in pret.c. The purpose of this patch and the next patches I will submit are to make newbie.c and pret.c as similar as possible, at which point I can then look to factorize as much code as possible into common functions. As this is a larger project, I'm breaking it down into smaller chunks, by adding features to newbie.c that are done better in pret.c, and vice versa. * newbie.c: debugTarget and debugLevel added to provide debug output to monitor number of bots and humans in game. Code similar to that in pret.c. start_a_robot routine: added safety check in case robot team not selected properly totalPlayers(): new function, code similar to pret.c, used in debug output Fixed typo in commands file instructions. Removed unused variables and unneeded comments M ./Vanilla/robots/newbie.c -19 +61 Mon Aug 28 14:44:59 EST 2006 williamb@its.caltech.edu * Basepractice unused variable removed * basep.c: removes unused max_player definition, if it were to be added in the future, it would be in basepdefs.h anyways. M ./Vanilla/robots/basep.c -3 Mon Aug 28 14:02:07 EST 2006 quozl@us.netrek.org * fix attempt for pret hang on bsd * alarm.c: diagnostic evidence from a BSD system showed that the alarm_count was going negative, which could only be caused if the pause(2) was returning for a signal other than that requested. Changed the code to accept this situation and to check the alarm_count before decrementing it. Mon Aug 28 12:34:40 EST 2006 quozl@us.netrek.org * fix bsd socket include Mon Aug 28 12:28:59 EST 2006 quozl@us.netrek.org * fix signal build errors on bsd Fri Aug 25 16:00:34 EST 2006 quozl@us.netrek.org * remove old policy, add libnetrek and sysdef hints Fri Aug 25 14:17:00 EST 2006 williamb@its.caltech.edu * Merlin responds to help * newbie.c: Have Merlin responds to being sent help, as the other robots such as SMACK and Kathy do. M ./Vanilla/robots/newbie.c +14 Fri Aug 25 13:58:22 EST 2006 williamb@its.caltech.edu * Move newbie slot control to sysdef This patch moves control of the number of robots and players allowed in the newbie server, from the newbiedefs file, to sysdef. It also adds an improved tracking method of the number of in game robots. * sample_sysdef.in, data.h, data.c, sysdefaults.h: Adds MAX_NEWBIE_PLAYERS and MAX_NEWBIE_ROBOTS. * newbiedefs.h: Removes slot control defines. * newbie.c (totalRobots()): New function. Replaces nb_robots counter. checkmess(): Adds check against player and robot counts before starting/stopping bots. M ./Vanilla/docs/sample_sysdef.in +6 M ./Vanilla/include/data.h +2 M ./Vanilla/include/sysdefaults.h +5 M ./Vanilla/ntserv/data.c +2 M ./Vanilla/robots/newbie.c -8 +27 M ./Vanilla/robots/newbiedefs.h -5 Fri Aug 25 12:31:11 EST 2006 williamb@its.caltech.edu * Sysdefault instructions correction * sysdefaults.h: Point to .in file for sample sysdef additions. M ./Vanilla/include/sysdefaults.h -1 +1 Fri Aug 25 03:36:29 EST 2006 williamb@its.caltech.edu * Increase newbie slots from 8 to 16 * queue.c: Previous patch that reassigned newbie queue to different defines than pre-t queue made it so the max # of players decreased from 16 to 8, this patch restores newbie queue status to be identical to pret queue status. M ./Vanilla/ntserv/queue.c -3 +3 Thu Aug 24 11:18:32 EST 2006 williamb@its.caltech.edu * Ingame admin tool fixes * autogen.sh: chmod admin scripts to executable * ntscmds.c (do_admin): fixes path to admin scripts M ./Vanilla/autogen.sh +1 M ./Vanilla/ntserv/ntscmds.c -5 +5 Thu Aug 24 21:55:52 EST 2006 quozl@us.netrek.org * Pret queue renumbering, review * defs.h: increase MAXQUEUE to compensate for previous change to QU numbers. Thu Aug 24 09:37:38 EST 2006 williamb@its.caltech.edu * Pret queue renumbering * struct.h: Renumbers PreT queue so it's not defined the same as the newbie queue, this was causing the newbie server to report the queue as being the pret queue. M ./Vanilla/include/struct.h -4 +4 Thu Aug 24 01:13:16 EST 2006 williamb@its.caltech.edu * Standardize planet locs for basepractice * basep.c (fix_planets): Calls setplanet to reset planet locations to standard settings, to be consistent with how other robot modes set up their galaxy. In some cases, the base practice server could be launched in an odd galaxy configuration, such as hockey or dogfight, depending on the voting history of the server. * puck.c: Minor formatting fix. M ./Vanilla/robots/basep.c +5 M ./Vanilla/robots/puck.c -1 Thu Aug 24 15:13:55 EST 2006 quozl@us.netrek.org * add setgame wait-for-terminate command * setgame.c: add wait-for-terminate command to be used by test scripts that would otherwise have to poll for the existence of running daemon. Thu Aug 24 15:13:17 EST 2006 quozl@us.netrek.org * disable ban pre-queue for observers Thu Aug 24 14:46:10 EST 2006 quozl@us.netrek.org * remove ban vote expiry by login, add ban queue Removes the ban expiry by number of logins feature, superceded by the expiry by duration. Adds a pre-queue delay for any client that connects while there are other connections from the same IP address already on the queue. Adds a pre-queue delay for any temporarily banned client. * struct.h, sample_sysdef.in, sysdefaults.h: remove b_expire. * bans.c: remove ban expiry by number of logins. * data.h, data.c, main.c, socket.c: add textual ip address of client to global variables. * struct.h, queue.c: add ip address of client to wait queue entry. * bans.c: add function to return remaining ban time, provided a ban is current. * findslot.c: place player on a pre-queue also if they already have a place in the queue. Attempts to reduce effect of denial of service attacks. * findslot.c: if banned, place player on a pre-queue and provide countdown to ban expiry. If the ban is only fresh, within the last minute, then allow the player through so that they are told again of their ban. Wed Aug 23 15:13:21 EST 2006 quozl@us.netrek.org * adopt sigpipe implementation for ntserv * Makefile.in: add sigpipe to libnetrek. * daemonII.c: use alarm_send rather than kill. * input.c, socket.c, death.c: use sigpipe for SIGALRM rather than unsafe functions called from signal handler. Wed Aug 23 15:11:53 EST 2006 quozl@us.netrek.org * fix fix use of unsafe functions in signal handler, robots * inl.c, mars.c, marsmove.c, newbie.c, pret.c, puck.c, puckmove.c, rmove.c, robotII.c: remove use of unsafe functions in SIGALRM handler. Wed Aug 23 15:09:42 EST 2006 quozl@us.netrek.org * add sigpipe implementation * sigpipe.c: the only reliable and portable method to combine a select(2) based event loop with signals is to translate the signals into messages arriving on a pipe and then select on the pipe file descriptor as well. Wed Aug 23 08:27:19 EST 2006 williamb@its.caltech.edu * Fix so basepractice bots don't get ip blocked by duplicate sysdef option * findslot.c (player_count_by_ip): No longer count base practice robots against player count from that IP address. M ./Vanilla/ntserv/findslot.c +1 Wed Aug 23 11:49:48 EST 2006 quozl@us.netrek.org * fix use of unsafe functions in signal handler, daemon, basep * alarm.c, alarm.h: merge common alarm signal handling functions. * basep.c, daemonII.c: use common functions and change main loop to execute always in non-signal context. Wed Aug 23 09:45:30 EST 2006 williamb@its.caltech.edu * Basepractice server improvements These changes fix a bug where SMACK would ghostbust if sent a request to spawn enough bots. This patch also makes the basepractice server run right out of the box, rather than forcing the user to modify the basepdefs settings. * basepdefs.h: Removes running the bots remotely as the default setting, and adds a new define for the max number of bots (mirroring how newbiedefs.h is set up) * README.basep: Gives example of remote RCMD setting for those who would still want this information * basep.c (reaper(), do_start_robot(), startrobot()): Adds a counter for number of robots spawned. (startrobot()), do_start_robot(), startrobot()): Adds a counter for number of robots spawned. (startrobot()): Removes sleep() in favor of counter, and adds extra safety check if fork = -1, similar to what is done in newbie.c. (start_internal()): small formatting fix. M ./Vanilla/docs/README.basep -1 +1 M ./Vanilla/robots/basep.c -7 +12 M ./Vanilla/robots/basepdefs.h -2 +4 Wed Aug 23 09:45:37 EST 2006 quozl@us.netrek.org * Addition of missing options to sample sysdef, review Wed Aug 23 08:01:43 EST 2006 williamb@its.caltech.edu * Addition of missing options to sample sysdef * sample_sysdef.in: Adds 4 options that were in sysdefaults but missing from sysdef. M ./Vanilla/docs/sample_sysdef.in +12 Wed Aug 23 01:08:41 EST 2006 williamb@its.caltech.edu * Adding vote tag to voting command structure * gencmds.h: Formalizes the definition of C_PR_INPICKUP, and adds a new tag C_PR_VOTE gencmds.c (do_help): Only list vote commands if VOTING is set in sysdef ntscmds.c (struct command_handler_2 nts_commands): Adds C_PR_VOTE tag to the vote commands. Removes redefinition of C_PR_INPICKUP, as this is now defined in gencmds.h M ./Vanilla/include/gencmds.h -6 +7 M ./Vanilla/ntserv/gencmds.c -1 +3 M ./Vanilla/ntserv/ntscmds.c -10 +8 Wed Aug 23 01:25:04 EST 2006 williamb@its.caltech.edu * Remove ability to vote if VOTING=0 * gencmds.c (check_2_command) If a command is tagged as a vote, voting must be turned on for the command to execute. This fixes a bug where if voting was off, vote commands could still be used, and they would pass with just 1 vote. M ./Vanilla/ntserv/gencmds.c +2 Wed Aug 23 03:59:51 EST 2006 williamb@its.caltech.edu * Dogfight map file fix * marsdefs.h: Correctly defines mapfile (it no longer has the leading period in filename). M ./Vanilla/robots/marsdefs.h -1 +1 Wed Aug 23 09:20:47 EST 2006 quozl@us.netrek.org * Ban vote duration in sample sysdef, review * docs/sample_sysdef.in: add back lost text caused by my editing sample_sysdef instead of sample_sysdef.in. Tue Aug 22 22:40:35 EST 2006 williamb@its.caltech.edu * Ban vote duration in sample sysdef * (sample_sysdef.in): Adds BAN_VOTE_DURATION. M ./Vanilla/docs/sample_sysdef.in +5 Wed Aug 23 09:14:13 EST 2006 quozl@us.netrek.org * Improved tracking of server modes, review Wed Aug 23 06:36:42 EST 2006 williamb@its.caltech.edu * Improved tracking of server modes The purpose of this patch is to keep better track of what sort of robot mode the server is running, and to make consistent use of the server status states defined in struct.h. This makes the code easier to understand in some places (especially regarding the inl robot), and it allows for a smarter vote system, as votes will no longer pass if the server is already running the mode voted on. This enhances server stability in the case of rapid switching between modes (dogfight, hockey, basepractice, and inl). The server will no longer get "stuck" in a hockey galaxy, which has happened in the past when hockey was voted on twice. Likewise for getting "stuck" in dogfight mode. The initial startup robot mode, as defined in sysdef, is also recognized, and that mode is not able to be voted again until that robot exits. There should now never be the case where there are simultaneous duplicate robots, i.e. 2 hockey announcers, 2 SMACK basepractice starters, etc. * struct.h: Addition of GU_PUCK and GU_DOG server status. Addition of server mode defines. conquer.c, daemonII.c, death.c, getname.c, solicit.c, players.c: Replace compound bit statements with server mode defines. mars.c, marsmove.c, puck.c, puckmove.c: Track server status with new GU defines. ntscmds.c: Add check before launching puck, mars, newbie, or pre_t robots. M ./Vanilla/include/struct.h -4 +10 M ./Vanilla/ntserv/conquer.c -2 +2 M ./Vanilla/ntserv/daemonII.c -7 +7 M ./Vanilla/ntserv/death.c -1 +1 M ./Vanilla/ntserv/getname.c -1 +1 M ./Vanilla/ntserv/ntscmds.c -1 +21 M ./Vanilla/ntserv/solicit.c -10 +8 M ./Vanilla/robots/mars.c +1 M ./Vanilla/robots/marsmove.c -1 +1 M ./Vanilla/robots/puck.c +1 M ./Vanilla/robots/puckmove.c +1 M ./Vanilla/tools/players.c -1 +1 Tue Aug 22 13:28:23 EST 2006 williamb@its.caltech.edu * Newbie server documentation update2 * INSTALL.Newbie - mention observer port, and point to robot command file M ./Vanilla/INSTALL.Newbie +3 Fri Aug 18 12:06:53 EST 2006 quozl@us.netrek.org * comindico whitelist removal, quozl specific Fri Aug 18 10:23:07 EST 2006 quozl@us.netrek.org * noted new bug, signal handler calls unsafe functions Thu Aug 17 11:59:47 EST 2006 quozl@us.netrek.org * initial design of checkpointing * PROJECTS.checkpointing: an initial design for checkpointing support that should allow live changes to code. Tue Aug 15 14:21:03 EST 2006 quozl@us.netrek.org * add ban tools * tools/ban.c: add tool to display ban list, ban a player from command line, dump the list, and reload the list. * tools/Makefile.in: add new ban program. Tue Aug 15 13:12:42 EST 2006 quozl@us.netrek.org * add ban vote duration * include/data.h, ntserv/data.c, include/sysdefaults.h: add new BAN_VOTE_DURATION sysdef option. * ntserv/main.c, ntscmds.c, Makefile.in, proto.h, bans.c: move ban logic into one source file. * daemonII.c: every minute, age the temporary bans. Wed Aug 9 17:09:52 EST 2006 quozl@us.netrek.org * add live daemon release target * ntserv/Makefile.in: add target to release a new daemon, though it does not replace the running daemon. That's an idea for later. Wed Aug 9 15:57:41 EST 2006 quozl@us.netrek.org * fix test to correctly reproduce parade ring overlap Wed Aug 9 14:39:54 EST 2006 quozl@us.netrek.org * fix for conquer parade alignment, alternate * ntserv/conquer.c (conquer_ships_ring, conquer_parade): add a counter for calculating ring coordinates rather than using player list position. Tue Aug 8 15:47:00 EST 2006 quozl@us.netrek.org * add test for conquer parade slot alignment bug * tests/parade-bug-2006-08-07: a test to try to reproduce the bug reported by Niclas where iggy slots end up in the same screen position as player slots. Tue Aug 8 15:44:56 EST 2006 quozl@us.netrek.org * add planet orbit and take test scripts * tools/setplanet.c: add be-orbited-by and be-taken-by test actions, for use by test scripts. They cheat, and are therefore not intended for production use. Tue Aug 8 10:24:18 EST 2006 quozl@us.netrek.org * minor indentation fixes prior to review * ntserv/conquer.c: tabify, some added lines lacked tabs, made it inconsistent. Thu Jun 22 12:21:26 EST 2006 williamb@its.caltech.edu * Semi-critical update fix * socket.c (updateClient): clarifies purpose of packet type check against 0x40, adds check for SP_S_YOU case. Thu Jun 22 11:35:21 EST 2006 williamb@its.caltech.edu * Show geno messages for observers * genspkt.c (sndSelf and sndSSelf): Factorized check for whether packet should be marked as critical. (check_sendself_critical): New function. Player status (via sndPStatus) is sent before player whydead (via sndSelf or sndSSelf). When whydead changes, the packet must be marked as critical in order for that information to arrive first, so that observers can get a proper whydead message upon genocide. This was previously done for just sndSelf, but with this patch, both sndSelf and sndSSelf now do it, and observers get geno messages with short packets on. Sat Jul 8 01:16:41 EST 2006 williamb@its.caltech.edu * Formatting fix for if statement in interface.c * interface.c: (do_refit). Fixes if statement split over 3 lines. Sat Jul 8 01:25:31 EST 2006 williamb@its.caltech.edu * Command file for PreT robots * robots/pret.c: (start_a_robot) Adds the ability to read in a command file, as per the command file defined in pretdefs.h, but which was unused for whatever reason. Note that both the newbie server and basepractice server are set to use the same file, defined as COMFILE in pretdefs.h, basepdefs.h, and newbiedefs.h. As these modes are mutually exclusive, it is ok for them to read in robot commands from the same commands file. M ./Vanilla/robots/pret.c -1 +3 Mon Jul 10 11:47:03 EST 2006 quozl@us.netrek.org * adjust test scripts for xtkill changes * tests: some scripts used "xtkill k" repeatedly to grant kills, changed to use the additional parameter. Note that this additional parameter is not immediately after the option, like it is with T or t options. Sat Jul 8 01:30:51 EST 2006 williamb@its.caltech.edu * Xtkill settable kills * xtkill.c (main): Adds the ability to specify the number of kills to increment the player, identical to how the increment armies option works, rather than just adding +1 kill per use of the xtkill k option. M ./Vanilla/tools/xtkill.c -2 +5 Fri Jun 23 14:00:57 EST 2006 williamb@its.caltech.edu * Xtkill bug fixes * xtkill.c (Usage): Added 2 missing options (u and H) to options list. (main): Removed call to getshipdefaults(), as this data was already in memory, and it had the unintended consequence of erasing any modifications to ship values that were set in the sysdef file, forcing a sysdef reload every time xtkill was used. Fri Jun 30 19:29:32 EST 2006 jimmyhua73@yahoo.com * robotd-carriage-return-added-to-death-messages.dpatch * robotd/death.c in function death(), I added newline character to the reason of death on all mprintf statements "\n", so it displays properly in debug mode. Wed Jul 5 16:27:26 EST 2006 quozl@us.netrek.org * freebsd compilation fix, missing header * ntserv/main.c: add signal.h include, after a report from a FreeBSD user showed that my enthusiastic trimming of headers had broken compilation on other operating systems. Mon Jul 3 12:19:15 EST 2006 quozl@us.netrek.org * avoid lies to metaserver due pre-t robots * solicit.c: count PFBPROBOT slots as being free, since we expect them to back off and quit if a player arrives, so that the metaserver report of players properly excludes pre-t robots. Mon Jul 3 01:31:28 EST 2006 jimmyhua73@yahoo.com * further-fixes-to-war-decs.dpatch This completes the fixes I started with war declarations. Basically, war is declared when 1. t-mode starts. 2. bot is forced to switch teams Further peace is declared when: 3. everytime you take out a new ship. This should cover all scenarios in a typical pickup game. Tested by having robots join a bronco style game. 1 Kli, 4 feds, 4 Roms. Check war decs. Have the 1 kli get forced to join one of the t-mode teams. Check war decs Have Feds get timercided, and get forced to join Klis. Check war decs. Wait till Roms cause a genocide (Roms will take a neutral planet!). Then games continues as Rom vs. Kli, and check war decs. Changelog here: * robotd/update_players.c changed declare_intents() function so that it will return success or failure codes. Also, changed function so that you may declare peace only, by doing declare_intents(1). * robotd/decide.c added static int needswardec in function decide() so that robot can track when t-mode dies off and starts up again. * robotd/decide.c added in function decide() logic so, declare_intents(0) function gets called when t-mode just starts up. * robotd/decide.c modified in function decide() other calls to declare_intents() so that they conform to the extra parameter passing * robotd/robot.c added comment in function s_recharge() a peace request never gets called when robot orbits a planet it originally wanted to refuel from * robotd/robot.c in function find_safe_planet() fixed some buggy logic which allowed robots to head towards hostile planets to refuel/repair. * robotd/robot.c in function reset_r_info() modified call to declare_intents() to conform to newly modified function. Fri Jun 30 12:55:45 EST 2006 quozl@us.netrek.org * continuum ghostbust diagnostics * daemonII.c (ghostmess): add reason for ghostbust to message, and increase logging of normal ghostbust timeout in ERRORS. Fri Jun 30 12:29:04 EST 2006 quozl@us.netrek.org * untabify daemon main * daemonII.c: removed all tabs using untabify in emacs. Fri Jun 30 12:08:43 EST 2006 quozl@us.netrek.org * newbie robots war declarations test Fri Jun 30 11:14:31 EST 2006 quozl@us.netrek.org * Newbie robots now declare war properly in pickup games Derived from Jimmy Huang's patch of the same name. * robotd/data.c: fixed comment misspelling in int delay. delay for declaring war. * robotd/decide.c (decide): added some comments to help me follow the code better * robotd/main.c (main): fixed up indentation of variable declarations. Added switchedteams variable. Modified main() function so that when a team switch occurs, declare_intents() gets called after choosing a new ship. * robotd/robot.c (reset_r_info): added some commentary on the declare_intents() call, which only gets something done only if someone sends a reset command to the robot. * robotd/robot.c (send_initial): removed commented code of declare_intents(). This was a bug workaround, robot sends a dummy packet so it doesn't get ghostbusted. Doesn't seem needed anymore. * robotd/update_players.c (declare_intents): added commentary on how this function is supposed to work. Function will now properly declare war on the 2 teams with the most players that isn't the same team as yourself. And then declares peace with everyone else. Thu Jun 22 11:53:54 EST 2006 quozl@us.netrek.org * continuum ban vote tweaks 2006-06 Following review of continuum recording 2006-06-07-22-00: - require four votes to ban instead of two, to defeat ban scumming, - expire ban votes within two minutes instead of ten, - expire eject votes within five minutes instead of ten. Tue Jun 20 10:50:09 EST 2006 williamb@its.caltech.edu * xtkill ship change fixes * tools/xtkill.c: Adds the ability to set ship to galaxy class, removes unneccessary ship size change for ATT, and updates the list of valid ship types to include the super SC with 1 point torps (this was missing from list of valid ship types). M ./Vanilla/tools/xtkill.c -8 +5 Fri Jun 16 20:34:48 EST 2006 jimmyhua73@yahoo.com * newbie-observer-ports.dpatch * docs/sample_ports added observer port definitions for newbie server. Added commentary to make it easier to configure the port configuration for a newbie server setup. Wed Jun 7 06:08:21 EST 2006 williamb@its.caltech.edu * Chaos mode starbase enhancements * orbit.c, transwarp.c: Allows starbases to transwarp to and dock with other bases if chaos mode is activated. Wed Jun 7 06:06:52 EST 2006 williamb@its.caltech.edu * Twarp message fix * transwarp.c: Fixes outdated reference to transwarp hours. Sat Jun 3 19:26:50 EST 2006 williamb@its.caltech.edu * ATT and invalid ship fixes * getentry.c, main.c: allow listing of ATT on features screen, and allow player to select ATT from entry window if ship is defined in sysdef as a valid ship. Also fixes incorrect error message in the case of invalid ship type. Wed Jun 14 20:31:04 EST 2006 Stephen Thorne * null-terminate-mapchars-indentfix Wed Jun 14 20:55:40 EST 2006 jimmyhua73@yahoo.com * null-terminate-mapchars * robotd/struct.h modify mapchars to 3 characters to hold the NULL at the end * robotd/enter.c initialize final character to be NULL at the end when the robot first enters the game. Tue Jun 13 20:44:25 EST 2006 jimmyhua73@yahoo.com * robotd-improved-army-tracking.dpatch * INSTALL.Newbie updated installation documentation to reflect changes in code. Also, CONFIRM=0 only works, CONFIRM=2 does not work. * INSTALL.Newbie added toggle robdc, assume robots don't carry. Also added lookahead=0 to emulate how robots were before Trent fixed the torp-dir bug. * robotd/data.c added extern int robdc (robots don't carry) * robotd/data.h extern int robdc defaults to not activated. * robotd/data.h added compiler define NO_PFORBIT, so robot doesn't depend on PFORBIT flag to determine if someone is picking armies or not. * robotd/dmessage.c added robdc in help. added robdc in messaging logic. * robotd/update_players.c commented out a continue; statement as the for loop gets exited too quickly sometimes. * robotd/update_players.c stale information of p->closest_pl is kept even when enemy becomes invisible. Will be used later. * robotd/update_players.c don't update last x or y if invisible. * robotd/update_players.c changes to check_orbit() function to make sure players is marked as orbiting a planet when cloaked near a planet, or invisible. * robotd/update_players.c changed some debug statements to make them more readable during a denemy debug session. * robotd/update_players.c army_check1() and army_check2() added logic so if robdc is activated, robot doesn't track fellow robot carriers. * robotd/update_players.c added some commentary so the army tracking code is more readble. Commented out a beam-down to friendly in favor of the more pessimistic possibility that the planet simply popped. Fri Jun 9 08:37:09 EST 2006 williamb@its.caltech.edu * Cross-transwarp check * transwarp.c: Prevent transwarping to a base that is already in transwarp. Thu Jun 1 14:06:43 EST 2006 quozl@us.netrek.org * post 2.11.1 release process notes Thu Jun 1 13:35:48 EST 2006 quozl@us.netrek.org * include config.guess in make dist Thu Jun 1 13:30:11 EST 2006 quozl@us.netrek.org * include config.sub in make dist Thu Jun 1 12:47:18 2006 James Cameron * netrek-server-vanilla-2.11.1 released Tue May 30 09:49:50 2006 Stas Pirogov * autogen.sh: aclocal should be run first to avoid libtoolize warning about missing aclocal.m4. Also added --copy to libtoolize to make sure developer doesn't mess up system wide config.guess and config.sub. * config.h.in: comments are not allowed to present in same line as 'undef VARIABLE', otherwise the VARIABLE will never be set. This patch fixes two such mistakes by moving the comments one line above. Mon May 29 19:32:48 2006 Bill Balcerski * ntserv/detonate.c (detothers): the sysdef CHAOS option ignores weapontemp, except for on torp detonation. Fix that inconsistency. Mon May 29 14:24:44 2006 Jimmy Huang * robotd/update_players.c removed this check (strcmp(j->p_login,"robot!") != 0) || !(j->p_flags&PFBPROBOT). and placed it in a Notrobot(p,j) function. * robotd/update_players.c removed some unused variables in army_check3(p,j) function. * robotd/update_players.c fixed indent on army_check3() function and also army_check2() function. Sat May 27 18:55:49 2006 James Cameron * ntserv/openmem.c: experimental rework to support wait queue dumping, and multiple server instances in separate shared memory segments. Provide interface so findslot will be able to detach from an active game segment and create and attach to a new game segment. Accept NETREK_PKEY environment variable. Sat May 27 17:10:00 2006 James Cameron * ntserv/ntscmds.c (do_become): add experimental and not yet functioning code to support change of slot number for a player. Requires client-side support and further work. Sat May 27 11:57:00 2006 Jimmy Huang * INSTALL.Newbie updated INSTALL.Newbie to document newer switches. Need to include all possible robot switches in the future. * robotd/data.c added initialization of global variables hm_cr and ogg_happy * robotd/data.h added global variables hm_cr and ogg_happy * robotd/decide.c added check for ogg_happy mode before check_ogg while bombing * robotd/dmessage.c added hcr and ogh message decoding. * robotd/update_players.c moved conservative assumptions that humans carry into a new function called army_check3. * robotd/update_players.c added logic so army_check3 only executes if (hm_cr) global variable is active. Fri May 26 15:45:00 2006 Jimmy Huang * INSTALL.Newbie updated documentation to show how to configure the robots to be dumber * robotd/data.c changed default updates=2.0 instead of 1.0, decreases CPU load by 50% and fights about the same. This is 5 updates per second. * robotd/dmessage.c allow decoding of local messages and commandfile messages even if robot is in INL mode. In INL mode, robots will ignore other players and GOD's commands. * robots/newbie.c checkpos() returns 1, to avoid compiler warning * robots/newbie.c added a bunch of comments on what each option does when Merlin forks a robot. * robots/newbie.c modified the command so robots now read a command file on startup. Thu May 25 14:33:37 2006 Trent Piepho * res-rsa/configure: this is a generated file and shouldn't be kept in the repository. * ntserv/genspkt.c (sndPlasma): in Ping-Pong plasma mode, a plasma changes teams when it is bounced. There is no way to send this change to the client, so the client doesn't know. For example, if a player at peace with us but who we are at war with bounces our (or a teammate's) plasma back at us, it appears to the client that the plasma is friendly. But really, it's not, since we are at war with the plasma's new team. Fix this by setting the plasma's war flag if the player is hostile to the plasma's team. In order to take advantage of this, clients will need to be sure to: 1. Not assume that the player's own plasma is friendly. 2. Not assume that plasma from the player's team is friendly. 3. Make sure to check the plasma's war flags, and not the flags of the player who fired it. * robotd/socket.c (handlePlasmaInfo): * robotd/robot.c (phaser_plasmas): * robotd/dodge.c (init_torps): The robot has code to deal with Ping-Pong plasma, but it's an old version. It doesn't work properly with the current ping-pong plasmas, written by Trent Piepho in 1995 (so the old ones are really old!). Basically, the bots needs to allow for plasma fired by a friendly player becoming hostile to it. Also sets the pl_team member of the plasma struct, which makes getting the plasma's team easier. Thu May 25 14:12:16 2006 James Cameron * include/defs.h (WARMONGER): add customisation setting for configuration of local warmonger, so that we are not caught by change again so easily. * ntserv/daemonII.c (political_begin): deprecate Dan Quayle in favour of George Bush, subject to mailing list discussion. Patch by: William Balcerski with rework by James Cameron. Thu May 25 11:37:27 2006 James Cameron * autogen.sh: add res-rsa to autoconf re-run, * tests/build: test for correct directory, use darcs get instead of put, use autogen.sh instead of running autotools here, add the install target. "darcs put" is slow, the darcs manual recommends "darcs get" instead, which is certainly faster. But "darcs get" must have the exact path to a repo, not like "darcs put". So a test is added to check that we are in the right directory first. Thu May 25 09:57:18 2006 Stas Pirogov * configure.in: configure.in: test for ranlib was failing on Solaris. This is probably caused by different /bin/sh interpreters. This fix should satisfy all of them. Mon May 22 14:31:58 2006 Trent Piepho * Makefile.in: remove calls to glib-config, they aren't needed and fail if glib-config isn't present. Tue May 23 17:21:56 2006 Trent Piepho * ntserv/genspkt.c Fix SP_2 flags, for real. The sndFlags function will not send flags of observers (except for PFOBSERV of course). The SP_2 flag sampling code will sample the flags of robots now. It will not sample observers' flags, except for an observer's own flags. The SP_2 sampling code will update the last sent flags data, so shield/cloak are not sent again via sndFlags(). When sndFlags() does send flags, it will send the correct shield/cloak and not zero. Wed May 24 11:18:31 2006 James Cameron * autogen.sh: add GNU standard autotools configuration sequence, deprecating execution of README.darcs. Manual build process then becomes "sh autogen.sh" followed by the usual configure, make, and make install. Wed May 24 10:48:23 2006 James Cameron * robotd/util.c (mfprintf): fix a regression caused by conversion to stdargs done on Fri Oct 31 09:15:42 2003. Wed May 24 00:34:00 2006 Jimmy Huang * robots/newbie.c changed some tabbing for better indent and bracing consistency. * robots/newbie.c added #defines POSITIONX and POSITIONY so there's only one place the change the desired x and y position of Merlin. * robots/newbie.c added checkpos() function which checks for changes in Merlin's position. Replaces him back into POSITIONX and POSITIONY once it finds that Merlin has stopped moving for 15 seconds. * robots/newbie.c corrected misspellings of various comments. * robots/newbie.c modified num_players() function to return the correct *next_team based on 4 vs. 4 t-mode settings also. Tue May 23 23:36:00 2006 Jimmy Huang * robotd/input.c re-wrote the setflag() function. This function is supposed to update the global variable _udcounter. _udcounter is supposed to be a counter that starts at 0, and increments by 1 for every 100 milliseconds. In the orignal code. _udcounter would do this properly for an undetermined amount of time, (anywhere between 30 minutees to 18 hours, depending on what time of day it was!!!). When _udcounter breaks, usually for several hours on an 18 hour cycle, robots report armies carried, but do not report which planet it intends to take. This is because instead of a positive incrementing number, udcounter counts with a negative decrementing number. A whole bunch of other things break, but they are not obvious unless you are playing the game. Now, _udcounter should work for about 250 days, before breaking. (It still breaks). Tue May 23 14:00:37 2006 James Cameron * ntserv/genspkt.c (sndFlags): for practice robots, terminators, and hunter-killer, in conjunction with short packets version two, shields were not being sent. Changed to send shields in SP_FLAGS. See also "S_P2 new flag sampling" in updateShips(). Reported by William Balcerski. Tue May 23 04:06:08 2006 Trent Piepho * ntserv/genspkt.c Hadley's bot expects to get torp direction from the server, but the server only sends it for your own torps. Changed to send it for other torps too. Without it, the bot thinks all torps are going straight up, making it a very bad dodger (unless you attack from below). Should be fixed to only turn this on for the robot, so as not to help borgs. Tue May 23 03:05:55 2006 Trent Piepho * robotd/assault.c: check for res danger would make the robot cloak when near _any_ home planet, so it would cloak even when bombing it's own core. Fixed this, and made it faster too. Tue May 23 01:51:17 2006 Trent Piepho * robotd/assault.c, robotd/escort.c, robotd/getarmies.c, robotd/robot.c: some calls to req_cloak_off() were missing the function's argument (reason string). Tue May 23 01:07:02 2006 Trent Piepho * robotd/update_players.c: fix a warning about a uninitialized use of pldist in update_players(). Tue May 23 00:57:29 2006 Trent Piepho * robotd/dmessage.c: code to generate the RCD message didn't handle the case when there were no visible friendly and/or enemy ships. In this case, _state.closest_{e,f} would be NULL. Tue May 23 00:52:55 2006 Trent Piepho * robotd/update_players.c: function closest_planet() would usually return NULL every other time it was called. For speed, it would check the previous closest planet first, then look for a _closer_ planet. If it didn't find one, it returned NULL, rather than the previous (and current) closest planet. Mon May 22 16:53:42 2006 Trent Piepho * robotd/decide.c: fix several bugs with check_take(). It didn't handle the case when no enemy planets were left. It looked at the last enemy planet in the list, rather than the target enemy planet when deciding if it should take neut planets. It would skip looking for neuts when it found an enemy agri and *didn't* have enough armies to take it. Mon May 22 16:31:58 2006 Trent Piepho * robotd/assault.c: have robot check the planet status in assault code, so that if a planet changes teams while it being assaulted the robot will adapt. It will not try to drop on a planet it can not drop on, and not try to bomb a planet it can not bomb. Also, the robot will not reinforce a planet past 4 armies after it takes it. Mon May 22 15:39:35 2006 Trent Piepho * robotd/util.c: when mfprintf() was change from varargs to stdarg, it wasn't done correctly. Fix this. Mon May 22 14:03:38 2006 Trent Piepho * res-rsa/configure.in: the check for gmp fails for gmp version 3, fix it by adding a secondary check for the gmp3 symbol names. Mon May 22 10:53:03 2006 Jimmy Huang * robotd/assault.c: added extra check not to bomb your own armies. Bots will try to bomb own armies when 2 carriers drop on same planet. And planet ends up with >4 armies. * robotd/decide.c: changed some tabbing. * robotd/decide.c: corrected logic in check_take function. Robotd now takes neutral planets. Before it had a tendency to ignore neutral planets. Also used to crash out when no more enemy planets. Both are fixed with this. * robotd/main.c, shmem.c, socket.c, update_players.c: removed mfprintf function. replaced with fprintf function until such time that mfprintf function is fixed so it doesn't crash. Bandaid. * robotd/update_players.c: changed some tabbing, added some missing braces. * robotd/update_players.c: changed closest_planet() function to return the current closest planet instead of NULL when it cannot find a closer planet. * robotd/util.c: added comments to reflect that mfprintf causes crashes for as yet unknown reasons. Sun May 21 22:22:41 2006 James Cameron Remove the two second delay experienced by clients that connect to a server on which the daemon is not running. Also fix a cause of initial connection failing, which happens if the daemon does not start up within the hoped-for interval. Solution is implemented using the SIGUSR1 signal, but only during the initialisation window between when ntserv forks the daemon and the daemon completes initialisation. The signal is not used at other times. * ntserv/daemonII.c (main): send a SIGUSR1 to parent process (ntserv) once initialisation of shared memory is completed and regular SIGALRMs are about to commence. * ntserv/openmem.c (openmem): remove two second delay that was used to hope for daemon to initialise. * ntserv/openmem.c (startdaemon): add a wait for SIGUSR1. Sun May 21 21:48:15 2006 James Cameron * tools/setgame.c: add script utility for pausing, resuming, and terminating the game. * tools/Makefile.in: add setgame target. * ntserv/input.c (input): send bad version packet to terminate client as soon as a GU_GAMEOK termination is requested. * ntserv/daemonII.c (udplayers): terminate daemon as soon as possible if a GU_GAMEOK termination is requested. Change nplayers to nfree, to better explain what the variable is. * include/struct.h (game_ok): remove unused macro. Fri May 19 18:06:15 2006 James Cameron * config.h.in, data.h, sysdefaults.h, data.c, findslot.c, main.c: adds a new etc/sysdef option DUPLICATES which is the maximum number of pickup player slots allowed from the same IP address before the next connection is given the Q32 response. This is a denial of service filtering feature. The default is 3. Set this above 16 to make it ineffective. Set this to less than half of the number of players per side, otherwise abusers may not be ejected or banned by majority vote because a majority would be impossible. Does not affect robots, unless they join via the pickup queue ... which would be a misconfiguration. Robots normally join via a special queue. Fri May 19 16:08:34 2006 James Cameron * ntserv/Makefile.in (install-ntserv): addition of a target so that a server operator can do a live update of ntserv during a running game. The target moves the existing in-use ntserv binary into an archive tree before installing the new ntserv binary. This makes it possible to manually back out of an installation if the new binary breaks badly. Other methods to test a new ntserv binary include running it manually for connection back to the client. See ntserv command line options. Fri May 19 14:22:48 2006 James Cameron * ntserv/main.c: banned observers are allowed in and can speak, which was a surprise, but the code has always allowed this since observers were added. Change to prevent banned observers from talking. Simplify ban logic further. Thu May 18 15:57:08 2006 James Cameron * tools/setteam.c, tools/Makefile.in: add utility to view and manipulate starbase reconstruction and surrender timers. Thu May 18 12:25:36 2006 James Cameron * ntserv/input.c (input): slots may jam in POUTFIT after KWINNER if the user terminates the client ungracefully ... such that the TCP connection is gone but the ntserv lives on. During this time, daemon synchronisation still sends SIGALRM to the ntserv, and ntserv's SIGALRM handler still resets the p_ghostbust timer. Prototype solution is to move p_ghostbust watchdog timer reset from within the SIGALRM handler to the section of main loop that is executed when input arrives from the client. Monitoring the p_ghostbust timer with gdb shows it is now reset for a dormant client on receipt of ping responses. Thu May 18 07:16:00 2006 Bill Balcerski * ntserv/transwarp.c: changed the transwarp failure message, in the case of one or both of the ships not being at peace, to something more ambiguous. Reason for change is to take into account the fact that sometimes the base is peaceful but the other ship isn't, making old error message inaccurate. Thu May 18 01:14:00 2006 Bill Balcerski * ntserv/getship.c, interface.c: fix to ATT size for matching current bitmap sets, and allowing refit to ATT if the ship is valid as per sysdef file (compared to not ever allowing refit to ATT under old code). Thu May 18 02:05:53 2006 Stephen Thorne * aclocal.m4: Added aclocal.m4 Thu May 18 01:11:21 2006 Stephen Thorne * tests/build: Set the configure and mktrekon files executable, just in case. * configure.in: Add AC_PROG_LIBTOOL macro. * ntserv/Makefile.in: Use the @RANLIB@ and @RANLIB_FLAGS@ macros. Wed May 17 11:12:04 2006 Stephen Thorne * ntserv/Makefile.in (libnetrek.a): Pass @RANLIB_FLAGS@ to the ranlib command. * configure.in: Check for if ranlib exits with a non-zero exit when run with a bare '-c' option. On debian, ranlib will exit with a 0 exit code if passed a filename that doesen't exist. On OSX, '-c' is a valid flag, and if passed alone, will exit with an exit code of 1. A better way of detecting this would be nice. If using the OSX version, then we pass -c to all ranlib calls. Fixes build bug on OSX. Tue May 16 16:59:29 2006 Jimmy Huang * robots/newbie.c (start_a_robot): add -g option to send the OggV packet to self ID themselves. * robots/newbie.c (killrobot): change how robots are detected. * robots/newbie.c (main): change merlin ship class to ATT, change to overlooking position, allow ORI and KLI. * ntserv/genspkt.c (INVISOMASK): add PFBPROBOT so newbie bots can see each other using OggV packet. Tue May 16 14:03:30 2006 Bill Balcerski * robotd/assault.c (risk_res_death): compilation fix gcc 4.0. Tue May 16 08:29:06 2006 James Cameron * docs/sample_features: enable CONTINUOUS_MOUSE as it is in common use. Enable INFO_MODE1 so that the default configuration ships with all features enabled. Mon May 15 19:01:27 2006 James Cameron * netrek-server-vanilla-2.11.0 released Mon May 8 18:35:57 2006 Bill Balcerski * PROJECTS, ntserv/redraw.c: fix to bug where observer locks onto robot and cannot input any other commands. Mon May 8 18:18:38 2006 James Cameron * pledit: fix compilation warnings under GCC 4.0.3 with -Wall. Sat May 6 23:58:10 2006 James Cameron * proto.h, db.c, findslot.c, genspkt.c, getname.c, openmem.c, phaser.c, rsa_key.c, socket.c, solicit.c, startrobot.c, sysdefaults.c: compilation fixes under GCC 4.0.3 with -Wall, ntserv/ now clean apart from crypt(3) issue. Sat May 6 23:07:29 2006 James Cameron * sequencer/sequencer.c, ntserv/balance.c, ntserv/ntscmds.c: reduce includes, move balance and triple to new file, in order to fix compilation errors after Thu May 4 19:34:10 2006 Dave Ahn * robots/auto-archive.pl: update auto archiver email address Fri Apr 28 20:39:32 2006 James Cameron * tools/players.c (udp): if the comment file is not present, provide a default comment. If the client that requested information is on localhost, return a default "server on this computer". Such a default is more descriptive. Fri Apr 28 20:28:37 2006 James Cameron * robots/inl.c (inl_confine_deorbit): fix INL confine to knock ships out of orbit if they are outside the confinement boundary. Thu Apr 27 09:32:33 2006 James Cameron * include/genspkt.h: add separate prototypes for genspkt.c since they cannot live in proto.h, due to the packet structures required. * tools/cambot.c: fix compilation warnings with -Wall. Wed Apr 26 22:58:34 2006 James Cameron * tools/cambot.c (cb_updt): fix regression which caused cambot to corrupt server state when started. Wed Apr 26 19:37:40 2006 James Cameron * *.h, *.c: make voting a site policy, by moving the configuration settings from config.h.in to etc/sysdef. Wed Apr 26 18:34:58 2006 James Cameron * ntserv/sysdefaults.c: trim includes to minimum. Mon Apr 24 22:30:47 2006 James Cameron * ntserv/ntscmds.c: add a vote to temporarily ban, which requires 100 non-banned logins before the temporary ban expires. If the banned IP address tries in the meanwhile, the countdown is manipulated upwards. * include/config.h.in: add a vote to temporarily ban, and disable VICIOUS_EJECT now that a ban vote is available. * include/struct.h: add a structure for temporary bans, which expire according to the number of login attempts that are not banned. * ntserv/main.c (main): split permanent bans from temporary bans, rename the functions, and give different responses in messages. Mon Apr 24 19:59:29 2006 James Cameron * ntserv/conquer.c: move conquest animation sequence to separate source file, and add an expanding ring of plasma torps. Sun Apr 23 23:20:15 2006 James Cameron * ntserv/daemonII.c (checkwin): change to conquest sequence, instead of merely blowing everybody up, pause the game for a few seconds, during which cloakers are decloaked, weapons don't fire, ships are placed in a circular parade formation around the final planet, and then blown up. Also, if there is no queue, do not force the players to exit their client. * include/struct.h: add new gameup flag. * ntserv/death.c: allow winners to stay on if no queue. * ntserv/detonate.c, ntserv/phaser.c, ntserv/torp.c: no firing. * ntserv/getentry.c: allow winners to change teams. Sun Apr 23 22:46:42 2006 James Cameron * robots/rmove.c (BOREDOM_TIME): fix unrealistic boredom timer for practice robots. Sun Apr 23 21:24:07 2006 James Cameron * tools/xtkill.c: move usage to top, remove excess includes. Sun Apr 23 21:22:04 2006 James Cameron * tools/Makefile.in, tools/setplanet.c: new CLI planet interface. Sun Apr 23 21:18:08 2006 James Cameron * tools/setgalaxy.c: reduce includes to minimum required, fix prototypes, and return rather than exit. Sun Apr 23 16:56:46 2006 James Cameron * ntserv/util.c: factorise team naming and verbiage. Sat Apr 22 19:01:51 2006 James Cameron * xsg/Makefile.in: remove use of data.c in favour of already existing localdata.c * Makefile.in (minimal): add new rule for build with minimal dependencies, so as to get a server running quickly. Rename component targets to make it clearer to new users. * */Makefile.in: create libnetrek to hold common code in ntserv, remove excess compiler include directives. * ntserv/enter.c, ntserv/interface.c, robots/roboshar.c: remove robot specific compilation of some ntserv source in favour of a null callback entry point. * glog.c, socket.c, commands.c, gencmds.c: factorise god log access, due to valgrind detected file descriptor left open after exit. * ntserv/socket.c (clientVersion): remove superfluous NULL termination of string returned by strdup(). Sat Apr 22 12:07:50 2006 James Cameron * Makefile.in (dist): avoid certain CVS files. Sat Apr 22 11:47:55 2006 James Cameron * ntserv/feature.c, ntserv/wander2.c (pfree): fix two small valgrind leaks. * */*.c, */*.h: fix compilation warnings on GCC 4.0.3. Sat Apr 22 10:37:51 2006 James Cameron * tools/watchmes.c (logmessage): avoid built-in function name. Fri Apr 14 22:21:22 2006 James Cameron * ntserv/daemonII.c (move): prevent tournament mode from starting if there are scummers. New tournament state machine. Fri Apr 14 12:10:57 2006 Bill Balcerski * ntserv/daemonII.c: typo fix Wed Apr 12 10:19:17 2006 Bill Balcerski * BUGS, PROJECTS: removal of bugs that no longer exist, and features that have been added. * ntserv/daemonII.c, redraw.c: truncate kills to the 2nd decimal place for army capacity check - clients only receive two decimal places in the kill packet. Wed Apr 12 22:53:17 2006 James Cameron * ntserv/daemonII.c (move): place political messages in separate functions to simplify tournament mode check logic. * ntserv/daemonII.c (check_scummers): use only IP address, not DNS host name, nor username, in determining what constitutes a t-mode scumming situation, and return the result of the check. Simplify logic to ease comprehension. Wed Apr 12 21:54:43 2006 Daniel O'Connor * robotd/defaults.c: compilation fix for FreeBSD. Mon Apr 10 21:31:33 2006 James Cameron * defs.h, ntscmds.c (nts_commands): reallocate voting array sizes. Reported by: William Balcerski. Mon Apr 10 20:41:52 2006 James Cameron * struct.h: deprecate p_docked and p_ports in favour of p_dock_with, p_dock_bay, and p_bays, removing overloaded use. * proto.h, bay.c: add functions for starbase bay maintenance and crosscheck. * daemon.c: adopt new starbase bay maintenance, calculate etemp based on number of bays in use rather than using a separate counter, change some army count checks to prevent abuse. * enter.c, interface.c, orbit.c, redraw.c, socket.c: adopt new starbase bay maintenance. * ntscmds.c: release starbase bay on eject ... vicious eject prevents the explosion from running through the daemon logic, resulting in inconsistency. Reported by: William Balcerski * xtkill.c: release starbase bay on intervention. Mon Apr 10 20:40:32 2006 James Cameron * util.c: remove unnecessary includes. Mon Apr 10 20:38:15 2006 James Cameron * main.c: fix compilation error on initialisation of p_ip. Mon Apr 10 20:12:19 2006 James Cameron * robots/inl.c (checkmess): fix compilation warning by renaming log function to logmessage. Sun Apr 9 21:01:24 2006 James Cameron * ntserv/ntscmds.c (bounceWhois): use p_ip instead of remoteaddr. * ntserv/main.c (main): set p_ip from remoteaddr. * include/struct.h (struct player): add p_ip for IP address. Sun Apr 9 20:04:03 2006 James Cameron * tools/players.c (main): if run from a tty, use stdout. Sat Mar 4 15:12:10 2006 James Cameron * tools/xtkill.c: remove warning messages from team change. Wed Feb 22 20:44:13 2006 James Cameron * netrek-server-vanilla-2.10.2 released Wed Feb 22 20:38:33 2006 James Cameron * debian/rules: include documentation files in /usr/share/doc. Wed Feb 22 20:37:21 2006 James Cameron * configure.in (vanilla_cv_signals_type): add argument for signal function. Wed Feb 22 20:08:03 2006 James Cameron * debian/init, newstartd/newstartd.c (main): add reload option, avoid spraying stuff to stderr after returning from init script. Fri Jan 27 11:27:31 2006 James Cameron * docs/metaservers-HowTo: correct location of metaservers file, reported by MNSain on #netrek channel. Sat Jan 14 11:46:46 2006 James Cameron * tools/Makefile.in, tools/metaget.c: add tool to query metaserver and dump to stdout. Can also be used to query localhost or 224.0.0.1 to obtain a multicast server response. Tue Jan 3 15:42:25 2006 James Cameron * ntserv/solicit.c: exclude known robots from metaserver report. Tue Jan 3 07:07:38 2006 James Cameron * tools/xtkill.c: fix refit to enable docking and restrict speed to ship class. Reported by: Shadow.Hunter@netrek.org in April 2004. Mon Jan 2 17:16:09 2006 James Cameron * docs/Makefile.in, docs/sample_comment: add new file for multicast server comment. * docs/sample_ports: added port 3521u for multicast server requests. * newstartd/newstartd.c: added support for multicast server requests. Added 'u' suffix to port number in ports file that treats the port as a datagram socket. * tools/players.c: add 'u' option to handle multicast server requests. Remove superfluous #include. Mon Jan 2 16:50:18 2006 James Cameron * newstartd/newstartd.c (reaper_{un}block): fix leak of active process count, was caused by race condition between fork() and SIGCHLD handler. Added SIGCHLD blocking to solve. Tue Dec 20 10:01:27 2005 James Cameron * ntserv/solicit.c (solicit): change file name from .metaservers to metaservers, but allow old name to continue to exist as a fallback. Fri Sep 30 19:25:42 2005 James Cameron * netrek-server-vanilla-2.10.1 released Fri Sep 30 15:56:42 2005 James Cameron * robotd/util.c: miscellaneous other GCC 4.0.1 fixes. Fri Sep 30 15:49:14 2005 James Cameron * xsg/defaults.c (strdup): fix for GCC 3.4.3. Reported by: Stephen Thorne . Fri Sep 30 15:40:41 2005 James Cameron * xsg/x11window.c: remove malloc prototype in favour of stdlib.h Fri Sep 30 15:33:06 2005 James Cameron * ntserv/reserved.c, ntserv/timecheck.c, ntserv/getpath.c, tools/blotpassword.c, tools/newscores.c, tools/trimscores.c, tools/keyman.c, tools/fun.c, newstartd/newstartd.c, newstartd/newaccess.c, pledit/main.c, pledit/input.c: add missing struct.h reference or change the order so as to fix compiler error on GCC 4.0.1 Fri Sep 30 15:26:36 2005 James Cameron * debian/control (Build-Depends): add missing libgdbm-dev build dependency. Fri Sep 30 15:12:00 2005 James Cameron * netrek-server-vanilla-2.10.0 released Fri Sep 30 14:17:52 2005 James Cameron * Makefile.in: add dist rule, add maintainer-clean, remove name, determine version from Makefile.in rather than version.h and patchlevel.h * newstartd/newstartd.c, name.c: change to x.y.z version numbering, for 2.10.0 release. * patchlevel.h, version.h, rpm/netrek.spec: increment version. Wed Sep 28 21:17:07 2005 James Cameron * res-rsa/Makefile.in: add rmdependencies rule. * ntserv/getpath.c, Makefile.in, configure.in, system.mk.in, gum/signals.c, config.h.in, robots/mars.c, tools/convert.c: attempt to comply with LSB by placing configuration files in /etc, local state in /var, and programs in /usr/lib. netrekd lives in /usr/games, but is a link to /usr/lib. * */Makefile.in, include/defs.h, pledit/edit.c, pledit/pledit.h, robots/end_tourney.pl, tools/fun.c: changed dot files to non-dot files. * debian, Makefile.in: packaging for Debian style distributions. * Makefile.in (install): removed tools/convert as it is no longer required. * ntserv/solicit.c (solicit): use SYSCONFDIR to find .metaservers file. Tue Sep 27 19:58:25 2005 James Cameron * robots/newbie.c, docs/sample_ports, robots/newbiedefs.h (PORT): move newbie robots to own queue, closing pickup queue. * robots/newbie.c (checkmess): separated logic for practice robots entering and leaving the game, in an attempt to fix the problem of full queue on a practice server running a pickup port. Original patch provided by Benjamin Southall and reworked by James Cameron. Fri Aug 12 14:23:17 2005 James Cameron * robots/inlcomm.c (do_free): bug fix, if an observer who's locked onto a starbase is freed, then a number of armies equal to the number of armies on the base is placed on the base's homeworld. Patch provided by pissedoffguest@yahoo.com. Tue Jul 26 21:45:27 2005 James Cameron * ntserv/daemonII.c (surrenderMessage): if conqfile not writable, redirect to stderr. Thu Jun 16 08:54:11 2005 James Cameron * include/proto.h (mprintf): add proto for robotd/util.c function to fix compilation error on Fedora Core 3. Wed Mar 9 09:41:49 2005 James Cameron * main.c, genspkt.c: remove "mute on" command and make "mute off" public knowledge in an announcement to observers. * socket.c (handleMessageReq): throttle observer messages to once every 30s. Wed Jan 26 21:22:07 2005 James Cameron * genspkt.c: recognise player command "mute on" and "mute off". * socket.c: move remoteaddr to global scope so that it can be used in bounceWhois(). * tools/admin/ban: implement banning by writing to .banned and the file used by netrekd. TODO: bring tools/admin scripts into repository. * ntscmds.c (do_admin): accept admin password from any whitelisted slot, or if the player name is Quozl. TODO: future expansion planned to an ip admin list in place of this use of whitelist, a character-name admin list, or to rank specific access. * ntscmds.c (bounceWhois): when replying to a whois (@), do not reveal hostname or IP address if the slot is whitelisted. * socket.c (handleMessageReq): implement observer muting if mute flag is set. TODO: future expansion to allow extreme low rate of observer speech only. * main.c: for non-whitelisted observers, mark them as mute, and inform them that they are unable to speak. * main.c: hide addresses of whitelisted players. * main.c: recognise comindico.com.au as whitelisted. TODO: future expansion planned to a list or database. * data.h, data.c: add mute, remoteaddr, and whitelisted. Mon Jan 10 21:23:00 2005 James Cameron * db.c: fix to pad offset if file has grown accidentally by some amount that isn't a multiple of an entry size. Tue Feb 16 22:32:11 2004 James Cameron * include/config.h.in, include/proto.h, ntserv/main.c, ntserv/findslot.c (findslot): add NO_DUPLICATE_HOSTS define, add host to findslot() arguments, to reduce multiple connections from the same host. Sun Feb 15 22:47:15 2004 James Cameron * ntserv/db.c, ntserv/Makefile.in, ntserv/Makefile: add database access timing, temporary support for glib linked with ntserv and for compile of db.c, a more comprehensive solution would involve conditionals determined at configure time. * include/config.h.in: add PLAYER_INDEX define, default on, requires libgdbm, ==TODO== add to configure. * ntserv/db.c: add creation and maintenance of the player index. * include/defs.h, ntserv/data.c, include/data.h, ntserv/getpath.c (getpath): add player index file name. Sat Feb 14 14:59:37 2004 James Cameron * robotd/Makefile.in (install): place robot where pret and other code expects to find it. Wed Jan 7 18:30:36 2004 Carlos Y. Villalpando * robots/puck.c (main): Added items for makeing sure puck robot runs before player process and Faceoff Bias. Code originally came from psychosis hockey server. * robots/puckmove.c (rmove): wrapped this function with puck_first capability. * ntserv/daemonII.c (main): Added puck_first capabilities. Wed Jan 7 18:09:04 2004 Carlos Y. Villalpando * robots/Makefile.in (PUCK_OBJS): variable name collision for puck objects and pre-t objects. Fri Oct 31 09:15:42 2003 James Cameron * robotd/util.c, robots/inlcomm.c, sequencer/roboshar.c: use stdargs instead of varargs, to fix compilation on GCC 3.3. From: "ReKleSS" Fri Aug 22 22:53:57 2003 James Cameron * Makefile.in (install): added DESTDIR to all Makefile.in files to assist with packaging, per GNU standards. Tue Feb 25 17:15:00 2003 James Cameron * tools/setgalaxy.c: creative server shutdown ... simulate galactic collapse. Mon Feb 24 21:36:04 2003 James Cameron * ntserv/ntscmds.c (do_register): add user registration data capture. Fri Feb 21 19:40:50 2003 James Cameron * ntserv/main.c (main): add NO_HOSTNAMES define for testing. * ntserv/socket.c (check_mesgs): FULL_HOSTNAMES not defined fix. * ntserv/orbit.c (orbit): avoid FLAT_BONUS when compiling without LTD_STATS. * ntserv/enter.c (enter): fix compilation error when FULL_HOSTNAMES is not defined. Mon Feb 17 10:54:19 2003 James Cameron * robotd/robot.c (mtime): correct time to be monotonic increase. Fixes inability of practice robots to fire at enemy. From: Trent Piepho Sat Feb 15 20:56:56 2003 James Cameron * docs/sample_sysdef.in (INL_RECORD): change default to match INL mode, so that cambot recordings are made on a fresh install without having to change .sysdef. From: Tom Holub Mon Jan 13 08:56:18 2003 James Cameron * ntserv/genspkt.c (updatePlayerStats): fix to get INL server with LTD stats to compile. From: David Watson Wed Jan 8 17:38:32 2003 James Cameron * ntserv/genspkt.c (sndFlags): fix visible tractors for observers * tools/cambot.c (cb_updt): fix visible tractors for observers From: Stas Pirogov Thu Jan 2 13:35:39 2003 James Cameron * ntserv/slotmaint.c (pickslot): add parentheses to clarify slot t check. From: Tseug Larimda Mon Dec 9 17:59:28 2002 James Cameron * include/struct.h (QU_TOK): add a flag to a queue to describe whether slot t can be allocated by a player using the queue. * ntserv/slotmaint.c (pickslot): avoid allocating slot t unless queue flags allow it. * ntserv/queue.c (queues_init): change god observer queue to use slot t. Mon Nov 25 16:06:39 2002 James Cameron * include/proto.h, ntserv/ntscmds.c, ntserv/getname.c: fix password change, it was corrupting player stats when player died after changing password. * ntserv/daemonII.c (saveplayer): replace constant 32 with calculated offset to score file stats. Fri Oct 11 11:20:22 2002 James Cameron * ntserv/ntscmds.c (do_nodock): removed restriction that prevented a base from turning off docking for an at-peace enemy. Fri Oct 11 10:44:35 2002 James Cameron * ntserv/main.c, ntserv/enter.c: fix 'dock' and 'transwarp' functionality defects reported by David Swasey. Move initialisation of candock to login time rather than ship entry (fixes loss of dock permissions for a ship when it dies). On entry to game by a starbase, only set the team's permission to dock, rather than the enemy team as well. Move initialisation of voting array and transwarp from main() to enter() so that all ship entry initialisations are in one place. Wed Oct 9 15:24:20 2002 James Cameron * tools/newscores.c: remove width limits on parsing the status line. Thu Aug 15 12:29:14 2002 James Cameron * ntserv/ntscmds.c (do_password): actually change the password. Fri Jun 21 17:16:39 2002 James Cameron * newstartd/newstartd.c (main): allow 'start' as argv[1], no effect, for consistency with init.d script semantics. Fri Jun 21 09:16:47 2002 James Cameron * tools/README: adjusted documentation for trimscores. * docs/tools.doc: removed documentation for trimscores as it was wrong. * tools/trimscores.c: make usage() consistent with program operation, push all status output to stderr, various other minor fixes. Thu Jun 20 17:13:30 2002 James Cameron * ntserv/transwarp.c (handleTranswarp): filter transwarp requests according to base's restrictions * include/config.h.in: add NOTRANSWARP default enabled * ntserv/ntscmds.c (do_transwarp): add transwarp command for base * include/struct.h: add p_transwarp to struct player Thu Jun 20 12:50:21 2002 James Cameron * robots/inlcmds.c, robots/inlcomm.c (do_pause): grammar fix, 'requests that the game continue'. From: Matthew Furrow. Wed Jun 19 15:03:56 2002 James Cameron * ntserv/ntscmds.c (do_nowobble): add nowobble command to enable prototype code. * ntserv/redraw.c (auto_features): add prototype option to suppress midflight wobble while locked on a planet. Thu May 30 08:32:50 2002 James Cameron * tools/Makefile.in: add blotpassword.c * tools/trimscores.c: speed up by removing time() from loop. * tools/blotpassword.c: add filter to remove password from dumps. * tools/scores.c (main): add X mode for no-password dumps. From: "Colin Jensen" Tue May 21 16:11:13 2002 James Cameron * tools/xtkill.c: allow setting armies to specific value, was required in a clue game today and wasn't available. Untested. * ntserv/ntscmds.c (do_queue_msg): allow for uppercase command 'QUEUE HOSTS', and if an entry on the queue represents another connection from the same hostname as an existing player, report that player against the output. Intended to ease the job of captains doing substitution during an INL game. Untested. Fri Dec 7 14:55:21 2001 James Cameron * ntserv/socket.c: fix spacing to be consistent, added NULL handler for when FEATURE_PACKET not defined. Sun Nov 11 23:00:00 2001 Darryl Palmer Jr * ntserv/socket.c: when PING is not defined, all handlers will be off by one. Wed Oct 10 17:29:13 2001 James Cameron * xsg/redraw.c: added '#include ' to fix compilation warnings on Debian woody/testing. Tue Jun 5 08:55:33 2001 James Cameron * ntserv/daemonII.c: ignore observers for t-mode scum checking. Fri May 11 08:44:31 2001 James Cameron * include/struct.h, ntserv/genspkt.c, ntserv/redraw.c: ensure clients are given a consistent view of observers. From: Trent Piepho Message-ID: Date: Wed, 9 May 2001 17:15:48 -0700 (PDT) Thu May 10 09:36:57 2001 Benjamin `Quisar' Lerman * docs/CUSTOMIZATION, docs/sample_sysdef.in, include/config.h.in, include/data.h, include/sysdefaults.h, ntserv/data.c, ntserv/interface.c: remove RESTRICT_BOMB and NO_UNWARRING_BOMBING from config.h.in and put it in .sysdef. * tools/xtkill.c: Correct 'S' option to do what it should (put damages and etemp back to 0. * Makefile.in: Correct a syntax error. Fri May 4 14:45:28 2001 Benjamin `Quisar' Lerman * robots/newbie.c, robots/newbiedefs.h: add #define NB_ROBOTS 16 to limit the number of processes spawned to 16. * gum/id.c: replace getopt.h with unistd.h. * gum/xmalloc.c: replace non-standard error(). * robotd/robot.c: replace obsolete ftime() with gettimeofday(). * xsg/Makefile.in: add X11INCLUDE to CFLAGS. Wed May 2 12:34:59 2001 James Cameron * all: move include files to own directory. Changes were contributed by Benjamin `Quisar' Lerman and verified by me. Sun Apr 29 16:52:47 2001 Benjamin `Quisar' Lerman * configure.in: put back AC_SUBST(INL) so that sysdef is correct. Remove the hach about INSTALL that is not necessary. Changed a few things about res-rsa so that it work outside the tree source. Move handling of with-gum so that it does not mess with INSTALL * system.mk.in, keycomp/Makefile.in, newstartd/Makefile.in, ntserv/Makefile.in, pledit/Makefile.in, robotd/Makefile.in, robots/Makefile.in, sequencer/Makefile.in, tools/Makefile.in, xsg/Makefile.in: remove OPT (CFLAGS is the way to do it), remove -lm which is already there with configure and remove the double -g. * gum/Makefile.am, gum/Makefile.in, gum/signals.c: gum.xpm is now found by gum. Mon Apr 30 19:06:51 2001 James Cameron * tools/ltd_dump.c: add ability to query LTD statistics by player name. Planned for use with a PHP script to display LTD statistics. Maybe it is time for a database back-end for the .players file. Need to do some thinking about this. * tools/players.c (main): change "Display" to "Host name". * ntserv/distress.c (makedistress): core dump on continuum, an RCD was being decoded for transmission to slot R0 "arizzi" from a slot (Xc) which was now in login, with a p_team of 15, causing the APPEND_CAP macro to (probably) wander off. Sat Apr 28 18:15:01 2001 James Cameron * configure.in, config.h.in: undo #define of INL that Benjamin inserted, as it was causing commands.c compilation to fail. Sat Apr 28 14:32:02 2001 James Cameron * robots/inl.c: change default gametime to 60 20 on request of Tom Holub. Sat Apr 28 11:39:39 2001 Benjamin `Quisar' Lerman * configure.in, docs/sample_sysdef.in, docs/Makefile.in, INSTALL.INL: change configure --with-inl to also set .sysdef and update installation instructions. * ntserv/commands.c, robotd/util.c, robots/inlcmds.c: remove compiler warnings. * tools/nuke.c, tools/Makefile.in: restore nuke for systems that do not have ipcrm(8). * tools/ltd_convert.c, tools/sortdb.c: return must give value. Fri Apr 27 22:09:19 2001 James Cameron * tools/ltd_convert.c, tools/sortdb.c: main should be int. * ntserv/socket.c: added numerous casts of struct sockaddr, removed always true short packets test code. * Makefile.in (reallyclean): include config.cache in target. Fri Apr 27 10:17:04 2001 James Cameron * configure.in: changed the warning for RSA utilities not found so that it looks "right" on the output of configure. Fri Apr 27 10:14:40 2001 James Cameron * robotd/Makefile.in (robot): target tried to save old robot binary to robot.old, changed to avoid this, as it breaks compilation after make distclean and is non-intuitive. Fri Apr 27 10:04:23 2001 James Cameron * robotd/input.c (process_stdin): change gets() to fgets(). Fri Apr 27 10:02:22 2001 James Cameron * xsg/x11window.c: remove strdup() declaration. Fri Apr 27 09:43:02 2001 Benjamin `Quisar' Lerman * configure.in, config.h.in, system.mk.in, gum/Makefile.am: permit compilation outside source tree, tested on Linux, Solaris and OpenBSD. Include robotd in package make. Add --with-gum to configure. Add --with-inl to configure. Testing of BSD signals in configure shows yes/no answer and is now cached. Environement variables CFLAGS and LDFLAGS are taken into account by configure. Change to use Makefile.in per directory. Fri Apr 27 09:33:55 2001 Benjamin `Quisar' Lerman * robotd: Changed in robotd values.h to limits.h and MAXINT to INT_MAX (more portable). Fri Apr 27 09:25:23 2001 * pledit/main.c (fatal): remove core dump on call to fatal, errno changed to nerrno, since errno is a macro on some platforms. Fri Apr 27 09:24:45 2001 James Cameron * pledit/main.c: main() should be int, when LTD_STATS defined. Tue Apr 24 09:30:25 2001 Benjamin `Quisar' Lerman * configure.in: check for ncurses before curses. * pledit/Makefile (LIBS): use the curses library found by configure. Mon Apr 23 18:40:53 2001 James Cameron * docs/sample_sysdef (DEFUPDATE): change to ten updates per second default, in line with most servers out there. Thu Feb 22 21:00:12 EST 2001 Dave Ahn * robots/inl.c: Adjust continuous scoring weight formula (again). See README.scores for details. Mon Feb 12 23:59:36 EST 2001 Dave Ahn * robots/inlcomm.c: Fix Extra Time message. Sun Feb 11 16:02:10 2001 Carlos Y. Villalpando * tools/xtkill.c (main): Added bounds checking to promote/demote. ntserv will crash if there is an invalid rank. Sun Feb 11 15:49:06 2001 Carlos Y. Villalpando * ntserv/ntscmds.c (nts_commands): Made NODOCK a config.h option * ntserv/ntscmds.c (do_nodock): Observers can't change dock permission Fri Feb 2 19:59:53 2001 James Cameron * ntserv/orbit.c (dock): reworked handling of return status, probably in a superfluous manner, but I've tested the various conditions now. * ntserv/struct.h, ntserv/ntscmds.c (do_nodock), ntserv/main.c (main), ntserv/enter.c (enter): change candock to p_candock to comply with convention. * ntserv/interface.c (lock_player): only mention docking status on a lock if the player is permitted to dock, otherwise treat it as a normal lock on a ship. Fri Feb 2 19:31:36 2001 James Cameron * ntserv/orbit.c (dock): was returning TRUE for failure to dock, so if a base was in the game orbiting failed to be considered. Moved many of the new checks with messages after the check for proximity. Adjusted code indent. Fri Jan 26 18:29:30 EST 2001 Dave Ahn * robots/*: Added momentum scoring support. See README.scores for details. Changed continuous scoring to do exponential weighting and reduced the points awarded for each planet. See README.scores for details. Tue Jan 23 08:57:40 2001 James Cameron * ntserv/daemonII.c (udplayers): add a freeslot() call to cope with a hosed slot problem on continuum today. Not sure of the cause, but a slot was in POUTFIT with a p_process of zero, a p_whydead of KWINNER and a p_ghostbust of 1.8 hours. The code did not handle this and kept the slot alive. Removed a fflush(stdout) that had been inserted for debugging. Wed Jan 3 01:11:36 2001 Carlos Y. Villalpando * ntserv/ntscmds.c (do_nodock): Added the ability for a starbase to selectively refuse docking permission on an individual player basis. Syntax, 'nodock on|off' nodock on refuses docking, nodock off enables docking. Must be on same team. Should this be friendlyPlayer() instead? Addendum: Changed logic from nodock 0 on (disable docking) to dock 0 off (disable docking) and dock 0 on (enable docking) on suggestion of James to get rid of the double-negative. * ntserv/orbit.c (dock): Added the permission to dock check and changed the behaviour of dock(). Previously, if docking to a starbase failed, starbase warning messages would get clobbered by calling function's ( orbit() ) "no valid targets" warning. Now, if a warning is generated from a starbase failure other than "too far away" dock() de-locks you and returns TRUE to surpress orbit()'s warning message. Also added more warning messages to SB docking failures. Wed Nov 15 01:35:41 EST 2000 Dave Ahn * ntserv/enter.c: New ships get green alert flag at entry. This is needed for the udplayerghost() in daemonII.c so that a new player who enters during a pause can quit out immediately. * ntserv/daemonII.c: We can finally ignore complaints about the no-quit bug in the INL robot. Players couldn't quit because player slot maintenance wasn't being done during a game pause. PEXPLODE would never get updated to PDEAD. This has been fixed. Also, I've added a ghostbust timer during the pause. It should work but I haven't tested it. Tue Nov 14 23:16:05 EST 2000 Dave Ahn * robots/inl.c: Fix core dump at inl robot restart. Fri Nov 10 22:28:58 EST 2000 Dave Ahn * robots/end_tourney.pl: Run auto-archive.pl at endgame. * robots/auto-archive.pl: Send game stats automatically to netrek-stats@genocide.netrek.org. Sat Nov 4 18:51:21 EST 2000 Dave Ahn * robots/inl*.c: Fix INL robot core dump. Fix bugs in continuous scoring. Wed Nov 1 00:47:45 EST 2000 Dave Ahn * robots/inl*.c: Change continuous score differential to 2.0. Remove debug messages. Flush out scores at end-game. * docs/README.scores: Update docs on continuous score. Thu Jul 20 22:07:12 EDT 2000 Dave Ahn * ntserv/ltd_stats.c: For some reason, LTD_TOTAL stats weren't getting updated correctly. Should be fixed now. Also, bombing rating compat function now gives 5x bonus for ogged armies under LTD_STATS. Note that this bonus is for ratings calculation only. Actual armies bombed is still the same. * ntserv/genspkt.c: In LTD_STATS mode, incorrect player stat packets were being sent to the client causing session stats to be the same as lifetime stats. Makes no difference in INL mode, but causes problems in pickup mode. Fixed. * ntserv/socket.c: Fix bug where stat reset using 'R' fails to clear rank in LTD_STATS mode. Mon Jul 17 15:47:02 EDT 2000 Dave Ahn * robots/end_tourney.pl: Fix end_tourney.pl script so that output is unbuffered. pwstats.html gets truncated otherwise. Thu Jul 6 22:12:10 EDT 2000 Karthik Arumugham * ntserv/defs.h, ntserv/queue.c, ntserv/solicit.c, ntserv/struct.h, robots/newbie.c, robots/newbiedefs.h: Newbie server changes to properly limit humans to 8 players by means of a separate queue, as well as to stop reporting bots to the metaserver. (When the human queue is full, the game will still be reported as Wait Queue, but when it is not full, only the human count will be reported.) Fri Jul 7 09:12:20 2000 root * ntserv/interface.c (bomb_planet): fix bomb out of t-mode message. We thought we sent the right message but the client got a "42" instead. Ahh. Mon Jul 3 13:55:06 2000 James Cameron * config.h.in: #undef NO_BEAM_DOWN_OUT_OF_T_MODE * ntserv/daemonII.c (beam): #ifdef NO_BEAM_DOWN_OUT_OF_T_MODE Change not found to be universally accepted. Tue Jun 27 19:39:01 EDT 2000 Dave Ahn * robots/inl*.c: Changed continuous scoring differential to 1.5. * *README*: Updated some docs. Fri Jun 23 22:14:47 2000 James Cameron * ntserv/ntscmds.c (do_admin): addition of administration commands for player using god queue. Nuke, eject, note for banning, and reset galaxy. Fri Jun 23 19:32:52 2000 James Cameron * ntserv/daemonII.c: prevent beaming down out of T-mode. * ntserv/getname.c: change password function added. * ntserv/ntscmds.c: change password function added. * ntserv/ntscmds.c (do_player_eject): send failure messages to the team, not to the player, and include an #ifdef'd ejection only if there is a queue feature. Rework vote help text. * ntserv/salt.h: correct typedef of salt buffer, for alpha compilation. * tools/update.c: disable sa_sigaction definition, for alpha compilation. * ntserv/Makefile: add note to sinclude for FreeBSD users who are not using GNU make. * config.h.in: remove superfluous SIGSYS definition. * ntserv/gencmds.c (getplayer): remove superfluous space from message. * ntserv/gencmds.c: minor message typo. * tools/xtkill.c (main): minor fixes, spacing of GOD->ALL messages, Wed Jun 7 17:13:14 EDT 2000 Dave Ahn * robots/*: Finished continuous scoring support. See docs/README.scores for details. Fixed tournament reset bug; T mode now gets cleared before end_tourney.pl is executed. Wed Jun 7 15:12:49 EDT 2000 Dave Ahn * robots/end_tourney.pl: Change alignment and fix SB stats bug in the script. Wed Jun 7 15:06:28 EDT 2000 Dave Ahn * docs/README.scores: Description of the new continuous scoring system. Tue May 23 22:28:10 EDT 2000 Jeff Nowakowski * Lotsa files: Added newbie server mode. Keeps a server full with robots. Mon May 15 18:37:30 EDT 2000 Dave Ahn * robots/inl*.c: Upped INL robot maintenance rate to 10 u/s. Added continuous and semi-continuous scoring support. This is beta code. See README.scores for details. Wed May 3 00:15:09 EDT 2000 Dave Ahn * robots/inl.c: Fixed player DB corruption due to player saves at endgame during end_tourney after player DB file is renamed but before reset_inl is called to reset p_pos for all players. Hopefully this bug has finally been squashed. Wed Apr 26 23:39:16 EDT 2000 Dave Ahn * ntserv/getname.c: Fixed player DB corruption due to observer stats getting saved. Thu Apr 20 22:32:59 EDT 2000 Dave Ahn * tools/ltd_convert.c: Program to convert existing .players DB file to LTD_STATS enabled DB file. Not tested. Use with caution. * docs/README.LTD: Updated docs on LTD_STATS and how to use ltd_convert. * tools/ltd_dump.c: Fixed bug where SB stats were not being printed for players who base for the entire game. * robots/inlcomm.c: When a captain frees an SB slot, SB's armies get moved to homeworld. If twink captains abuse this feature, it should probably be #ifdef'ed out. But for now, trust the captains to use this only when SB busts and must free the slot. * robots/inl.c: At endgame, reset the player offset position to -1 so that stats do not carry over to the next game. Back-to-back games are OK, but players must relogin to get a new player offset position. Players with invalid offset positions will get kicked out at game start. Fri Mar 24 14:54:48 EST 2000 Karthik Arumugham * ntserv/commands.c, ntserv/genspkt.c, ntserv/ntscmds.c, ntserv/proto.h, robots/inlcmds.c, tools/cambot.c: Added a 'whois' command to facilitate identifying a slot in the case where your player list is not long enough to display all players (in particular, with a high MAXPLAYERS value). Triggered by sending yourself 'whois ', or by sending a single '@' character to the slot that you want to whois. Thu Mar 23 21:42:14 EST 2000 Karthik Arumugham * ntserv/defs.h: Changed TESTERS to be defined as (MAXPLAYERS - 16) so that there will only be 16 normal players by default. * ntserv/queue.c: Fixed queue-counting code to allocate the proper number of slots per queue based on MAXPLAYERS and TESTERS. Wed Mar 22 16:07:31 EST 2000 Karthik Arumugham * robots/end_tourney.pl: Copy cambot.pkt if it exists, and allow a new dropfile directory name format for readability ("Home Team Name -vs- Away Team Name" instead of "953757536"). * robots/inl.c: Kill cambot before running end_tourney.pl so that cambot.pkt gets closed and renamed for archiving. * tools/Makefile: Added util.o to cambot objects for LTD_STATS. Tue Mar 7 11:16:04 2000 James Cameron * ntserv/socket.c (check_mesgs): change god log to include player character name, player full host name, ISO 8601 format date. Pretty up replies to player. Tue Feb 29 18:42:51 2000 Carlos Y. Villalpando * ntserv/solicit.c (udp_attach): added support to bind to a specific interface for the outgoing metaserver solicit packet. * ntserv/solicit.c (solicit): re-wrote the .metaservers file parser to actually work Mon Feb 28 21:40:48 2000 Karthik Arumugham * newstartd/newstartd.c: Added capability for binding to a single IP address by prepending "ip:" to a .ports line * docs/sample_ports: Added documentation for above change Fri Feb 25 19:26:59 2000 Carlos Y. Villalpando * ntserv/util.c (setEnemy): added function to set enemy for LTD_STATS zone tracking * ntserv/proto.h: Added function prototype for setting enemy * ntserv/genspkt.c (updateStatus): Added call to set enemy * ntserv/enter.c (enter): Added call to set enemy for team switch Sat Feb 26 12:35:39 2000 James Cameron * ntserv/defs.h (PKEY): use unique shared memory key for INL server, just in case server owner has two servers. Fri Feb 25 15:16:26 2000 Carlos Y. Villalpando * config.h.in: Removed MAXPLAYER due to redundant definition in ntserv/defs.h. defs.h seemed better place for it as config.h is primarily a Exist/noexist definition file while defs.h is a value assignment definition file. defs.h #includes config.h Hmm, dates in changelog are in localtime instead of UTC/GMT. Odd to see a change made later than the previous change dated earlier. Sat Feb 26 09:37:42 2000 James Cameron * xsg/Makefile (SRCS): add ntserv/ltd_stats.o to xsg Makefile, still need lots of work here to display stats for xsg user. Fri Feb 25 15:08:55 2000 James Cameron * config.h.in: Linux compilation issue. SIGSYS is defined in glibc-devel-2.1.1-6 used on inl.real-time.com (Red Hat V6.0-1), but not in glibc-devel-2.1.2-11 on my system (Red Hat V6.1). Fri Feb 25 14:15:48 2000 James Cameron * xsg/inform.c (inform): suppress LTD_STATS warnings. * xsg/playerlist.c (playerlist1): suppress LTD_STATS warnings. Fri Feb 25 14:03:43 2000 James Cameron * tools/ltd_dump.c: initializer element is not constant. * INSTALL: change references to newstartd into netrekd. * INSTALL.INL: validate instructions for 2.9pl5 on inl.real-time.com, change references to newstartd into netrekd, add revision header, include LTD_STATS and LTD_PER_RACE Wed Jan 12 11:37:00 2000 James Cameron * tools/update.c (makemotd): * ntserv/daemonII.c (check_scummers): bad use of tm_year, date format changed to ISO 8601 and use of tm_year corrected. Thu Jan 6 12:13:55 2000 Carlos Y. Villalpando * ntserv/genspkt.c (updateShips): Indi players see all ships always (updatePlanets): Indi players see all planets always * ntserv/enter.c (enter): Forced indi to be peaceful to all * ntserv/interface.c (declare_war): Indi can't be hostile * ntserv/defs.h (MAXQUEUE): Added 1 more queue * ntserv/queue.c (queues_init): Added definition for God Obs Q * ntserv/struct.h (QU_GOD_OBS): Added definition for God Obs Q * docs/sample_ports: Added god obs port to .ports file Thu Jan 6 01:13:35 2000 Carlos Y. Villalpando * ntserv/defs.h (PV_TOTAL): Force PV_TOTAL to track MAXPLAYERS, else bad things happen to player struct. Thu Dec 30 17:11:40 1999 James Cameron * rpm/netrek.crontab: fix syntax error that generated hourly mail to root on system that package was installed on. Thu Dec 30 14:49:55 1999 James Cameron * ntserv/defs.h: add N_PORTS and N_NETREKDPID for netrekd. * newstartd/newstartd.c: further edits to messages for name change from newstartd to netrekd, add code to prevent duplicate starts. Wed Dec 29 16:15:01 1999 Carlos Y. Villalpando * ntserv/daemonII.c (udsurrend): Bump non-T race observers to the team selection window. * ntserv/getentry.c (tournamentMask): Force observers to choose a T-mode race, if any. Tue Nov 16 21:33:31 1999 James Cameron * ntserv/daemonII.c (killerstats): [VANILLA-LIST:2711] do not credit chung (plasma self or team member against wall) army kills. Patch reverted to a #define due to non-universal acceptance. Mon Nov 22 15:54:12 1999 Carlos Y. Villalpando * ntserv/data.c: added variables for all features types * ntserv/data.h: added declarations of all feature types * ntserv/feature.h: filled in null entries for feature variables Mon Nov 22 14:23:30 1999 Carlos Y. Villalpando * ntserv/feature.c: added a memory location for feature flag CLOAK_MAXWARP to allow it to be settable via .features Mon Nov 15 17:10:25 1999 Carlos Y. Villalpando * tools/xtkill.c (main): Exclude observers from live slot check. True, they're not alive, but they're not dead either. Thu Nov 11 12:12:23 1999 James Cameron * tools/scores.c (main): change status->timeprod printf to be %10lf rather than %10ld in order to match tools/newscores.c Mon Nov 1 21:31:27 1999 James Cameron * robots/inl.c (obliterate): [VANILLA-LIST:2710] avoid depositing observer's armies on home planet. Fri Oct 1 16:38:06 1999 James Cameron * ntserv/daemonII.c (beam): reference to me->p_ship.s_type instead of to j->p_ship.s_type was causing SIGSEGV and total game cessation. Mon Sep 20 22:05:44 1999 Carlos Y. Villalpando * ntserv/redraw.c (auto_features): A check to see if target of twarp was a base was in the wrong place and masking out checks for twarp abort conditions. Check moved to appropriate place. Mon Sep 20 22:02:57 1999 Carlos Y. Villalpando * ntserv/interface.c (do_refit): do_refit sent new p_ship.s_type to player, but never changed ship type in player struct. Thu Sep 16 15:24:17 1999 James Cameron * tools/watchmes.c (spew_mess): add xterm-color compatible output. Thu Sep 16 12:18:27 1999 James Cameron * ntserv/redraw.c (check_observs): allow independant observers such as god to lock on any player or planet. Thu Aug 19 18:47:17 1999 James Cameron * ntserv/genspkt.c (sndPStatus): add code to remove observers from the count of ships presented in the team selection window, by telling non observers that observers are not alive. Mon Aug 16 14:15:44 1999 Dave Ahn * BUGFIX xsg/main.c: Applied patch submitted by Peter Mardahl which fixes a buffer overflow in the filename used for XSG record. * BUGFIX pledit/main.c: Pledit was still using varargs instead of stdargs, causing problems at compile or run time depending on platform. Wed Aug 4 11:19:54 1999 Dave Ahn * BUGFIX ntserv/orbit.c: Applied patch submitted by Michael Moore to fix SB to SB docking in >1 SB mode, e.g. chaos. Thu Jul 29 20:27:14 1999 James Cameron * docs/sample_ports: Added missing quotes to "statistics" line which was preventing newstartd from listening on the port that gum uses to display the connection counters. Removed superfluous "./" prefix as newstartd now changes directory before commencing work. Mon Jul 26 00:31:58 1999 Bob Tanner * rpm/cvs2rpm: Added GNOME files to be copied over to rpm build area. * rpm/netrek.spec (preun): Do a check to see if the server is running, if it us, then shut it down THEN proceed with the uninstall. Added a little message that tells the user that the inability to remove files is ok. * rpm/netrek.spec (netrekcfg): Setuid games to the netrekcfg binary so "normal" users can admin the netrek server. * rpm/netrek.spec (GNOME): Added GNOME menu option for netrekcfg. Fri Jul 23 18:01:07 1999 Dave Ahn * CONFIG config.h.in (UDP_PORTSWAP): Reenabled UDP_PORTSWAP mode since testing shows that it seems to work fine now. * BUGFIX ntserv/socket.c (UDP_PORTSWAP): Erik Rungle submitted an updated patch to the UDP_PORTSWAP code which fixes the UDP->TCP->UDP bug. * UPDATE robots/end_tourney.pl (INL): Minor fixes from Tom Holub and myself to update end_tourney parser for INL game mode. Thu Jul 22 18:09:53 1999 Bob Tanner * Removed Vanilla.spec * rpm/netrek.spec: Created new .spec file to fall in line with new naming convections. * rpm/cvs2rpm: Changed Vanilla.spec to netrek.spec Wed Jul 21 01:00:03 1999 Bob Tanner * rpm/netrek.crontab: Only update the keys if CONFIRM > 0, mean RSA or RSA and Reserve. Tue Jul 20 02:01:38 1999 Bob Tanner * rpm/Vanilla.spec (%files): Darn typo in the %ghost file. * rpm/Vanilla.spec (Requires): Holding off on 5.2 compatbility and just building for Redhat 6.0. * rpm/Vanilla.spec (ghosts): Fixed %ghost entries for the mesg.LOG and pixmaps for gum. Mon Jul 19 21:25:54 1999 Bob Tanner * rpm/Vanilla.spec (init.d): Fixed missing files on rc location. Tue Jul 20 10:54:30 1999 James Cameron * rpm/Vanilla.spec (%description): rework gum description. * rpm/Vanilla.spec (Summary): rename gum. * rpm/Vanilla.spec (%description): intro line, reformat, minor edits. * rpm/Vanilla.spec (Packager): remove URL Tue Jul 20 10:52:53 1999 James Cameron * rpm/Vanilla.spec (URL): Sun Jul 18 23:53:17 1999 Bob Tanner * rpm/Vanilla.spec (gum): gum is now netrekcfg. * rpm/Vanilla.spec (gum): Activate gum build and install. Setup Prereq and Requires for the package. * rpm/Vanilla.spec (preun): Stop the server before uninstallation. * rpm/Vanilla.spec (%dir): Make netrek home dir and log dir be 2755 (+s on the group) to force the group of all files to be in the games group. * rpm/Vanilla.spec (Group): Forgot to symlink mesg.log to /var/log/netrek. * rpm/Vanilla.spec (%post): Run the symlinks as the user games to it owns the symlinks. * rpm/Vanilla.spec (gum): gum requires the Vanilla server to be installed to work properly. So, Requires: Vanilla. * rpm/Vanilla.spec (gum): Added aclocal, automake and autoconf to get gum to build correctly on Redhat 6.0 * rpm/netrek.init: Do not start the updatedkeys on boot, instead we are storing a version of the keys inside the package. * rpm/cvs2rpm (sources): Copy the rsa-keys into the RPM build area. * rpm/Vanilla.spec (file): Included the rsa-keyfile with the package, so non-Internet PCs can start up the server without having to get the keys from the metaserver. * rpm/Vanilla.spec (doc): Added documentation about %ghost files and why they are needed. Mon Jul 19 14:07:05 1999 James Cameron * robots/end_tourney.pl: as provided by Tom Holub [VANILLA-LIST:2537] Sun Jul 18 02:05:18 1999 Bob Tanner * rpm/Vanilla.spec (preun): Need to remove the runlevel script before (preun) removing the package. * rpm/Vanilla.spec (files): More symlinks from /usr/netrek/games /var/log/netrek. * rpm/Vanilla.spec (files): More %ghost files that are generated from the server. * rpm/Vanilla.spec (%ghost): touch /usr/games/netrek/log for %ghost entry. Sun Jul 18 14:45:36 1999 James Cameron * robots/inl.c (start_countdown): change team advice message to be two lines instead of one, [VANILLA-LIST:2528] Sat Jul 17 00:45:48 1999 Bob Tanner * rpm/cvs2rpm (source): Copy the netrek.functions into the RPM_BUILD_SOURCE directory. * rpm/netrek.init: New functions for running daemon processes as non-root users AND still keep it looking like a Redhat 6.0 runlevel. * rpm/netrek.functions: Some customized init script functions needed to allow Redhat to run daemons as non-root users. * rpm/Vanilla.spec (Group): symlink logfiles that are generated in LIBDIR to their linux-location in /var/log/netrek. * rpm/netrek.logrotate: Added errors.LOG Fri Jul 16 17:57:50 1999 Bob Tanner * rpm/Vanilla.spec (files): /usr/games/netrek gets installed owned by root by default. Change ownership to games. * rpm/Vanilla.spec (files): updatekeys wants to write to a file called /usr/games/netrek/rsa_key. Touch the file and add it to the files section. * rpm/netrek.init: Wrong path to updatekeys. daemon does not work when you pass it "su -c", changed to run server by hand. Added redirection of output from netrekd/newstartd to the logfile /var/log/netrek/newstard.LOG * rpm/Vanilla.spec (Requires): gtk+ not gtk. * rpm/Vanilla.spec (RSA): Since Euro and US RSA have different names, need to add a little code to make the release names variable. As well as sticking the source into a generic res-rsa directory. * rpm/netrek.init: Need to update the keys before starting the server. Under RedHat 6.0, you no longer need to identify the process that are about to be run. Ie, this is not needed: echo "Starting myserver..." daemon myserver echo -n "myserver" RedHat 6.0's runlevel is different then anything before it. * rpm/netrek.crontab: Added the 2nd "-" to give us a clean shell environment. * rpm/Vanilla.spec (%install): You cannot do full path symlink in the %install section of a spec file when you are using a BuildRoot. Because the $RPM_BUILD_ROOT is macro that get expanded to the BuildRoot definition (located at the top of the spec file). If you need to symlink something use relative paths or put the ln into the %post section. Fri Jul 16 23:21:00 1999 James Cameron * Makefile (install): add minor hint for installers on how to start the server. * rpm/netrek.init: changed to use netrekd symbolic link * newstartd/newstartd.c (main): chdir to server directory, check access to files, then fork to background, directing all future output to the LogFile, line buffered, and announce successful start on original stderr. Add ability to stop the listener from the command line. If we were to also try to set effective uid to games then things would be easier. * rpm/Vanilla.spec (%clean): add -r to rm to fix build failure. * rpm/Vanilla.spec (%install): add symbolic link in /usr/bin/netrekd (it should be /usr/sbin/netrekd since it is a daemon, but it won't work this way because user games does not have /usr/sbin in path). * rpm/Vanilla.spec: return to gzip. * rpm/cvs2rpm: return to gzip, check writeability of /usr/src/redhat earlier, fix minor typo. * patches: reworked due to dependency on manifest. * Makefile: add revision header, change warning to installers, change all "make" to "$(MAKE)", minor spacing changes, remove binary distribution targets, remove manifest references, remove startd references, and since xsg and pledit are now included in distribution, remove them from being conditionally tested. * manifest: removed in favour of CVS. Fri Jul 16 02:12:14 1999 Bob Tanner * rpm/cvs2rpm (export): Changed to grab the latest snapshot of the source from CVS instead of using a tagged release. * rpm/netrek.logrotate: Changed start.LOG to newstartd.LOG, added updated.LOG. * rpm/Vanilla.spec (crontab): Changed the .spec file to use James' elegant fix to the cron problem. * rpm/netrek.crontab: Radical change and very elegant fix from James to get cron to run the updatekeys as user games AND make it easy to add/remove cron entries. * rpm/netrek.init: First attempt at getting the server to run as user games. * rpm/Vanilla.spec (logfiles): Added updated.LOG to keep binaries to logfiles synchronized. * tools/updatekeys (updated): Redirect updated output to a logfile. * rpm/netrek.init (start): Need to grab keys from the metaserver before starting the server. Added a call to updatekeys before starting newstartd. * rpm/Vanilla.spec (logfiles): Changed start.LOG to newstartd.LOG to keep the relationship very clear. * rpm/netrek.init (start): Add the ability to stop and start the netrek server using the rc scripts. * rpm/Vanilla.spec (%clean): Actived the cleaning up routines. * rpm/Vanilla.spec (RSA): Added check for Euro RSA code. Thu Jul 15 18:44:08 1999 Bob Tanner * rpm/netrek.crontab: Small change to the comments to allow the sed script to be able to remove the cron entry automatically. * tools/Makefile (install): Need the tools Makefile to install the updatekeys shell script. * rpm/Vanilla.spec (%post): Need to do crontab -u games for all invocations of crontab. Want to make sure we get games' cron entries not roots. * rpm/Vanilla.spec (Requires): Changed cron to vixie-cron. * rpm/Vanilla.spec (%files): Changed the %files section for the server. Needed to break out each file so I could tag certain files as %config. * rpm/Vanilla.spec (clean): Added %clean to rm -f the BUILD_ROOT. * rpm/Vanilla.spec (RSA): Added logic to look for the RSA source. If it is found, extract into the right directory. The configure script can only detect the US RSA source, it looks for res-rsa/configure, which is not in the Euro version. * rpm/cvs2rpm (gzip): Added some documentation. Added the check for gzip, but left it commented out. * rpm/cvs2rpm (sources): Changed script to include copying the crontab file into the RPM_SOURCE_DIR. * rpm/Vanilla.spec (Source1): Had to remove the ftp://ftp.risc.uni-linz.ac.at/pub/netrek/src/res-rsa2.tar.Z file, since US crypto law sucks and I cannot redistribute it. Still working on how to build the server with RSA enabled and not distribute the source for it. * rpm/Vanilla.spec (Group): Groan! Hate that emacs does not have the same changelog format as RPM .spec files. OR do I hate the RPM .spec files do not have the same format as emacs. * tools/updatekeys: New tool (shell script) that is from from cron to suck the keys from the metaserver. A little more documentation in the script would be helpful. The default is to run the same options that Continuum runs. * rpm/netrek.crontab: Simple crontab for activating updated. There is a new tool (shell script) called updatekeys, which sets all the command line options for updated to run within cron appropriately. This will also allow the server admin to alter updated's behavior without having to mess with cron. * rpm/Vanilla.spec (%postun): Major hack again. Need to get netrek cron entries out of games' crontabs without deleting other potential crontab entries. ** NOTICE ** this method required that "netrek" (the word) be part of the crontab entries that need to be removed. This might come back and bite us in the butt. * rpm/Vanilla.spec (%post): Major hack to get cron jobs into games' crontab. Have to be careful, games may already have a crontab tab, so suck the current crontab out and save it to a temp location. Append netrek's cron entries to the crontab. Put the crontab back into cron. Finally clean up after ourselves. * rpm/Vanilla.spec (Requires): The .spec file is becoming more complex. We need to have gtk > 1.2, glib > 1.2 for gum. Cron and sed are necessary for setting up crontab entries for updated on install and deleted those same entries on removal. Wed Jul 14 20:08:32 1999 Bob Tanner * rpm/cvs2rpm (RPM_SPEC_DIR): James and Carlos both do not have cvs installed via rpm, so changed the code to walk the $PATH looking for the necessary binaries. Wed Jul 14 17:33:25 1999 Carlos Y. Villalpando * ntserv/solicit.c (solicit): prevent solicit from sending blank lines for name and login to metaserver. Mainly for new people logging in. Avoids weirdness in metaserver playerlist port output. Wed Jul 14 18:26:02 1999 Bob Tanner * rpm/Vanilla.spec (Group): RPM %changelog format is different then this files format. Changed the .spec files format to keep rpm from complaining. Wed Jul 14 02:36:02 1999 Bob Tanner * rpm/Vanilla.spec (Group): Changed the Source0 from tar.gz to tar.bz2 to fall in line with James distributions. * rpm/cvs2rpm: Added a shell script to take the files out of cvs and copy them into the Redhat RPM hierarchy. 1999-07-13 Bob Tanner * rpm/Vanilla.spec (Group): Added the %changelog section to the spec file. Tue Jul 13 20:39:46 1999 Bob Tanner * robots/robotII.c (main): remove warning of return type on main. Tue Jul 13 20:23:55 1999 Bob Tanner * tools/update.c: removed redefination warning. 1999-07-13 Bob Tanner * tools/ltd_dump.c (warning): removed warning of return type. 1999-07-13 Bob Tanner * tools/update.c: Fixed warning about redefining sa_sigaction. 1999-07-13 Bob Tanner * rpm/Vanilla.spec (silly test): Just a test to see how ChangeLog entries work under Emacs. James says this rocks. Mon Jul 12 13:24:58 1999 James Cameron * ntserv/ntscmds.c (do_queue_msg): add new player command "queue hosts" that will display who is on the queue as a list of host names rather than just a length of queue. Untested. Fri Jun 25 17:58:46 1999 Dave Ahn * FEATURE (LTD_STATS): Added code to split the stats further for each race per player so that the results can be easily parsed for clue games. Enable LTD_PER_RACE in config.h. Added SB stats dump for tools/ltd_dump. * CONFIG (config.h.in): REVERSED_HOSTNAMES is now defined by default. UDP_PORTSWAP code seems to break UDP->TCP->UDP renegotiation, so it is now undefined by default, until this bug is fixed. * BUGFIX (crypt): Added char * casts so that crypt doesn't give warnings during compile on machines without a prototype in unistd.h. Mon Jun 21 22:27:34 1999 James Cameron * robots/roboshar.c: include proto.h * robots/roboshar.c (warning): fix arg type * robots/detonate.c: include proto.h * robots/puck.c: include proto.h * robots/puck.c (main): give function a type. * sequencer/roboshar.c: give functions a type. * tools/cambot.c: add returns to dummy int functions. * tools/convert.c: include stdlib.h for system() prototype. * tools/fun.c (action): fix prototype to match signal(). * tools/planets.c (main): remove warning of return type. * tools/message.c (main): remove warning of return type. * tools/mess.c (argv): remove warning of return type. * tools/loadchecker.c (main): remove warning of return type. Mon Jun 21 20:19:47 1999 James Cameron * ntserv/main.c (main): report host names for lack of version packet to help isolate sources of malicious connections. Fri Jun 11 18:01:49 1999 James Cameron * ntserv/main.c (main): remove superfluous set of whydead on login. This will have caused ghostbusts on login in conjunction with the "in POUTFIT too long" handler in udplayers(). * ntserv/daemonII.c (udplayers): ghostbusts on login are happening here, and the code still thinks the outfitdelay should be 300 despite whydead being set to KLOGIN by ntserv/main.c, so for the moment I've added also a dump of the whydead reason and a stdout flush. * ntserv/main.c (main): improve error messages for ntserv instances that quit due to lack of version packet or invalid packet format. Thu Jun 3 21:21:31 1999 James Cameron * ntserv/socket.c (doRead): logs show EINTR is happening on read(), which implies that clients are being disconnected for no good reason, changed to ignore EINTR and retry. * ntserv/socket.c (socketPause): remove superfluous comments. Thu Jun 3 20:01:55 1999 James Cameron * ntserv/socket.c (check_mesgs): change response to messages to GOD so that players will know that it is not GOD replying but a logger, and also suggest a return electronic mail address. * ntserv/daemonII.c (udplayers): I fear the calculation of the outfitdelay may actually be incorrect, because lots show that many of the ghostbusts on login are actually POUTFIT SIGTERMs. * ntserv/socket.c (doRead): re-inserted report of read() from client error which had been previously removed because it happened too much, but changed the error level to 9 to avoid seeing it. I'm expecting to find that this is the point where most of the ghostbusts I'm seeing on continuum actually happen; and I want to see if it's EPIPE. * ntserv/redraw.c (intrupt): remove superfluous reset of testtime, it had been tested for zero two lines above. * ntserv/socket.c (dequeue): changed kill(getpid(),15) to an exit(). Mon May 31 20:49:50 1999 James Cameron * UPDATE: fixed a few compiler warnings using -Wall. * UPDATE: added TCP_NODELAY to ntserv processes. * DEBUGGING: changed error reporting again for ntserv processes. Fri May 28 23:01:25 1999 James Cameron * changed TIME message from INL robot to minutes:seconds. * BUGFIX (INL): terminator robots were appearing during INL games. * BUGFIX (Bases): default docking permissions on for refit to SB. * DEBUGGING: addition of various fragments of code to clean up the output of the ntserv processes for debugging connection problems. Okay, guys, how do you generate this ChangeLog semiautomatically? Tue May 11 19:08:39 1999 Dave Ahn * FEATURE (UDP_PORTSWAP): Erik Rungi submitted a patch to ntserv/socket.c which allows clients with USE_PORTSWAP code to initiate the UDP connection rather than having the server do it. This change should allow those clients to establish UDP connections through some packet filtering firewalls. Enabled by default. Wed May 5 19:50:07 1999 Dave Ahn * BUGFIX (LTD_STATS): The stat damage_repaired wasn't getting updated properly. Fixed. Max kills calculations were wrong. Fixed. Stats packet sent to the client had doubled values for kills, deaths, planets taken and armies bombed. Fixed. Fri Apr 30 19:14:51 1999 Dave Ahn * UPDATE: Cosmetic changes to remove compiler warnings under gcc for some files in ntserv/ and robots/. * UPDATE ntserv/getname.c (crypt): Dave Swasey reports that crypt.h doesn't exist on RedHat 4.2. Removed. configure should autocheck for crypt.h in the future. * BUGFIX (LTD_STATS): Ranking and ratings weren't working properly. Fixed to emulate the old style DI ratings and ranking. * BUGFIX robots/roboshar.c (stdarg): The stdarg changes broke robot messages and caused them to be garbled. Fixed now. * BUGFIX tools/update.c, newstartd/newstartd.c (sigaction): Linux doesn't have struct sigaction.sa_sigaction, either. What a lame OS. Patched as Dave Swasey recommended. Fri Apr 30 14:31:15 1999 Dave Ahn * NOTE: This is a massive changelog entry describing modifications to thousands of lines of code. Some of those changes are cosmetic, others are not. To see the actual changes, take a look at the diffs somewhere in the VANILLA-DEVEL archive. Also, I propose that we follow the GNU-style ChangeLog documentation that Kevin Oconnor started. I prefer a less specific, hand-waving, bastardized-GNU-style ChangeLog, but the formatting should be similar enough. James and other developers are welcome to follow my style, but as long as there is some form of documentation, the style shouldn't matter. * CONFIG config.h.in: I have removed the SHORT_PACKETS and SPEEDUP ifdefs from the source files. They exist in config.h.in in case COW depends upon it, but they have no meaning for the server code. LTD_STATS is a new define for the Leonard/Tom/Dave extended statistics package for INL gameplay. For details on LTD stats, see the FEATURE entry and the docs/README.LTD file. SB_CALVINWARP is a new define for calvin style sling-transwarp, off by default. REVERSED_HOSTNAMES is a new define to truncate the player's client hostname from the end rather than the beginning, off by default. * UPDATE (RES-RSA): We are now using the new RES-RSA-shell packaging so that both the U.S. and Euro versions of RES-RSA. configure should autodetect U.S. RES-RSA 2.9.1 and Euro RES-RSA 2.9 and above. * FEATURE (ANSI-C): I have updated almost all files in ntserv/ as well as some other files in the other directories to contain ANSI-fied prototyped functions. Most externally accessed functions now have a prototype in proto.h. While additional code cleanup should probably be done, I think that these changes are good. There are numerous small bugs that I uncovered and fixed during this process. Let's try to make future contributions ANSI C compliant. Quite a few files, especially in xsg/, still need some cleaning up. I have also corrected numerous warnings and remarks that I found in ntserv/, so now ntserv and daemonII can be built with cc -fullwarn or equivalent. * FEATURE ntserv/smessage.c, ntserv/warning.c (stdarg): The old style varargs have been replaced with stdarg. The changes are mostly in the messaging functions and should not break anything. * FEATURE ntserv/redraw.c (SB_CALVINWARP): The old calvin server had a non-degrading sling transwarp feature. Basically, a transwarping ship does not decelerate and can be sling-shot over the base if the base presses the incoming ship before it docks. Really fun for base oggs! * FEATURE ntserv/main.c (REVERSED_HOSTNAMES): Internet hosts these days have extremely long hostnames. To better tell who is logging in from where, this config feature truncates the hostname from the end rather than the start. So, me@ppp-host.abcdehijklmnop.dom.com becomes me@#mnop.dom.com, where # denotes truncation. The full hostname, up to 31 chars, is still stored in p_fullhostname. This probably should be expanded. * FEATURE (LTD_STATS): This is the new Leonard/Tom/Dave extended statistics package. THIS IS BETA CODE. DO NOT ENABLE LTD_STATS UNLESS YOU KNOW WHAT YOU ARE DOING. An extensive description of the LTD stats package is in docs/README.LTD. As of right now, many tools, including xsg and pledit, are broken with LTD_STATS. I hope to enlist some help to update the tools and to validate the statistics package. * BUGFIX newstartd/newstartd.c (handle_reaper): Some OS's, primarily the modern SVR4 derived ones, now generate zombie children if a forked process is not waited on. I have fixed this by using sigaction, but this may not work if the OS does not support the SA_NOCLDWAIT flag. See and enable REAPER_HANDLER in newstartd.c to use the fix. I added a workaround fix for Linux which does not have SA_NOCLDWAIT. * BUGFIX tools/update.c (no_zombies): Like newstartd.c, updated was also creating zombie processes on Solaris. Same solution applies, but again, SA_NOCLDWAIT must be supported for it to work. I added a workaround fix for Linux which does not have SA_NOCLDWAIT. Sat Jan 31 14:02:12 1998 Kevin Oconnor * packets.h (SP2SHORTVERSION): Changed macro SHORTVERSION to SP2SHORTVERSION. ShortVersion alone is not descriptive enough. Sat Oct 25 03:13:54 1997 Kevin Oconnor * genspkt.c (SupdateTorps): This function had a failsafe #ifdef block that checked if MAXPLAYER*MAXTORP wasn't a factor of 8. The failsafe code was just a block copy of the rest of the function with a couple of simple changes. I reimplemented this failsafe by adding a few well placed #ifdef checks in the main routine. This has the effect of reducing the code size by over 6K. Also, this simplifies the code - making it easier to understand and maintain. * genspkt.c: Changed sizes[] array definition from an unbounded array, to a bounded array of size TOTAL_SPACKETS. TOTAL_SPACKETS is defined in packets.h. This was done because sizes[] was moved to genspkt.c, and socket.c needed to know the size of the array at compile time. This is a temporary solution, IMO the sizes[] array should be phased out completely.. Sun Oct 12 19:08:11 1997 Kevin Oconnor * genspkt.c: Removed 'register' declaration from variables in non-critical routines - IE. all of genspkt.c. Perhaps I'm missing the "big picture", but the server is compiled by default with -O on. The compiler will automaticly combine certain variables, remove certain variables, and make other variables into registers. Blindly declaring non-critical loop variables as register is at best irrelevant, and at worst hampering performance. Also, some of the routines declared 10 or more variables as register. This is silly, many architectures dont even have that many registers! Fri Oct 3 18:06:49 1997 Kevin Oconnor * socket.c: Removed #ifdef SHORT_PACKETS from code (Making Short_packets a permanent 'feature'). Parsed source code through GNU Emacs c-mode auto-indent. Fixed up many #ifdef/#else/#endif directives to make emacs happy. Broke many UpdateXXX functions into multiple parts. The UpdateX() functions determine which data is nedeed by the client, and then calls functions sndX() to generate the actual server packets. The sndX() routines determine if the information has changed in the 'eyes' of the client, and calls sendClientPacket() to send the actual data when neccessary. Changed updatePlanet() to send 0 for armies/flags/owner when planet is no longer seen. Done for uniformality, and it 'makes sense'. Broke socket.c into two files, socket.c which will create,maintain,and send data over the sockets, and genspkt.c which will generate the actual server packets. Reason - socket.c was getting too large (> 150K). (updateClient): Moved the resetting of mustUpdate[i] to updatePhasers() in genspkt.c - It has the same effect there, and allows mustUpdate to be declared locally in genspkt.c. (forceUpdate): Moved most of the code in this function to new function in genspkt.c - clearSPackets. * genspkt.c (updateMessages): Moved mysterious call to update_sys_defaults in updateMessages to a more appropriate location - updateClient in socket.c. $Id: ChangeLog,v 1.42 2006/05/08 08:22:41 quozl Exp $