Starting with tag: [TAG 2.11.1 quozl@us.netrek.org**20060601025406] [include config.sub in make dist quozl@us.netrek.org**20060601033011] [include config.guess in make dist quozl@us.netrek.org**20060601033548] [post 2.11.1 release process notes quozl@us.netrek.org**20060601040643] [Cross-transwarp check williamb@its.caltech.edu**20060608223709 * transwarp.c: Prevent transwarping to a base that is already in transwarp. ] [robotd-improved-army-tracking.dpatch jimmyhua73@yahoo.com**20060613104425 * 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. ] [null-terminate-mapchars jimmyhua73@yahoo.com**20060614105540 * 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. ] [null-terminate-mapchars-indentfix Stephen Thorne **20060614103104] [ATT and invalid ship fixes williamb@its.caltech.edu**20060603092650 * 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. ] [Twarp message fix williamb@its.caltech.edu**20060606200652 * transwarp.c: Fixes outdated reference to transwarp hours. ] [Chaos mode starbase enhancements williamb@its.caltech.edu**20060606200821 * orbit.c, transwarp.c: Allows starbases to transwarp to and dock with other bases if chaos mode is activated. ] [newbie-observer-ports.dpatch jimmyhua73@yahoo.com**20060616103448 * 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. ] [xtkill ship change fixes williamb@its.caltech.edu**20060620005009 * 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 ] [continuum ban vote tweaks 2006-06 quozl@us.netrek.org**20060622015354 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. ] [Newbie robots now declare war properly in pickup games quozl@us.netrek.org**20060630011431 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. ] [newbie robots war declarations test quozl@us.netrek.org**20060630020843] [untabify daemon main quozl@us.netrek.org**20060630022904 * daemonII.c: removed all tabs using untabify in emacs. ] [continuum ghostbust diagnostics quozl@us.netrek.org**20060630025545 * daemonII.c (ghostmess): add reason for ghostbust to message, and increase logging of normal ghostbust timeout in ERRORS. ] [further-fixes-to-war-decs.dpatch jimmyhua73@yahoo.com**20060702153128 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. ] [avoid lies to metaserver due pre-t robots quozl@us.netrek.org**20060703021915 * 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. ] [freebsd compilation fix, missing header quozl@us.netrek.org**20060705062726 * 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. ] [robotd-carriage-return-added-to-death-messages.dpatch jimmyhua73@yahoo.com**20060630092932 * 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. ] [Xtkill bug fixes williamb@its.caltech.edu**20060623040057 * 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. ] [Xtkill settable kills williamb@its.caltech.edu**20060707153051 * 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 ] [adjust test scripts for xtkill changes quozl@us.netrek.org**20060710014703 * 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. ] [Command file for PreT robots williamb@its.caltech.edu**20060707152531 * 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 ] [Formatting fix for if statement in interface.c williamb@its.caltech.edu**20060707151641 * interface.c: (do_refit). Fixes if statement split over 3 lines. ] [Show geno messages for observers williamb@its.caltech.edu**20060622013521 * 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. ] [Semi-critical update fix williamb@its.caltech.edu**20060622022126 * socket.c (updateClient): clarifies purpose of packet type check against 0x40, adds check for SP_S_YOU case. ] [minor indentation fixes prior to review quozl@us.netrek.org**20060808002418 * ntserv/conquer.c: tabify, some added lines lacked tabs, made it inconsistent. ] [add planet orbit and take test scripts quozl@us.netrek.org**20060808054456 * 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. ] [add test for conquer parade slot alignment bug quozl@us.netrek.org**20060808054700 * 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. ] [fix for conquer parade alignment, alternate quozl@us.netrek.org**20060809043954 * ntserv/conquer.c (conquer_ships_ring, conquer_parade): add a counter for calculating ring coordinates rather than using player list position. ] [fix test to correctly reproduce parade ring overlap quozl@us.netrek.org**20060809055741] [add live daemon release target quozl@us.netrek.org**20060809070952 * ntserv/Makefile.in: add target to release a new daemon, though it does not replace the running daemon. That's an idea for later. ] [add ban vote duration quozl@us.netrek.org**20060815031242 * 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. ] [add ban tools quozl@us.netrek.org**20060815042103 * 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. ] [initial design of checkpointing quozl@us.netrek.org**20060817015947 * PROJECTS.checkpointing: an initial design for checkpointing support that should allow live changes to code. ] [noted new bug, signal handler calls unsafe functions quozl@us.netrek.org**20060818002307] [comindico whitelist removal, quozl specific quozl@us.netrek.org**20060818020653] [Newbie server documentation update2 williamb@its.caltech.edu**20060822032823 * INSTALL.Newbie - mention observer port, and point to robot command file M ./Vanilla/INSTALL.Newbie +3 ] [Improved tracking of server modes williamb@its.caltech.edu**20060822203642 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 ] [Improved tracking of server modes, review quozl@us.netrek.org**20060822231413] [Ban vote duration in sample sysdef williamb@its.caltech.edu**20060822124035 * (sample_sysdef.in): Adds BAN_VOTE_DURATION. M ./Vanilla/docs/sample_sysdef.in +5 ] [Ban vote duration in sample sysdef, review quozl@us.netrek.org**20060822232047 * docs/sample_sysdef.in: add back lost text caused by my editing sample_sysdef instead of sample_sysdef.in. ] [Dogfight map file fix williamb@its.caltech.edu**20060822175951 * marsdefs.h: Correctly defines mapfile (it no longer has the leading period in filename). M ./Vanilla/robots/marsdefs.h -1 +1 ] [Remove ability to vote if VOTING=0 williamb@its.caltech.edu**20060822152504 * 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 ] [Adding vote tag to voting command structure williamb@its.caltech.edu**20060822150841 * 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 ] [Addition of missing options to sample sysdef williamb@its.caltech.edu**20060822220143 * sample_sysdef.in: Adds 4 options that were in sysdefaults but missing from sysdef. M ./Vanilla/docs/sample_sysdef.in +12 ] [Addition of missing options to sample sysdef, review quozl@us.netrek.org**20060822234537] [Basepractice server improvements williamb@its.caltech.edu**20060822234530 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 ] [fix use of unsafe functions in signal handler, daemon, basep quozl@us.netrek.org**20060823014948 * 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. ] [Fix so basepractice bots don't get ip blocked by duplicate sysdef option williamb@its.caltech.edu**20060822222719 * 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 ] [add sigpipe implementation quozl@us.netrek.org**20060823050942 * 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. ] [fix fix use of unsafe functions in signal handler, robots quozl@us.netrek.org**20060823051153 * 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. ] [adopt sigpipe implementation for ntserv quozl@us.netrek.org**20060823051321 * 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. ] [remove ban vote expiry by login, add ban queue quozl@us.netrek.org**20060824044610 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. ] [disable ban pre-queue for observers quozl@us.netrek.org**20060824051317] [add setgame wait-for-terminate command quozl@us.netrek.org**20060824051355 * 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. ] [Standardize planet locs for basepractice williamb@its.caltech.edu**20060823151316 * 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 ] [Pret queue renumbering williamb@its.caltech.edu**20060823233738 * 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 ] [Pret queue renumbering, review quozl@us.netrek.org**20060824115552 * defs.h: increase MAXQUEUE to compensate for previous change to QU numbers. ] [Ingame admin tool fixes williamb@its.caltech.edu**20060824011832 * 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 ] [Merlin responds to help williamb@its.caltech.edu**20060825041700 * 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 ] [Merlin responds to help williamb@its.caltech.edu*-20060825041700 * 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 ] [Increase newbie slots from 8 to 16 williamb@its.caltech.edu**20060824173629 * 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 ] [Sysdefault instructions correction williamb@its.caltech.edu**20060825023111 * sysdefaults.h: Point to .in file for sample sysdef additions. M ./Vanilla/include/sysdefaults.h -1 +1 ] [Move newbie slot control to sysdef williamb@its.caltech.edu**20060825035822 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 ] [remove old policy, add libnetrek and sysdef hints quozl@us.netrek.org**20060825060034] [fix signal build errors on bsd quozl@us.netrek.org**20060828022859] [fix bsd socket include quozl@us.netrek.org**20060828023440] [fix attempt for pret hang on bsd quozl@us.netrek.org**20060828040207 * 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. ] [Basepractice unused variable removed williamb@its.caltech.edu**20060828044459 * 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 ] [Newbie enhancements part1 - cleanup, debug williamb@its.caltech.edu**20060828050244 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 ] [Pret enhancements part1 - cleanup, debug williamb@its.caltech.edu**20060828065956 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 ] [Install directions on running multiple servers williamb@its.caltech.edu**20060828180421 * INSTALL: add a section on how to run 2 instances of a server on 1 machine. M ./Vanilla/INSTALL +13 ] [Robot server spam reduction williamb@its.caltech.edu**20060825215411 * 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 ] [TAG 2006-08-29 quozl@us.netrek.org**20060829011619] [Addendum to multi install instructions williamb@its.caltech.edu**20060828182740 * INSTALL: forgot to mention to rerun configure M ./Vanilla/INSTALL -1 +2 ] [fix army rescue on observ ghostbust quozl@us.netrek.org**20060830105148 * daemonII.c: avoid rescuing armies for observers. ] [fix army rescue on observ ghostbust, review quozl@us.netrek.org**20060830112930 * daemonII.c: review of prior change, found a path that could lead to army rescue due to status change. Fixed. ] [document getpath quozl@us.netrek.org**20060901063830 * getpath.c: explain how it works. ] [fix ghostbust no ping alive response quozl@us.netrek.org**20060904044152 * 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. ] [Sysdef option for preT idling williamb@its.caltech.edu**20060906005314 * 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 ] [Fixes for observer muting williamb@its.caltech.edu**20060906045928 * 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 ] [Sysdef option for noconnect for perm bans williamb@its.caltech.edu**20060906062029 * 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 ] [Perm banned doc fix williamb@its.caltech.edu**20060906064310 * 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 ] [review ban_noconnect quozl@us.netrek.org**20060906065511 * main.c: send bad version packet so that client exits cleanly. ] [Sysdef option for admin password williamb@its.caltech.edu**20060907015207 * 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 ] [Sysdef option for admin password, review quozl@us.netrek.org**20060907034217 * 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. ] [Add README.ban williamb@its.caltech.edu**20060907092847 * README.ban: new file, explains how banned and access files work. A ./Vanilla/docs/README.ban ] [Add README.ban, review quozl@us.netrek.org**20060907235143 * 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. ] [Fix for long names with scores tools williamb@its.caltech.edu**20060910233953 * 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 ] [add path tools quozl@us.netrek.org**20060911043731 * 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. ] [fix robots to obey GU_GAMEOK termination quozl@us.netrek.org**20060911054038] [fix xtkill exit status quozl@us.netrek.org**20060911054106] [fix tests to use shell path quozl@us.netrek.org**20060911055127 * tests/conquer, genocide: fix scripts to use the shell path to find the programs, so that LIBDIR doesn't need to be recorded here. ] [remove unnecessary delay in conquer test quozl@us.netrek.org**20060911060102] [fix robotd to allow debugging using SIGINT quozl@us.netrek.org**20060915012517 * robotd/main.c: remove SIGINT handling, to aid debugging, no known need for SIGINT to be handled in this way. ] [prerelease 2.11.2 quozl@us.netrek.org**20060917064825] [TAG 2.11.2 quozl@us.netrek.org**20060917065654] [interim debian test build quozl@us.netrek.org**20060918040456] [ut06 packaging fixes quozl@us.netrek.org**20060919113317] [ut06 packaging fixes quozl@us.netrek.org**20060920003921] [ut06 repackage pristine quozl@us.netrek.org**20060920004141] [ut06 exclude darcs from build of package quozl@us.netrek.org**20060920020105] [Sysdef options for DD and GA ranks williamb@its.caltech.edu**20060919140558 * sample_sysdef.in, data.h, sysdefaults.h, data.c, localdata.c, localdata.h: Defines for sysdef options DDRANK and GARANK, similiar to SBRANK. Default values are 0, or rank of ensign. * sysdefaults.c: Set rank requirements to 0 if server running in INL mode (as is done for SBRANK). * getentry.c, interface.c: check for rank during ship select and refit (as is done for SBRANK). * main.c: Send DDRANK and GARANK in server config message, but only if non-zero (i.e. minimum rank is something other than ensign). Differs from SBRANK in that SBRANK is always listed. Logic being that there is no need to create more clutter on the server config listing unless it's a change from what is considered normal. M ./Vanilla/docs/sample_sysdef.in +6 M ./Vanilla/include/data.h +2 M ./Vanilla/include/sysdefaults.h +6 M ./Vanilla/ntserv/data.c +2 M ./Vanilla/ntserv/getentry.c +16 M ./Vanilla/ntserv/interface.c +12 M ./Vanilla/ntserv/main.c +10 M ./Vanilla/ntserv/sysdefaults.c +4 M ./Vanilla/xsg/localdata.c +2 M ./Vanilla/xsg/localdata.h +2 ] [Sysdef options for DD and GA ranks, review quozl@us.netrek.org**20060920035120 * xsg/localdata.c, xsg/localdata.h: remove unnecessary ??rank. ] [Newbie bots exit from team with more humans williamb@its.caltech.edu**20060919143304 * newbie.c (num_humans()): Can now check number of humans by team as well as overall, as is done in pret.c. (stop_a_robot()): Stop robot from team with least humans, as is done in pret.c. (checkmess()): Allow slots to be filled up to max slots value, rather than 1 less. (num_players()): When assigning the next team to assign a bot to, also assign the variables that keep track of the two main teams. M ./Vanilla/robots/newbie.c -17 +60 ] [Pret improved robot starting and tracking williamb@its.caltech.edu**20060919144500 * pret.c (totalRobots()): New function, replaces pt_robots variable. (checkmess): Split the start and stop robot routines in a more logical manner, and increase the rate at which new bots enter to match the rate seen in the newbie server. M ./Vanilla/robots/pret.c -40 +68 ] [Kathy responds to help williamb@its.caltech.edu**20060919145242 * pret.c (checkmess()): Kathy now responds to help in the same manner as the other bot spawning robots like Merlin and Smack. M ./Vanilla/robots/pret.c +5 ] [Newbie option for stacking humans williamb@its.caltech.edu**20060920045504 * sample_sysdef.in, data.c, data.h, sysdefaults.h: Sysdef option NEWBIE_BALANCE_HUMANS to control whether to balance number of humans per side, or to stack them all on one side. * pret.c, newbie.c (totalRobots()): Pass team number to totalRobots function in order to allow counting the number of robots on a specific team. * newbie.c (stop_a_robot): Check against new sysdef option to decide which team to stop the robot from. M ./Vanilla/docs/sample_sysdef.in +4 M ./Vanilla/include/data.h +1 M ./Vanilla/include/sysdefaults.h +3 M ./Vanilla/ntserv/data.c +1 M ./Vanilla/robots/newbie.c -15 +25 M ./Vanilla/robots/pret.c -9 +11 ] [Compile fix for Newbie option for stacking humans williamb@its.caltech.edu**20060920051751 * newbie.c: Fixes missing bracket that was omitted from previous patch. M ./Vanilla/robots/newbie.c +1 ] [debian build, add libgmp build deps quozl@us.netrek.org**20061013100825] [bugs update for inl stat script quozl@us.netrek.org**20061114212141] [Logic fixes to newbie option for stacking humans williamb@its.caltech.edu**20060920160250 * newbie.c: Previous logic for choosing which team to stop a robot from was both incorrect and unnecessarily repetitive. This patch fixes both those problems. M ./Vanilla/robots/newbie.c -11 +18 ] [Use proper readFromServer williamb@its.caltech.edu**20060921052254 * various robotd functions: There are 2 versions of readFromServer defined in robotd/socket.c, depending on the #define ATM setting. This patch makes sure the proper readFromServer is called by the various robotd functions. M ./Vanilla/robotd/findslot.c +8 M ./Vanilla/robotd/getname.c +12 M ./Vanilla/robotd/main.c +4 M ./Vanilla/robotd/newwin.c +4 M ./Vanilla/robotd/redraw.c -1 +4 ] [Prevent blank login names williamb@its.caltech.edu**20061114213750 * genspkt.c (sndLogin): The first call to sndLogin is initiated in main() of main.c, at which time p_login is NULL. The player is sent a login packet using the previous slot's values, plus NULL for login. At the next call to sndLogin, after the player's values (hostname, login, name, rank, etc) have been sent, a second login packet would be sent, but only if p_name, rank, or p_monitor were different. In the case of a player connecting to the same slot twice in a row, with the same rank, name, and hostname, this 2nd login packet would not be sent, and the player would have a blank login name for themself. This patch fixes this problem by also comparing login name as part of the check to see if a login packet should be sent. M ./Vanilla/ntserv/genspkt.c -1 +2 ] [Cambot file path fix williamb@its.caltech.edu**20061114232711 * ntserv/getpath.c: Changes path of cambot output file to same directory used by cambot.c, so that the cambot file gets properly timestamped by the endgame INL functions. * BUGS: removes 2 bugs fixed by this patch. M ./Vanilla/BUGS -8 +2 M ./Vanilla/ntserv/getpath.c -1 +1 ] [pulsar-zone solicit merge 2006-11 quozl@us.netrek.org**20061117230931 Avoid reporting slots that are from local players or robots started against localhost. Add support for binding to any IP address, required by servers operating behind NAT gateways. Merged from http://netrek.pulsar-zone.net/diff.txt dated 2006-02-23 14:16:56 UTC, md5sum bdbd716f6c9ba2ecfb4ca83885cf8d78 ] [pulsar-zone robotII merge 2006-11 quozl@us.netrek.org**20061117231332 Add quiet flag to robotII to suppress messages that would not be appropriate when it is used as a scripted practice robot. Merged from http://netrek.pulsar-zone.net/diff.txt dated 2006-02-23 14:16:56 UTC, md5sum bdbd716f6c9ba2ecfb4ca83885cf8d78 ] [conq to rss, daemon changes quozl@us.netrek.org**20061118044453 Changes to the daemon to create a per-event surrender, genocide or conquest file, which includes the epoch seconds in the file name, followed by a fork of a planned lib/conquer script which will update static web content in the background. ] [conq to rss, lib/conquer initial version quozl@us.netrek.org**20061118051725 * PROJECTS: explain the design briefly. * lib/conquer: take the generated conq file and refresh the server blog using blosxom. ] [conq to rss, generalisation quozl@us.netrek.org**20061118071717 * docs/RSS: document the design and how to configure it, * blog.c: new module for blog management callable by daemon or ntserv or robots, * daemonII.c: generalised use of blog, * tools/blog: accept a class parameter. ] [conq to rss, more generalisation work in progress quozl@us.netrek.org**20061118235435 * docs/RSS: add more event classes, sources. * struct.h: add flags for pickup blogging, to provide latching of blogged state. * blog.c, findslot.c: add game full and queue full blogging. * tools/blog-purge-old: add script to clean out old blog files. ] [conq to rss, further work quozl@us.netrek.org**20061119120716 * docs/sample_blosxom.conf: add sample blosxom configuration file which describes how to convert var/blog to var/www static content. * include/blog.h: move prototypes to unique file. * ntserv/blog.c: use LIBDIR to access blog script. Use .txt files. Add newlines. * ntserv/daemonII.c: add starbase loss to blog. * ntserv/bans.c: add blog of new temporary bans, and ban expiry. * tools/Makefile.in: create blog directories in var/blog * tools/blog: support use by god on command line, accepting all arguments as text to write to new file, in addition to use by daemon, and add locking. ] [conq to rss, allow other content from server quozl@us.netrek.org**20061120032545 * docs/RSS: updates * tools/Makefile.in, docs/sample_blosxom.conf: move output directory down a level, so that other content such as game recordings or stats can be placed in the same tree. ] [daemon, reap child processes quozl@us.netrek.org**20061120083509] [conq to rss, blogging enable flag quozl@us.netrek.org**20061121004906 * sysdefaults.h, data.h, data.c, sample_sysdef.in: add BLOGGING flag. * blog.c: use BLOGGING flag, suppress all output if not set. ] [conq to rss, blogging enable flag, compile fix quozl@us.netrek.org**20061121005834] [conq to rss, adjust game over message, remove game begin quozl@us.netrek.org**20061121011206 * daemonII.c: remove blog of daemon start, since it isn't that useful especially since a metaserver may start the daemon at regular intervals, * blog.c: move game end blog entry here, and include more daemon stats, and only publish it if at least one planet is taken in t-mode, ] [conq to rss, add blog-refresh quozl@us.netrek.org**20061121022937 * tools/blog-refresh: command to refresh the static content if the admin has fiddled with the input file collection in var/blog. ] [conq to rss, fix starbase loss blog event quozl@us.netrek.org**20061121024906 * daemonII.c: starbase loss blog event was being done for every frame in a starbase explosion, so the fix is to do it once after explosion animination has completed when p_status is PDEAD (the section is only executed if p_status was PEXPLODE). Curiously, the starbase reconstruction timer is also being set once for every frame in the explosion, but that is (a) harmless, (b) historic, and therefore (c) probably shouldn't be changed at this stage. * blog.c: move starbase loss blog event details to here. ] [add quorum, easier identification of t-mode teams quozl@us.netrek.org**20061121044920 * struct.h: add quorum array to context struct, describing the teams that are involved in the current tournament mode, * util.c: add team_opposing function to return opposing team number, * daemonII.c: change tournamentStart to is_tournament_mode, and populate quorum when t-mode is active, ] [conq to rss, edits to blogged messages quozl@us.netrek.org**20061122070250 * blog.c, increase verbiage on starbase loss, always separate blog entry title from body. * daemon.c: improve formatting of conquer, genocide and surrender messages. ] [conq to rss, blog scripts review quozl@us.netrek.org**20061122082609 * blog, blog-refresh: rely on PATH to locate getpath, place location of blosxom in a variable, improve comments, add progress responses to refresh. ] [conq to rss, further message adjustments quozl@us.netrek.org**20061122102744] [set PATH within netrekd quozl@us.netrek.org**20061122111044 * getpath.c: add setpath function to prefix PATH with BINDIR and LIBDIR. * newstartd.c: call setpath, so that ntserv, daemon and those forked by daemon (such as blog) can find binaries. ] [conq to rss, blog game over, edits quozl@us.netrek.org**20061122215249 * blog.c: reduce priority of forked blog update process, * blog.c: first blogged game over entry shows 0.0 hours of t-mode play, which was wrong, so changing the calculation to ticks for the moment. ] [conq to rss, documentation updates quozl@us.netrek.org**20061123020338] [conq to rss, prevent alarm inheritance quozl@us.netrek.org**20061123030004] [pret, avoid /bin/sh when starting robots quozl@us.netrek.org**20061123030055 * pret.c: robots were being started inside /bin/sh shells for no apparent reason, consuming an extra process slot. ] [pret, mark robots as robots quozl@us.netrek.org**20061123040505] [newbie, avoid /bin/sh when starting robots williamb@its.caltech.edu**20061123045014 * newbie.c: mirror change to pret.c to avoid extra shell processes M ./Vanilla/robots/newbie.c -10 +25 M ./Vanilla/robots/newbiedefs.h -1 +1 ] [newbie, alternative method to build argument list quozl@us.netrek.org**20061123053452 * newbie.c: an alternative method uses execv instead of execl, which simplifies the code a bit at the expense of additional lines. ] [pret, add sysdef option to use guest for bots quozl@us.netrek.org**20061124012412 * pret.c: added PRET_GUEST option that will cause pre-t robots to use a guest username, since on some servers the random names are already allocated to players. * robotd/main.c: noted that it isn't possible to log in with an empty password. ] [daemon, exclude PFBPROBOTs from t-mode scum check quozl@us.netrek.org**20061124012636 * daemonII.c: t-mode scum warning issued as a result of pre-t robots, because the robots were not being started with -g and the server was not taking them into account. ] [daemon, fix again t-mode scum check for robots quozl@us.netrek.org**20061124023028 Red faced. ] [tools/ban, only dump ban records with data quozl@us.netrek.org**20061124023455] [tools/ban, only dump ban records with data, sigh quozl@us.netrek.org**20061124024255] [blog-refresh, do not ignore errors quozl@us.netrek.org**20061125012137] [blog, add rss flow diagram quozl@us.netrek.org**20061125015558] [blog, update diagram and docs quozl@us.netrek.org**20061125021632] [projects update quozl@us.netrek.org**20061125111318] [blog, rename scripts quozl@us.netrek.org**20061127113618 Redesign of script naming, requires a make install. ] [blog, fix bans reporting quozl@us.netrek.org**20061127114249] [newstartd, note point of delay per PROJECTS quozl@us.netrek.org**20061127114353] [blog, daemon, edit racial messages further quozl@us.netrek.org**20061127114540] [netrekd, rewrite access checks to avoid DNS quozl@us.netrek.org**20061128072007 This is a rewrite of netrekd access checks to avoid DNS. Advantage is much more rapid login, and honest reporting of source IP instead of trusting the reverse DNS. Disadvantage is revealing source IPs to all players, and removing the sometimes useful hostnames from the login or "@" message response. The perceived regression may be fixed in a later patch. ] [conq to rss, fix surrender timeout messages quozl@us.netrek.org**20061128234316 Two spurious commas caused odd messages. ] [ntserv, resolve ip to host name asynchronous quozl@us.netrek.org**20061129000009 Part two of the netrekd speed up, resolves host name from ip address in parallel with the login prompt. New source file ip.c handles this. ] [blog, suppress blog-update output quozl@us.netrek.org**20061129013445 blog-update output was appearing in var/ERRORS, this patch redirects the output to /dev/null, which is what was originally intended. ] [FULL_HOSTNAMES removal, ignore, mute and hide by ip quozl@us.netrek.org**20061129023515 Another rework of IP address handling by ntserv, with the following major changes: - removal of the FULL_HOSTNAMES define from all but historical documentation, - return of the abbreviated host name to p_monitor for player list, - reimplementation of whitelist, ignore, mute and hide features. etc/whitelist/${IP} permitted to skip observer muting, etc/hide/${IP} host name and ip address is hidden from other players, etc/ignore/${IP} player starts :a'd by all, etc/mute/${IP} player starts :ita'd by all, ] [solicit, reduce compiler warnings quozl@us.netrek.org**20061129033057] [ip, remove from proto.h to speed compiles quozl@us.netrek.org**20061129104930] [ntserv, unregistered ip addresses quozl@us.netrek.org**20061130022706 Minor change to the response to unregistered IP addresses, instead of using a hostname of unknown, use the IP address itself in the player list. ] [blog, add minimal support for inl link to stats quozl@us.netrek.org**20061130034539 Add an example of minimal support for INL blog, we need the server hostname in a single place before it is practical to make this work well. Note that a make install is needed to create the blog/inl directory, but that the directory can be removed if not required. ] [solicit, reduce excess messages quozl@us.netrek.org**20061130040754 Reduce the messages provided by solicit on every per-minute update. ] [add tcsh compatible setpath quozl@us.netrek.org**20061130051405] [setpath, add tcsh and bash support, remove bangs quozl@us.netrek.org**20061130052232 Add support for tcsh as well as bash, build as part of configure. Note: you will have to re-run autoconf and then configure. ] [setpath, add tcsh and bash support, nit fix quozl@us.netrek.org**20061130052957] [Sepath.csh command fix williamb@its.caltech.edu**20061130053939] [projects, add idea on persistent ignore by ip address quozl@us.netrek.org**20061130063922 Quozl plans to do this one ... it shouldn't be difficult. ] [daemon, add SIGHUP handler to restart during play quozl@us.netrek.org**20061130064730 Allows a server administrator to send a SIGHUP to the daemon during play causing it to execute itself again. Can be used to perform live code changes to the daemon, provided the structure of the shared memory is not changed. Testing show far has shown no noticeable lag using a script that restarts the daemon every second. There may, however, be regressions, and so this patch should be tested carefully. Details of the change: * struct.h: move context below status so that a copy of status can be maintained in context, add daemon global variables to context, move player and torp arrays below status and context in memory layout to allow for future restart with memory layout changes per PROJECTS.checkpointing. * daemonII.c: move global variables into context struct, including tick cycle counter, remove some old code for rotating galaxy, define variables and new command line options, add a SIGHUP handler for restarting, do a restart immediately after a game move if SIGHUP is received, simplify removal of ONCHECK file using unlink instead of exec or fork, only send SIGUSR1 to parent if parent sends a --tell option to daemon when started. * openmem.c: when starting daemon, be sure to give --tell option. ] [newstartd, compile fix quozl@us.netrek.org**20061130211720 Removal of subnet and newaccess modules was incomplete, leading to a failure of make depend. Updated the src lines in the Makefile.in as well now. ] [INL file path fixes williamb@its.caltech.edu**20061130062749 * inl.c (end_tourney): Change path to INL game generated files, using file location as defined in getpath.c, this needed changing due to branching of files between libdir and localstatedir. Note that the path to INL_log *should* be fixed in the same manner, eventually. This patch also adds error messages to make it easier to diagnose if the files can't be found. M ./Vanilla/robots/inl.c -8 +13 ] [Move daemonII defines to top of file williamb@its.caltech.edu**20061204023435 * daemonII.c: some variables were defined in the middle of the file, moved them to the top for consistency and style purposes. M ./Vanilla/ntserv/daemonII.c -4 +4 ] [Newbie server, minimum player count option williamb@its.caltech.edu**20061201025424 * data.c, data.h, sysdefaults.h, sample_sysdef.in: Replaces max_newbie_robots sysdef option with min_newbie_slots. * newbie.c: Changes start/stop robot logic to allow for better control of how many humands and robots should be allowed at once. Previously, there was no way to have an intermediate level of human + robots that stayed at a constant level. The total player count would often be in flux, depending on the setting for max_newbie_robots. For example, if max_newbie_robots was 8, it meant that if there was 1 human, there would be 9 total players (1 human, 8 robots), and if there were 8 humans, there would be 16 total players (8 humans, 8 robots). There was no ability to control at what point a bot would leave when a human joined, other than if the game was full (all slots taken). With the new variable min_newbie_slots, it is still possible to mimic that behavior (by setting it to 16), but it also allows for situations such as 4v4 at all times, but when all 8 of those are humans, there are no more bots. This variable allows the newbie server to behave somewhat like a preT server, if one so desires. M ./Vanilla/docs/sample_sysdef.in -2 +6 M ./Vanilla/include/data.h -1 +1 M ./Vanilla/include/sysdefaults.h -2 +2 M ./Vanilla/ntserv/data.c -1 +1 M ./Vanilla/robots/newbie.c -3 +4 ] [Sturgeon framework - variable and sysdef defines williamb@its.caltech.edu**20061204023627 This patch introduces the framework for the sturgeon variant of netrek. As there are many changes to many files, sturgeon will be broken down as much as possible, to try and make the changes more understandable and digestable. This patch introduces the #define STURGEON option, which can be turned off to completely disable all sturgeon code. There is also a sysdef option for sturgeon which also disables all sturgeon related code. The new sturgeon variables are defined, and initialized, without any of the accompanying functions that use them (yet). * config.h.in: Adds #define STURGEON * sysdefaults.h: Addes sturgeon main option as well as 4 sturgeon specific sysdef options (maxupgrades, extrakills, planetupgrades, and lite). * sample_sysdef.in: Adds the 5 new sturgeon related sysdef options * proto.h: Adds prototype to two sturgeon upgrade functions which are used in multiple files. * data.h, data.c: Adds defaults for new sturgeon options, and defines upgrade arrays. * main.c: Initialize player sturgeon variables upon enter. M ./Vanilla/docs/sample_sysdef.in +18 M ./Vanilla/include/config.h.in +3 M ./Vanilla/include/data.h +17 M ./Vanilla/include/proto.h +4 M ./Vanilla/include/struct.h -1 +53 M ./Vanilla/include/sysdefaults.h +13 M ./Vanilla/ntserv/data.c +17 M ./Vanilla/ntserv/main.c +9 ] [Renamed p_refitting williamb@its.caltech.edu**20061204031615] [openmem, fix spurious removemem error quozl@us.netrek.org**20061207050752] [blog, pickup game full, add hysteresis quozl@us.netrek.org**20061208024244 Quozl: the blogging engine occasionally spams, "Pickup game full" It oscillates. Needs hysteresis. It clears the flag blog_pickup_game_full "I said it was full" as soon as there is one free slot. ntserv/findslot.c:119 I'm changing it to declare not-full once there are 8 free slots. ] [Torps track practice robots williamb@its.caltech.edu**20061204052633 * daemonII.c: change logic in torp_track_target so practice robots on your own team are not excluded from being tracked. M ./Vanilla/ntserv/daemonII.c -1 +1 ] [Sturgeon extrakills sysdef option williamb@its.caltech.edu**20061204052935 * daemonII.c: Filling out the previously patched in sturgeon_extrakills option, awarding an extra .15 kills for every kill worth of upgrades on the person who died. M ./Vanilla/ntserv/daemonII.c +25 ] [Sturgeon initialize special weapons williamb@its.caltech.edu**20061204053549 * enter.c: initspecial() new function, sets values for all the special weapon types (pseudoplasma, 5 variants of plasma, 4 variants of nuke, mines, and drones), and sets player inventory to 0 for all weapon types. M ./Vanilla/ntserv/enter.c +60 ] [Toggle special weapons williamb@its.caltech.edu**20061204054219 * coup.c: Adds additional functionality to the rarely used coup key, making it the toggle key to cycle between special weapon types on the player's ship. First checks if in a position to actually do a coup. M ./Vanilla/ntserv/coup.c +39 ] [Expire torps 5 second max after death williamb@its.caltech.edu**20061204060612 * daemonII.c (udplayers): Upon player death, while in state PEXPLODE, any torps or plasmas with a timer longer than 5 seconds are reduced to 5 seconds. This fixes the problem with ATTs dying and not being able to respawn, due to their plasmas and torps lasting upwards of 30 seconds. And it fixes the issue with sturgeon mines, which last a minute, as well. M ./Vanilla/ntserv/daemonII.c +13 ] [Torp spinspeed support williamb@its.caltech.edu**20061204060951 * daemonII.c (udtorps): Adds support for sturgeon torp spinspeed, which allows mines to spin in place. M ./Vanilla/ntserv/daemonII.c -1 +10 ] [Sturgeon det own torp for damage support williamb@its.caltech.edu**20061204061439 * daemonII.c (udtorps): Add support for the sturgeon option "det own torps for damage", which makes your self detted torps exploded as a normally detted torp, for 1/4 damage. M ./Vanilla/ntserv/daemonII.c +9 ] [Sturgeon nukes add explosion damae williamb@its.caltech.edu**20061204061730 * daemonII.c (blowup): Sturgeon ships with nukes on board do extra damage upon explosion. M ./Vanilla/ntserv/daemonII.c +11 ] [Sturgeon fire while cloaked support williamb@its.caltech.edu**20061204062145 * torp.c (ntorp): Add support for sturgeon fire while cloaked upgrade, which allows ships to fire photon torpedoes while cloaked at increased fuel cost. M ./Vanilla/ntserv/torp.c -2 +17 ] [Sturgeon fire while cloaked support, part2 williamb@its.caltech.edu**20061204062426 * torp.c (ntorp): Subtracts twice fuel cost for fire while cloaked, for ships that have the sturgeon fire while cloaked upgrade. M ./Vanilla/ntserv/torp.c +5 ] [Sturgeon message commands williamb@its.caltech.edu**20061204062736 * socket.c (handleMessageReq): Several new message types are added for use on sturgeon servers. Sending yourself 'C' provides a help listing for all the new message types. Sending a player 'i' provides a listing of special weapons inventory (for self and teammates, a full listing is provided, for enemies only a general listing). Sending yourself 'u' lists all current upgrades, and the cost for the next upgrade in that category. Sending 'u' to teammates lists all their upgrades, and sending 'u' to enemies gives a general list of what types of upgrades they have, and how many kills they have spent on upgrades. Sending yourself or a teammate 'k' lists how many kills they have spent on upgrades, how many kill credits they may have available to spend on upgrades, and their current army status (both armies carried, and army capacity). The latter (army capacity) is important because nukes compete with armies for space on the ship, thus a CA with 2 kills may or may not be able to carry 4 armies, depending on how many nukes are onboard. The 'k' option does not work on enemies. M ./Vanilla/ntserv/socket.c +181 ] [Sturgeon socket commands compile fix williamb@its.caltech.edu**20061204064326] [Initialize spinspeed on torps williamb@its.caltech.edu**20061204064519 * torp.c (ntorp): Set torp spinspeed to 0 for normal photon torps. M ./Vanilla/ntserv/torp.c +3 ] [Sturgeon nuke effects williamb@its.caltech.edu**20061204070229 * daemonII.c (explode): This patch handles the case of a successful nuclear attack on a planet. The actual events leading up to a successful nuke before the call to explode() are handled elsewhere, in plasma.c. The nuke destroys some or possibly all of a planet's armies; if the latter is the case, the planet becomes neutral. The nuke dropper gets bombing credit, and a distress call is sent to the opposing team upon nuke detonation. Planet PLCHEAP flags and defender robot spawn are also checked, in a similar manner to when a planet is neutralized by the standard army drop method. M ./Vanilla/ntserv/daemonII.c +77 ] [Sturgeon nuke gu_inrobot fix williamb@its.caltech.edu**20061204072132 * daemonII.c: replaced outdate GU_INROBOT reference with inl_mode check, as is done elsewhere. M ./Vanilla/ntserv/daemonII.c -1 +1 ] [Sturgeon compile fix williamb@its.caltech.edu**20061204072625 * struct.h: redefines char variable to short. M ./Vanilla/include/struct.h -1 +1 ] [Unused plasma settings fix williamb@its.caltech.edu**20061204073026 * plasma.c (nplasmatorp): Removes the t_no option from the #defined out plasma torp settings, as t_no is actually used elsewhere, by sturgeon. M ./Vanilla/ntserv/plasma.c -2 +1 ] [Pseudo debugging formatting fix williamb@its.caltech.edu**20061204073538 * plasma.c: Just fixes indentation of the unused pseudodebugging code. M ./Vanilla/ntserv/plasma.c -3 +3 ] [Formalize ship cap function williamb@its.caltech.edu**20061204075756 * proto.h: declare sndShipCap() * enter.c: adds call to sndShipCap * interface.c: New function sndShipCap, this sends a ship cap packet to the client. In sturgeon, ship caps are important, as they often change, and there are multiple places where ship cap packets need to be sent. Thus, it was necessary to make a new function for sending these packets. M ./Vanilla/include/proto.h +1 M ./Vanilla/ntserv/enter.c -26 +1 M ./Vanilla/ntserv/interface.c +36 ] [Sturgeon apply/unapply upgrade functions williamb@its.caltech.edu**20061204080050 * interface.c: New functions upgrade, apply_upgrade and unapply_upgrade. When a ship is set to receive an upgrade, first upgrade() is called to make sure the upgrade is allowed. Likewise, removing upgrades also calls upgrade() first. In the simpler case of removing upgrades, as long as the player has that upgrade, it is removed, and either kills or rank credit is refunded. The unapply_upgrade function is then called to remove the numeric changes to the ship, and a ship cap packet is sent. In the more complex case of applying an upgrade, first the type of upgrade is determined (temporary upgrade, or permanent upgrade). The player is then flagged as refiting. For permanent upgrades, both kills and rank credit are checked, with rank credit being spent first. A check is made against the max upgrade limit (if any) so that it is not exceeded. For temporary upgrades, only kills may be used, and there is a limit on the extent to which the shields can be boosted by temp shield upgrades. If upgrading is successful, a refit delay of 1 second per kill of upgrades bought is imposed, and the player is sent a successful upgrade message. The function then returns, and the value of the return call determines whether apply_upgrade is then called. Apply_upgrade adds the numeric values to the player's ship, and sends a ship cap packet. M ./Vanilla/ntserv/interface.c +242 ] [Sturgeon free planet upgrades sysdef option williamb@its.caltech.edu**20061204064732 * daemonII.c (beam): Add support for sturgeon planet upgrades option, where taking an enemy planet rewards the team with a free upgrade. There are several restrictions, such as upgrades must not be one-time upgrades, the player must not be in starbase, and they must not be over the upgrade limit (also a sysdef option). The team is sent a message to announce what free upgrade the team has gained. * redraw.c (auto_features): Sticks check for free upgrades in the function auto_features, which gets called often, and automatically, to deal with the necessity of updating ships with their free upgrades. M ./Vanilla/ntserv/daemonII.c +23 M ./Vanilla/ntserv/redraw.c +11 ] [Sturgeon refit and upgrade, the core of sturgeon williamb@its.caltech.edu**20061204081243 This patch contains the essential core of sturgeon. With previous patches establishing all the backend code to deal with changes to the player struct, and backend for adding upgrades and such, this patch is the user interface that all sturgeon players must navigate to add and remove upgrades. Upgrading is done through a series of menus and submenus that are activated by refitting into a ship of the same class. Starbases do not receive upgrades. The menus are navigated by the speed keys. Herein lies the biggest design flaw of sturgeon, in that in order to make sturgeon comptable with clients, keys had to be overloaded. In the case of the coup key functioning as special weapons toggle, or the plasma key firing all the different types of special weapons, it is not that big a deal. But for navigating the menus, the speed keys are used. Many older clients or players used to playing over a modem use enforced UDP, which sends every speed packet *twice*. This makes it impossible to navigate the menus correctly. Luckily, the number of players affected by this (from my firsthand experience of running and providing tech support for the sturgeon server) is small, and they are all older players. New clients do not use enforced UDP by default. Regardless, anyone running a sturgeon server should at the very least update their MOTD with information regarding enforced UDP problems. See http://netrek.warped.us for the complete sturgeon guide, including a section on troubleshooting. * interface.c (set_speed): Adds upgrade menus. A typical upgrade involves navigating through 2 menus (i.e. selecting 2 speeds), then a check is made to see if the upgrade is valid. In the case of the special weapons, a few other checks are made, such as to see if the ship already has an infinite amount of that weapon, or if it has the cargo space, in the case of nukes. * (do_refit): Upon refitting to the same ship type (non-base) the first main upgrade menu is shown. Included is an option for a normal refit. Upon successful refit, special weapons are reset. Upgrades from the old ship are then applied to the new ship. Before the undo upgrade option, all upgrades were refunded - that code is left in, but commented out as undo upgrade proved more popular and a superior way of fine tuning a ship's upgrades. The default ship special weapons are then applied. Assault ships get unlimited mines, bases get unlimited pseudoplasma, type 5 plasma, and drones. ATT gets unlimited everything, and GA gets unlimited pseudoplasma. A ship cap packet is then sent. Also note that plasma is handled differently in sturgeon - refitting with 2 kills does not grant plasma, all plasma must be bought, and it comes in limited amounts. M ./Vanilla/ntserv/interface.c -25 +423 ] [Sturgeon enter ship routine, the other half of sturgeon core williamb@its.caltech.edu**20061204083205 * enter.c (enter): This patch deals with what happens when a player dies. It bears some similarity to when a player refits. Bases do not get to keep upgrades. Depending on a few conditions, upgrades are lost. Upon genocide or conquer, upgrades are not lost. If the player's rank credit is high enough to cover all his upgrade costs, upgrades are not lost. Otherwise, upgrades are lost. If sturgeon lite is set, only the costliest upgrade is lost. Otherwise, all upgrades are lost, but only down to the point where rank credit is enough to pay for the remaining upgrades. Thus, in all cases, rank upgrades are essentially free upgrades that can't be lost. Rank credit is recalculated, and special weapons are reset, then set to the specific ship values, as in refit(). Plasma is again handled slightly differently in the sturgeon case, as sturgeon does not use the plasmacost variable. M ./Vanilla/ntserv/enter.c -3 +104 ] [Unscrew the order of shipcap in enter() williamb@its.caltech.edu**20061204084014 * enter.c (enter): In order to separate out the changes to shipcap and the change to the ship enter routine, I had to move the sturgeon enter code later in the enter() function than it should be. This patch restores the sturgeon and ship cap code to the proper place. Blame darcs for this one, or credit it for doing its job. M ./Vanilla/ntserv/enter.c -36 +36 ] [Sturgeon special weapon + plasmas, the messiest part of sturgeon code williamb@its.caltech.edu**20061204084439 * plasma.c (nplasmatorp); This patch is the hardest part of sturgeon code to understand, as it creates a complex tangle of nests within the main plasma function, which is unavoidable as all special weapons are overloaded onto the plasma key. This is also the likeliest place any bugs in sturgeon still exist. Mines and drones are assigned to the torp array, while plasmas are assigned to the plasma array. There is a known bug where a player can sometimes fire an extra torp, in a different team color than his own. I believe there's some bug with the arrays, either here or in torp.c. The checks to see if a nuke can be used are here, including a large if/else statement which gives randomness to nuke events. M ./Vanilla/ntserv/plasma.c -56 +313 ] [Sturgeon/INL bugs update williamb@its.caltech.edu**20061204090230 * BUGS: remove fixed INL bugs, add sturgeon bugs M ./Vanilla/BUGS -15 +9 ] [Improve newbie server messages williamb@its.caltech.edu**20061204113722 * newbie.c, newbie.h: Define NEWBIEMSG to control which newbie message is used. Removed outdated draft league message, inserted a general netrek message and a sturgeon message, default is the standard newbie server message. Also added option to turn message off completely. M ./Vanilla/robots/newbie.c -10 +15 M ./Vanilla/robots/newbiedefs.h -1 +1 ] [Add blosxom script to source williamb@its.caltech.edu**20061208032133 * Adds debian blosxom script to source, to eliminate manual configuration of blog script files. M ./Vanilla/tools/Makefile.in +1 M ./Vanilla/tools/blog -2 +1 M ./Vanilla/tools/blog-refresh -2 +1 M ./Vanilla/tools/blog-update -2 +1 A ./Vanilla/tools/blosxom ] [Remove repetitive plasmacost code williamb@its.caltech.edu**20061208040541 * interface.c (do_refit): Removes a second check that was there by accident. M ./Vanilla/ntserv/interface.c -3 ] [merge sturgeon mods quozl@us.netrek.org**20061208044456] [sturgeon, coup, isolation quozl@us.netrek.org**20061208050220 An example of how to isolate sturgeon changes into a single source file. * coup.c: remove sturgeon changes, include new prototypes, * sturgeon.c (sturgeon_coup): simplify logic. ] [sturgeon, set speed, isolation quozl@us.netrek.org**20061208054001 Another attempt at isolating sturgeon features into a single file. This time the set speed hook is translated, along with the functions it needs and other parts of the code use. * sturgeon.c: add set speed hook, move upgrade functions. * enter.c, interface.c, plasma.c, redraw.c: call replacement functions. * coup.c: rename function, change if statement layout. ] [sturgeon, enter, isolation quozl@us.netrek.org**20061208085242 Isolation of the sturgeon enter processing. Needed arguments from the enter() argument list. ] [sturgeon, refit, isolation quozl@us.netrek.org**20061208091355] [Ship cap improvements - xtkill, observer support williamb@its.caltech.edu**20061208084854 * struct.h: new player field p_update_shipcap * enter.c: initialize new player variable to 0 * interface.c (lock_player): Flag observers as needing a ship cap update * interface.c (sndShipCap): Use observed player's ship values in case of observer * redraw.c: add check to see if shipcap needs sending * plasma.c, sturgeon.c: replace dummy shipcap upgrades with shipcap calls * xtkill.c: flag player as needing shipcap in case of changed ship M ./Vanilla/include/struct.h +1 M ./Vanilla/ntserv/enter.c +1 M ./Vanilla/ntserv/interface.c -18 +34 M ./Vanilla/ntserv/plasma.c -1 +1 M ./Vanilla/ntserv/redraw.c +4 M ./Vanilla/ntserv/sturgeon.c -1 +1 M ./Vanilla/tools/xtkill.c +2 ] [sturgeon bugs update williamb@its.caltech.edu**20061208085424] [sturgeon, ship cap, review quozl@us.netrek.org**20061208092808 Code review of sndShipCap, mostly indenting and naming changes. ] [sturgeon, struct, review quozl@us.netrek.org**20061208094423 Minor formatting fix, 80 column rule. ] [sturgeon, redesign ship cap sending quozl@us.netrek.org**20061208104233 Instead of using a flag to trigger resending of the ship capabilities, be rigorous and check for actual change, by caching the previous packet and sending it if the new packet is different. ] [Plasma.c compile warning fixes williamb@its.caltech.edu**20061208105539] [Robots compile fixes williamb@its.caltech.edu**20061208111226 * various robot files: return 0 in main function to satisfy int main(). M ./Vanilla/robots/basep.c +1 M ./Vanilla/robots/mars.c +1 M ./Vanilla/robots/pret.c +1 M ./Vanilla/robots/puck.c +1 ] [bans.c remove unused variable williamb@its.caltech.edu**20061208112935] [keyman.c compile warning fix williamb@its.caltech.edu**20061208114228] [Roboshar.c compile warning fix williamb@its.caltech.edu**20061208114515] [pledit/edit.c compile fixes williamb@its.caltech.edu**20061208120159] [keycomp compile fixes williamb@its.caltech.edu**20061208121250] [ip.c compile fix williamb@its.caltech.edu**20061208121656] [showgalaxy.c compile fix williamb@its.caltech.edu**20061208213259] [setplanet.c compile fix williamb@its.caltech.edu**20061208213434 * setplanet.c: isalpha requires int not char. Similar problem seen in calls to toupper and isspace. M ./Vanilla/tools/setplanet.c -1 +1 ] [robotd/main.c compile fix williamb@its.caltech.edu**20061208221003] [sturgeon, redesign ship cap sending, review quozl@us.netrek.org**20061209074020 Naughty Quozl released patch before test. ] [Fix path to INL players file williamb@its.caltech.edu**20061130070324 * end_tourney.pl: Use getpath to localstatedir for location of INL mode generated players file, old location was incorrect due to branching of /lib and /var directories. M ./Vanilla/robots/end_tourney.pl -1 +1 ] [Allow bombing of all planets in t-mode opponent space williamb@its.caltech.edu**20061209100420 * interface.c (bomb_planet): Previous bomb logic was modifed in 93 to allow for bombing of planets in your own space that may be owned by a 3rd space race. Until a recent patch, there was no variable tracking the team that you are in t-mode against, so it was not possible to allow the opponent to bomb the 3rd race planet in your home space. This patch equalizes the bombing rule on planets in t-mode team space. M ./Vanilla/include/proto.h +1 M ./Vanilla/ntserv/interface.c -2 +4 ] [Merge Bill's server buglist williamb@its.caltech.edu**20061209101413] [Clarify docking/twarp procedure williamb@its.caltech.edu**20061209102806 * orbit.c: Upon successful dock on base after twarp, it would appear a refit delay is applied. However, due to how auto_features() handles twarping, the twarp flag is actually removed before the dock attempt is made. Just adding a comment so the next person who looks at code isn't as puzzled as I was. M ./Vanilla/ntserv/orbit.c +2 ] [Transwarp command - allow individual toggles williamb@its.caltech.edu**20061210084144 * struct.h: New player variable p_cantranswarp, similar to p_candock. * enter.c, main.c: Initialize variable as with p_candock. * ntscmds.c: (do_nodock) - Cleaned up formatting some. (do_transwarp) - Added 2nd usage line, added functionality to take a player # after "transwarp on" or "transwarp off". * transwarp.c: New message based on if p_cantranswarp is toggled. * PROJECTS: removes individual transwarp toggles from the project list M ./Vanilla/PROJECTS -2 M ./Vanilla/include/struct.h +1 M ./Vanilla/ntserv/enter.c -1 +3 M ./Vanilla/ntserv/main.c +1 M ./Vanilla/ntserv/ntscmds.c -20 +57 M ./Vanilla/ntserv/transwarp.c +4 ] [Projects update - removed another done item williamb@its.caltech.edu**20061210090520] [sysdef, add starbase rebuild time quozl@us.netrek.org**20061211025411 Adds a new sysdef option STARBASE_REBUILD_TIME calibrated in minutes, to replace the configured constant BUILD_SB_TIME that was in defs.h. ] [sturgeon, plasma, isolation williamb@its.caltech.edu**20061211054703 This patch creates a sturgeon_nplasmatorp function which handles all sturgeon plasmas. This restores plasma.c to the state it was in prior to sturgeon, except for the new call to sturgeon_nplasmatorp. nplasmatorp and sturgeon_ nplasmatorp share very little in common other than 4 conditional checks for the plasma case (plasmas invented? wtemp? already have a plasma out? repairing?). Thus an entirely new function is the best solution. M ./Vanilla/include/sturgeon.h +1 M ./Vanilla/ntserv/plasma.c -316 +65 M ./Vanilla/ntserv/sturgeon.c +276 ] [configure, x includes fix attempt quozl@us.netrek.org**20061211080822] [ignore, persistent, new feature quozl@us.netrek.org**20061211105123 Addition of persistent ignore settings, saved by IP address of client, and IP address of slot being ignored. Also moves the etc/ mute, ignore, and whitelist structure down a level. TODO: clean up old ignore entries created for dynamic IP addresses. TODO: check for performance impact of file access every login by every ntserv process. ] [add list of repos quozl@us.netrek.org**20061212054422] [Bans age, reality fix williamb@its.caltech.edu**20061211075547] [Bans age, reality fix, review quozl@us.netrek.org**20061212054641] [Metaservers howto fix williamb@its.caltech.edu**20061211121603 Stripping home/away isn't something that is in metaserver code. M ./Vanilla/docs/metaservers-HowTo -2 +2 ] [Metaservers howto fix, review quozl@us.netrek.org**20061212055231] [INL metaservers howto update williamb@its.caltech.edu**20061211234326] [INL metaservers howto update, review quozl@us.netrek.org**20061212055753] [metaservers-Howto, remove server williamb@its.caltech.edu**20061211235011] [metaservers-Howto, remove server, review quozl@us.netrek.org**20061212052616] [New feature packets, full direction resolution and generic williamb@its.caltech.edu**20061212032859 Two new feature packets have been added. One, FULL_DIRECTION_RESOLUTION, sends SP_PLAYER instead of SP_2_PLAYER info to the client, to allow for support of other ship directions and speeds > 16. This solves the biggest problem with the compromise in data accuracy made by the short packets regime, while still keeping the other benefits of short packet code. The default setting is ON (clients will still need to have this feature enabled to use it). The second feature packet is in the prototype phase, it is called SP_GENERIC_32, and will be a new 32 byte packet sent to the client, if it has this feature packet enabled. The size of the packet is, at this point, ~90% padding, to allow for future expansion. The first feature added will be ship repair time. This patch does not include the creating and sending of this new packet, just the initialization. M ./Vanilla/docs/sample_features +4 M ./Vanilla/include/data.h +2 M ./Vanilla/include/packets.h +8 M ./Vanilla/ntserv/data.c +3 M ./Vanilla/ntserv/feature.c +2 M ./Vanilla/ntserv/genspkt.c -2 +2 ] [New feature packets, full direction resolution and generic, review quozl@us.netrek.org**20061212060712 Added suggested methods to maintain version byte, Changed repair time to 16-bit integer, can't wait all night, Added method to check packet size is consistent. ] [INL metaservers howto update, review 2 quozl@us.netrek.org**20061212061035] [Metaservers-HowTo, fix regression williamb@its.caltech.edu**20061212061549] [Gener32packet generation, repair time calculated williamb@its.caltech.edu**20061212065347 * struct.h, main.c: New player field p_repair_time * genspkt.h, genspkt.c: New function sendGeneric32Packet(), currently sends repair time. * daemonII.c: calculate repair time in seconds M ./Vanilla/include/genspkt.h +1 M ./Vanilla/include/struct.h +1 M ./Vanilla/ntserv/daemonII.c -1 +15 M ./Vanilla/ntserv/genspkt.c +24 M ./Vanilla/ntserv/main.c +1 ] [Generic_32, add packet size, version, planet orbit williamb@its.caltech.edu**20061213085455 Initializes Generic_32 packet size to 32 bytes, and fills with padding. New packet member pl_orbit, which sends the planet # of whatever planet the player is orbitting. M ./Vanilla/include/packets.h -2 +4 M ./Vanilla/ntserv/genspkt.c -2 +9 ] [generic 32 review quozl@us.netrek.org**20061213101025 Added a utility function to return me or the observed ship, since it has been used in both sndShipCap and the newer generic 32 packet. Change repair time calculation to use integer arithmetic instead of the unnecessarily time consuming floating point. Avoided clearing the pad of generic 32 since memset is already set. ] [full direction resolution, flag bug fix williamb@its.caltech.edu**20061212075113 * genspkt.c: Updateships() masks out PFCLOAK and PFSHIELD if short packets are on, these are normally sent in the flags packet when long packets are on, thus these flags were not being sent with the feature packet FULL_DIRECTION_RESOLUTION enabled. M ./Vanilla/ntserv/genspkt.c -4 +6 ] [repair time calculation, bug fix williamb@its.caltech.edu**20061212080338] [resolve conflict, repair time calculation, bug fix quozl@us.netrek.org**20061213101955] [Shicap fix, initialize packet memory size williamb@its.caltech.edu**20061212234517] [resolve conflict, Shicap fix, initialize packet memory size quozl@us.netrek.org**20061213102103] [Full_direction_resolution, ignore packet size restrictions williamb@its.caltech.edu**20061213004545 * socket.c (updateClient): There are packet size restrictions on S_P2 regarding whether to send self status or update the player list; with the F_full_direction_resolution feature on, total packet size is large enough that this data would never get sent. Thus packet size is ignored with this feature on, and player list/self status is sent regularly. M ./Vanilla/ntserv/socket.c -2 +2 ] [robotd, re-order option parsing quozl@us.netrek.org**20061214050539 Re-ordering of option parsing to make it clearer where room remains in the alphabet for addition of new options, standardised a comment on each option for ease of maintaining usage, laid out usage by classification of option. ] [Typo fix in end_tourney.pl williamb@its.caltech.edu**20061214050941] [update projects list with ip resolution changes quozl@us.netrek.org**20061216223828] [blog, game over, change ticks to hours quozl@us.netrek.org**20061216224337 * blog.c (blog_game_over): change ticks to hours, now that the reality problem has been solved. ] [TAG 2006-12-18 quozl@us.netrek.org**20061218025323] [ip, propogate deferred lookup to queue hosts quozl@us.netrek.org**20061218030512 * queue.c: if the IP is in the list of addresses to be hidden, hide it from the queue display, providing 127.0.0.1 instead, but regardless do a reverse lookup when the client joins the queue, and clean up the forked process when the client leaves the queue. ] [cambot, audit trail scripts quozl@us.netrek.org**20061218083033 * Makefile.in: add two new scripts * cambot-cyclic: to be run from crontab at ten minute intervals, generates ten minutes of recording. * cambot-clean: to be run from crontab daily, removes recordings more than two weeks old. ] [persistent ignore, clean up old entries in database quozl@us.netrek.org**20061218084006 * ignore-clean: remove old ignore requests ] [pret, centralise check for is_robot quozl@us.netrek.org**20061221224659 * util.c: add an is_robot function to hold common code found in multiple places. * util.h: add a separate prototype file for util.c ] [entry, if only one ship type allowed, use it quozl@us.netrek.org**20061222051926 * util.c: add function for detecting situation and forcing selection to the ship allowed. * getentry.c: ignore player ship type selection if only one available. * interface.c: on refit, ignore player ship type selection if only one is available, and send a message about it. ] [players, report server type and player count fixes udp quozl@us.netrek.org**20061222095659 * util.c: add a function to determine the type of this server according to the sysdefaults. * players.c: do not report robots in UDP server reply to clients asking for player count using multicast discovery or specific reference. * players.c: report a more valid server type. ] [projects, review and purge quozl@us.netrek.org**20061222110614] [debian, change compatibility level quozl@us.netrek.org**20061222111455] [TAG 2006-12-22 quozl@us.netrek.org**20061222111523] [bugs, update quozl@us.netrek.org**20061223110832] [INSTALL.INL updates williamb@its.caltech.edu**20061221211341] [RSS documentation update williamb@its.caltech.edu**20061221211822] [players, report server type and player count fixes udp, review williamb@its.caltech.edu**20061222133845] [xsg, fix debian build failure quozl@us.netrek.org**20061223223811 * xsg/Makefile.in: a superfluous rule existed for building x11window.o which used out of date command line format, resulting in an -I include directory without a following name thus consuming the -c flag, resulting in an attempt to run ld(1), which failed since x11window.c is not main(). ] [debian, update build dependencies based on tests quozl@us.netrek.org**20061223224328 * debian/control: following tests with etch and sarge pbuilders, some packages required for build were identified and added. ] [update NEWS for next server release [Uram] netrek@gmail.com**20061224065806] [2.12.0 release quozl@us.netrek.org**20061227225211] [TAG 2.12.0 quozl@us.netrek.org**20061227225401] [post release procedural changes quozl@us.netrek.org**20061229213300] [ * Clean up of control file to make linda and lintian happy Bob Tanner **20061229200240 * Upgrade to Standards-Version: 3.7.2 * Small change to extended description * Conversion of rules to cdbs * The common licenses (GPL, BSD, Artistic, etc) have been moved from * /usr/doc/copyright to /usr/share/common-licenses. Copyright files should be updated * trekon uses #!/bin/csh. The Debian policy for scripts explicitly warns * against using csh and tcsh as scripting languages. * Renamed init to netrek-server-vanilla.init to work with cdbs * Added debian/manpages and created netrekd.1, Debian policy requires all * binaries to have a manpage. * setpath is a shellscript missing magic cookie, added #!/bin/sh to comply * with Debian policy * The postrm de-registers an /etc/init.d script which has not been registered * in the postinst script before. Comments in the postinst ask for a debconf configuration option. Commenting out the de-register to make lintian happy. * Added symlink between netrekd and newstartd ] [post release packaging notes quozl@us.netrek.org**20070102225902] [Fix to check for configure in res-rsa. Bob Tanner **20070102083745 >Doesn't build on etch either, in pbuilder. Did before your patch. >Maybe I'm doing something wrong with my pbuilder? tests/build-debian >has my notes. Missed check for configure in the res-rsa directory. Changed the pre-build rules to check for it. ] [start_on_boot_debconf Bob Tanner **20070105003130 * Created debconf template to ask the user if they want to start netrekd on boot * Added debconf template to display error if chown fails in postinst script * Removed de-register from postrm, dh_installinit/cdbs automatically takes * care of removing init.d files * Added db_purge to postrm,just as a safety measure, debhelper should take * care of this. * Started framework for i18n support in the debconf templates ] [TAG 2007-01-05 quozl@us.netrek.org**20070105014830] [debian, build test scripts quozl@us.netrek.org**20070105032345 Addition of pbuilder style build test scripts, which a maintainer may run in the context of the darcs repository. build-debian-pbuilder-create, creates the pbuilder instance for the two current distributions, needs to be done once. build-debian-pbuilder, builds the current repository source in the pbuilder container. build-debian, builds the current repository source in the current debian system environment (which generally is not pristine). ] [fix_missing_template Bob Tanner **20070105051508] [Delay inl timeout in case of obliterate williamb@its.caltech.edu**20070105065546 * inl.c (inlmove, obliterate): Add obliterate timer to ensure no timeouts go into effect until all ships have had a chance to go through explosion animations. Fixes bug with ghostbusting all players if INL timeout occured at exact end of regulation and beginning of overtime. M ./Vanilla/robots/inl.c -2 +9 ] [TAG 2007-01-09 quozl@us.netrek.org**20070109041819] [Fix maintainer-clean Karthik Arumugham **20070129044219 Let 'make maintainer-clean' revert more stuff that may need rebuilding. ] [Karthik's Repository Karthik Arumugham **20070129044625] [OS X Compile fix Karthik Arumugham **20070129044653 Fix compiling on Mac OS X and perhaps other OSes by virtue of using LDFLAGS and CPPFLAGS. ] [chmod tests/build during autogen quozl@us.netrek.org**20070205221655] [Repair time, bug fix for shield only case williamb@its.caltech.edu**20070207234543 * daemonII.c: Fixes regression that removed setting player repair time in the case of shield damage. M ./Vanilla/ntserv/daemonII.c +1 ] [TAG 2007-02-08 quozl@us.netrek.org**20070207235912] [change reality to updates per second quozl@us.netrek.org**20070215071800 * data.h, sysdefaults.c, daemonII.c: change the sysdefault variable reality so that it is stored in memory as it arrives from the sysdef file, so that instead of it being an update time in microseconds, it is now an update rate in frames per second. ] [Fix spelling of Cassiopeia as pointed out by pog Karthik Arumugham **20070203184815] [make maintainer-clean fix Karthik Arumugham **20070207184123] [INL guest MOTD display Karthik Arumugham **20070207223131 Allow INL guest observers to watch. Allow INL guest players in, but show them a special motd and close all teams out from selection. ] [INL guest fix Karthik Arumugham **20070207233419 Oops, let observers in as guest ] [Send INL guest MOTD Karthik Arumugham **20070208002031 Send the right MOTD to INL guests even if cluecheck is on. ] [Fix cluecheck for INL mode Karthik Arumugham **20070208002652] [Cluecheck fix #2 Karthik Arumugham **20070208022300] [Verify forward/reverse DNS Karthik Arumugham **20070208112439 Check that forward and reverse DNS match. Display the IP address with a comment noting the reverse DNS to ALL if they do not match. Make the WHOIS command display the stored reverse DNS. This alleviates things like random IPs resolving to "localhost" or other non-resolvable names. ] [DNS resolve updated - don't display for local bots Karthik Arumugham **20070208120048] [UNDO bot DNS fix Karthik Arumugham **20070208130710] [Clue-check bugfix for pickup Karthik Arumugham **20070208175612] [Buffer overflow protection for ip_lookup() Karthik Arumugham **20070208230626 2007-02-08 Karthik Arumugham * ip_lookup.c: Use strncpy()/strncmp() where appropriate to prevent theoretical buffer overflows. ] [Check forward/reverse DNS matching (v2.0) Karthik Arumugham **20070209072721 2007-02-09 Karthik Arumugham * ntserv/enter.c: Support for new DNS resolution code. * ntserv/ip.c: Rewrite of reverse/forward DNS resolution code and handling of mismatched or missing DNS records. * ntserv/ntscmds.c: Support for new DNS resolution code. ] [DNS output update Karthik Arumugham **20070209082358 2007-02-09 Karthik Arumugham * ntserv/enter.c: Support for new DNS resolution code. * ntserv/ntscmds.c: Support for new DNS resolution code. ] [merge review, karthik to quozl, dns and inl guest quozl@us.netrek.org**20070213015537 * defs.h: remove added blank line. * struct.h: better describe new field. * main.c, cluecheck.c, getentry.c: fix comments, use strcasecmp, improve wrap style. ] [factorise guest check quozl@us.netrek.org**20070216040056 * util.c: new function is_guest to check a character name for whether it represents a guest, * getentry.c, getname.c, main.c, ntscmds.c: use common function. ] [p_explode p_whydead p_whodead factorisation quozl@us.netrek.org**20070216234730 * daemonII.c: a common phrase appears many times in the code, where the explosion frame counter is set according to whether the ship is a starbase or not, and then p_whydead and p_whodead are set. This change places this in a single function in the daemon, eventually to be reused in other code. ] [fps, work in progress, uprate quozl@us.netrek.org**20070217010824 * daemonII.c: adopt 50 frames per second interval timer, change to using frames to mean simulation intervals, leaving ticks to mean tenth second statistics units, place interval timer setting in common function. * struct.h: propagate change, ticks to frames, struct context. * daemonII.c: only change interval timer if reality or fps are changed by sysdefaults reload. * daemonII.c: count observers as free slots when deciding when to terminate the daemon due to lack of activity ... so that observers do not keep the server running. * alarm.c: propagate change, move setitimer from daemon. ] [plrescue, common code quozl@us.netrek.org**20070217094148 * daemonII.c: sturgeon mods copied code for rescue of planet when owning team has no players, this change adds function plrescue() for that common code, and moves sturgeon nuke handling into a new function t_nuke_planet(), making t_explosion() shorter and easier to read. ] [udplayers part 1, split by p_status quozl@us.netrek.org**20070217101107 * daemonII.c: split up function udplayers() into multiple functions one per p_status. ] [udplayers 2, split PALIVE by task quozl@us.netrek.org**20070217104019 * daemonII.c, split up PALIVE parts of udplayers into multiple functions, one per apparent task. ] [udplayers part 3, indent quozl@us.netrek.org**20070217104815 * daemonII.c: indentation and style changes only. ] [udtorps, split into functions, ident, document quozl@us.netrek.org**20070218000032 * daemonII.c: split the udtorps function into smaller functions, to make it easier to understand, but without any material changes as far as game play is concerned. ] [t_fuse upscale, 50 fps quozl@us.netrek.org**20070218004920 * daemonII.c: update torps at 50 frames per second, upscaling t_fuse by 5, with brief play testing. ] [udships, 50 fps, split ship movement out quozl@us.netrek.org**20070218014019 * daemonII.c: split ship movement out of udplayers into a new function udships that is called at 50 frames per second, leaving direction changing due course change or orbit in udplayers. ] [move p_no() to util.c quozl@us.netrek.org**20070218021259] [ship position tests quozl@us.netrek.org**20070218045908] [ship positions refresh quozl@us.netrek.org**20070218235639] [Update WARMONGER for political climate Karthik Arumugham **20070218154103 Feb 18 10:42:35 EST 2007 Karthik Arumugham **20070219001944 * Vanilla/autogen.sh would throw some error lines when running libtoolize if the files already existed. We now check to see if they exist and remove them. * debian/init is missing in the repo, so an error is still thrown about its non-existance. ] [update repos to omit shiny and add trinket. Stephen Thorne **20070219002702 Shiny has been decommisisoned. trinket.thorne.id.au is the new name of the host that used to be shiny. ] [fix autogen.sh reference to debian/init quozl@us.netrek.org**20070219002433] [torp direction testing quozl@us.netrek.org**20070219014547] [genspkt, PFOBSERV not sent for already existing slots quozl@us.netrek.org**20070219021753 * genspkt.c: the PFOBSERV flag was not being sent for already existing observer slots, may have been caused by the logic in sndFlags, which only checked for change in the masked flags rather than preparing the masked flags and checking for change against the previous packet sent. Bill to check fix. ] [torp direction testing, wobble quozl@us.netrek.org**20070219031230] [ship/torp position testing, additional work quozl@us.netrek.org**20070219034320] [Fix ignore/mute for null IPs williamb@its.caltech.edu**20070219074908 * ip.c: Needed to add check against null IP for global mute/ignores, as the starter robots (Merlin, Kathy, etc) were being muted. M ./Vanilla/ntserv/ip.c -2 +2 ] [Factorize standard robot helps williamb@its.caltech.edu**20070219080859 * basep.c, marsmove.c, newbie.c, pret.c: Factorize how robot responds to the word "help", as they all behave the same. * roboshar.c, roboshar.h: New function robohelp(). M ./Vanilla/robots/basep.c -10 +1 M ./Vanilla/robots/marsmove.c -9 +1 M ./Vanilla/robots/newbie.c -1 +5 M ./Vanilla/robots/pret.c -10 +1 M ./Vanilla/robots/roboshar.c +14 M ./Vanilla/robots/roboshar.h +1 ] [setgame, test support quozl@us.netrek.org**20070219093619 * daemonII.c, struct.h, setgame.c: add strict frame pacing test support, so that server can be run for n frames and then paused. ] [setship, ship position testing quozl@us.netrek.org**20070219093814] [p_x_y, 50fps calculation refinement quozl@us.netrek.org**20070220043235 * struct.h: add new fields for internal form of coordinate, scaled by an extra eight bits. * daemonII.c: calculate an extra 8 bits of precision for ship coordinates. * other files changed as a consequence. ] [util.h, missing prototypes quozl@us.netrek.org**20070220054236] [50 fps scaling constants sjno258@cse.unsw.edu.au**20070220105508 * defs.h: add constants * util.c, daemonII.c: changed magic numbers to constants. ] [Use dpkg-buildpackage and fakeroot for making a debian package. basic@us.netrek.org **20070221002102] [darcs, add bob's repo quozl@us.netrek.org**20070221003635] [TAG 2007-02-21 quozl@us.netrek.org**20070221003805] [New DNS code ifdefs and general updates Karthik Arumugham **20070221004738 * config.h.in: add IP_CHECK_DNS defines to configure DNS behavior * defs.h: add some nice message length defines to check MSG_LEN overflow against * enter.c, ip.c: misc updates to support DNS code * ntscmds.c: rewrite WHOIS output to be more correct and more helpful ] [New DNS code ifdefs and general updates, peer review quozl@us.netrek.org**20070221010730] [setgame, test support, fixes quozl@us.netrek.org**20070221024833 * daemonII.c: implementation bug, test was not properly terminating. ] [torp direction testing, speed quozl@us.netrek.org**20070221025001 * setship.c: add support for low speed torp testing required by sturgeon modifications. ] [misc directions testing changes quozl@us.netrek.org**20070221050247] [t_x_y, 50fps calculation refinement quozl@us.netrek.org**20070221071744 * struct.h: add internal coordinates for torpedos scaled by the same resolution change as previously done for ship coordinates. * util.c: add helper function to set torpedo coordinates. * torp.c, sturgeon.c, plasma.c, daemonII.c, conquer.c, setship.c: implement scaled torpedo coordinates. ] [spi/spi, use macros for coordinate scaling quozl@us.netrek.org**20070221072310] [robot, 50fps p_x_y regression fix, shimmering quozl@us.netrek.org**20070221074623 * robotII.c: ensure the robot's galactic bounding box is not defaulting to an empty galaxy ... this was causing the robot to oscillate onto and off the galactic at 25 fps, as the coordinate bounding box logic was being activated. ] [robot, 50fps p_x_y regression fix, shimmering, again quozl@us.netrek.org**20070221080546 * enter.c, util.h, main.c, util.c, robotII.c: generalise the fix for all robots that call enter() directly, and also fix the momentary appearance on the client of a tactical coordinate that the slot had previously. p_x_y_set is asynchronous, and so not appropriate for a new ship. ] [Move cloak phase to 10 update/sec standard williamb@its.caltech.edu**20070221084457 * defs.h: Change number of cloak phases from 7 to 12. * daemonII.c: Change CLOAKFUSE from 2 to 1. This makes cloak updates occur twice as frequently, i.e 10/sec. This patch has no effect on cloak timing, as shown by the figure in udcloak(). However, it has the beneficial effect of moving cloak to the 10 updates/sec standard like other animation events. And it allows clients to change their number of cloakphases to 12 and be in line with the server. This would fix the problem where cloak/decloaking is animated too quickly by clients running at 10 update/sec. M ./Vanilla/include/defs.h -1 +1 M ./Vanilla/ntserv/daemonII.c -4 +6 M ./Vanilla/robotd/defs.h -1 +1 ] [compile fixes, p_x_y, include of util.h quozl@us.netrek.org**20070221091957] [projects update quozl@us.netrek.org**20070221211952] [practice robot, torp safety quozl@us.netrek.org**20070222033628 * daemonII.c, rmove.c: make practice robot torps safe for other practice robots, * socket.c: enable multiple robots even when transwarp enabled. ] [send server-only fps feature packet quozl@us.netrek.org**20070222062036 * genspkt.c, socket.c: send the server's frames per second variable to clients as a server-only feature packet, to assist with their decision making with respect to the expected update rate ... clients must still take into account the update rate they may have requested via a CP_UPDATE packet. ] [Transwarp speed changes, moved to daemon, on fuse williamb@its.caltech.edu**20070222103935 * redraw.c: Moves transwarp deceleration to daemon * daemonII.c: New fuse TWARPFUSE, called 10 times/second, which handles both accelerating and decelerating ships in twarp. Previously these functions were split between ntserv and daemon. New function udtwarp() which handles the speed changes. Fixes the bug where client update setting altered transwarp speed. Also fixes transwarp speed to an internal fuse so the fps changes do not alter transwarp behavior. Also fixes a bug that never showed up previously, in that during transwarp, daemon was still incrementing player's p_subspeed, which resulted in player's speed being incorrectly lowered to p_ship.s_maxspeed if p_speed was higher than that value. This subspeed routine is now properly in the nontranswarp case. This patch also fixes the 1 update/sec transwarp bug that would bounce a ship back and forth around the base in an odd fashion. Patch tested on 50 fps server, using both 1 update/sec and 10 update/sec client. Both cases resulted in ships having identical transwarp speed profiles. M ./Vanilla/ntserv/daemonII.c -23 +63 M ./Vanilla/ntserv/redraw.c -9 ] [Transwarp speed changes, moved to daemon, on fuse, review quozl@us.netrek.org**20070223001624 * daemonII.c: peer review, restore use of pointer to struct player, add premature exits from functions and loop to simplify code. ] [Add CPPFLAGS to res-rsa makedepend to find includes and kill warnings Karthik Arumugham **20070222202215 * res-rsa/Makefile.in: add $(CPPFLAGS) to the makedepend line ] [Add useful functions to util.c Karthik Arumugham **20070222205814 * util.c: Add change_team(), slot_char(), and slot_num() functions * balance.c, util.h: Misc changes for util.c update ] [Add useful functions to util.c, merge quozl@us.netrek.org**20070223033458] [INL bot TRADE command to move one or two players between teams Karthik Arumugham **20070222221040 * inlcomm.c: do_trade() function to trade players * inl.c, inlcmds.c, inldefs.h: Changes to support do_trade() ] [Remove player index after an INL game Karthik Arumugham **20070222222840 inl.c: unlink() the players.index file when we move the players file after a game ends ] [PROJECTS updates Karthik Arumugham **20070222231451] [Let captains spam in INL mode Karthik Arumugham **20070222233630 struct.h, main.c, socket.c, inlcomm.c: Let INL captains spam so that they can send instructional macros and such more easily ] [Let captains spam in INL mode, merge quozl@us.netrek.org**20070223040132 * main.c, enter.c: main() is not the only place things should be initialised in struct player, enter() is used by robotII instances and bypasses ntserv main(). ] [50 fps, add fps variable to sysdef quozl@us.netrek.org**20070223041941] [trivial pbuilder edit quozl@us.netrek.org**20070223053027] [data rates analysis quozl@us.netrek.org**20070223080105] [50 fps, correct response to CP_UPDATES, fix robots quozl@us.netrek.org**20070223105548 Major design cascade of frames per second support, allows client to specify the update rate they want, and they will be told what update rate they got, separate to the server frame rate. * sample_sysdef.in, sysdefaults.h, data.c, data.h, sysdefaults.c: change update rate values from MAXSKIP to MAXUPS and so forth, since the term "skip" is an internal implementation detail that should not be exposed in the server user interface (etc/sysdef). * defs.h: correct efticks() macro for flexible frame rate, which fixes cloaked ship udpates, ping packet sending, and several other features. * struct.h: change p_timerdelay to p_skip, and add p_ups, which although redundant makes things easier to understand, * daemonII.c: rework signal_servers(). * util.c: implement function p_ups_set() for setting the update rate, and call it from enter() and each robot. * enter.c, main.c: call new p_ups_set() function. * genspkt.c, socket.c: add new server feature packet indicating to client what integer update rate has been set in response to a CP_UPDATES packet. The actual update rate will be the requested rate only if it is an even division of the server frames per second rate. * mars.c, basep.c, inl.c, marcs.c, newbie.c, pret.c, puck.c, robotII.c, cambot.c: call new p_ups_set() function, setting robot update rate to the old ten updates per second rate, or if the robot clearly needs per frame rate use that. ] [50 fps, rename reality, note time bugs quozl@us.netrek.org**20070223221617 More variable renamings ... - p_skip becomes p_fpu (frames per update), - reality becomes distortion. Noted bug with global status->time update rate. ] [Normalize ship heading for all races, point to enemy williamb@its.caltech.edu**20070224100231 * enter.c: New function align_ship(), which points a newly entering ship towards the t-mode opponent space. This removes the advantage that is given to both FED in FED/ROM games and to ORI in KLI/ORI games, in that the team on the bottom half of the galaxy does not need to realign their ship after dying in order to warp to the front. It is possible that this is a subconscious reason for why FED/ROM games seem to be preferred. M ./Vanilla/ntserv/enter.c -2 +35 ] [Normalize ship heading for all races, point to enemy, review 1 quozl@us.netrek.org**20070225014400 * enter.c: change the proposed face enemy logic to face the direction of one of the enemy home planets, so that it works correctly for planet scenarios. ] [Sysdef option for base orbit williamb@its.caltech.edu**20070225005112 * New sysdef option SBORBIT to allow bases to orbit (and thus also drop on and bomb) enemy planets. Default to off. Replaces unused BASE_WARS define. 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/orbit.c -7 +5 ] [Sysdef option for base orbit, review quozl@us.netrek.org**20070225020143 * sample_sysdef.in: better describe the Bronco policy or style. * orbit.c, warnings.h: fix grammar. ] [Set max transwarp speed williamb@its.caltech.edu**20070225010645 * transwarp.c: Use MAX_TRANSWARP_SPEED as sanity check against high speed transwarp (i.e. ATT ships). M ./Vanilla/ntserv/transwarp.c -2 +5 ] [* Normalize ship heading for all races, point to enemy, review 2 quozl@us.netrek.org**20070225041617 * enter.c: out of t-mode, where an opposing team is not defined, set initial ship course for galactic centre, not just north. This is so that it will be obvious in clue pre-game that this modification is present. In addition, loss of t-mode during pickup will become more obvious. ] [explain defups better quozl@us.netrek.org**20070226234809] [set tools, better document, usage before openmem, quorum vs quozl@us.netrek.org**20070227004057 * setgame.c: improve usage documentation, and display the t-mode teams also as abbreviations (ROM vs FED). * setgame.c, setplanet.c, setship.c, setteam.c: show usage documentation even if daemon is not running. ] [projects, SP_SCAN support discussion in IRC quozl@us.netrek.org**20070227015223] [Remove ups set upon reentry williamb@its.caltech.edu**20070226081321 * enter.c: Player ups was being reset upon reentry, i.e. player death, ignoring the client requested update rate and thus causing a mismatch in what the server is sending and what the client believes it is receiving. An alternative would be to resend the FPS feature packet every client death, but it seems better only to send that upon initial client connect, or a request to change update rate. M ./Vanilla/ntserv/enter.c -4 ] [Make conquer work with FPS williamb@its.caltech.edu**20070226092642 * conquer.c: Redo timing to go by tenths of seconds rather than updates. Scale timers accordingly. Scale movement rate of ships into ring accordingly. Set x,y coordinates manually as they are not set by daemon during GU_CONQUER. M ./Vanilla/ntserv/conquer.c -10 +18 ] [Exit daemon on newbie exit williamb@its.caltech.edu**20070226095812 * newbie.c: When the newbie server goes through its cleanup routine, player queues are closed. Thus, for 1 minute after the newbie program exits, the daemon would stay up but no players could join. Normally, daemon exits after no players for 60 seconds, but newbie already checks if no players for 60 seconds before calling cleanup. This patch removes the unnecessary 60 second delay between newbie exit and daemon exit, changing total time from last player leaving to game restart from 120 seconds to 60 seconds. M ./Vanilla/robots/newbie.c +1 ] [Fix login coordinates wrong bug williamb@its.caltech.edu**20070226103759 * util.c: p_x_y_set was turning the initial player coords of (-100000,-100000) and setting them to (0,0), making it seem that a player spawned in the corner of the galaxy. * main.c: Set coordinates manually, as they are not set by daemon during the enter() procedcure. Perhaps p_x_y_set function should be rewritten in light of this patch and the patch to conquer.c which fixed a similiar issue. M ./Vanilla/ntserv/main.c +6 M ./Vanilla/ntserv/util.c -4 ] [Make conquer work with FPS, review quozl@us.netrek.org**20070227065726 * daemonII.c: during pause, fuse() macro does not work, so we must use a cycle timer for the job, was causing conquer parade to animate five times faster. * conquer.c: restore designed ten updates per second operation. * conquer.c: use a named constant for number of steps to arrival in ring, since use of a literal was misinterpreted. * conquer.c: click into final ring position if total offset less than 100 units in both directions. * main.c: change use of p_x_y_set to p_x_y_go where appropriate, reducing number of lines of code, undoing some of the previous change. ] [remove xsg and pledit from build quozl@us.netrek.org**20070227070558] [first python script to parse player stats William U. Clark, Jr. **20070301041848] [2.12.1 release, security update, format string vulnerability EVENTLOG=1 quozl@us.netrek.org**20070302074252 * ntserv/warning.c, robots/rmove.c: fix security vulnerability in message handling reported by Luigi Auriemma. This vulnerability is present if the server is configured with EVENTLOG=1 in etc/sysdef, (the default is EVENTLOG=0) and is confirmed present in release 2.12.0. User input was passed to vsprintf as a format string. ] [2.12.1 release, security update, format string vulnerability EVENTLOG=1, resolve conflicts quozl@us.netrek.org**20070302081550 * debian/changelog: resolves conflicts caused by merging the 2.12.1 release branch into the development repository. Also wrapped text to 80 column limit. ] [orbit positions test scripting quozl@us.netrek.org**20070302235738] [orbit entry test scripting quozl@us.netrek.org**20070303011215] [50 fps, orbit position rate increase quozl@us.netrek.org**20070303011235 * daemonII.c: update ship position while in orbit every frame instead of every five frames. Since the Sin and Cos tables are modulus 256 we can't just use a more accurate p_dir, instead the ship is driven at warp 2 for five updates between each change of p_dir by the orbit. * orbit.c: initial entry to orbit was occasionally jerky, caused by the entry being set using wrong coordinate variables by ntserv player instance. ] [50 fps, send UPS from defups on connect quozl@us.netrek.org**20070303020911 * socket.c: after sending the SP_FEATURE packet FPS, also send the UPS packet to indicate the default updates per second that the client will be given unless they request otherwise with a CP_UPDATES. ] [orbit entry test enhancements quozl@us.netrek.org**20070303032321] [daemon restart, fix repeated restart quozl@us.netrek.org**20070303032531 * daemonII.c: restart request was filling logs, execl(2) was failing to find path to binary, fixed by using path used by openmem.c. * setgame.c: add "setgame restart" command that will send a SIGHUP to the currently running daemon process. * openmem.c: fix process name, so that ps(1) shows "netrek-daemon". ] [suppress error during make install of robotd quozl@us.netrek.org**20070304224033 * robotd/Makefile.in: first "make install" would work, then subsequent attempts would fail with an error. ] [Remove error checking on face_enemy williamb@its.caltech.edu**20070303101956] [Fix lock on base noslowdown bug williamb@its.caltech.edu**20070305234126 * redraw.c: Readds check for non-twarp lock onto base, for ship slowdown. Also reindented function for clarity. M ./Vanilla/ntserv/redraw.c -15 +28 ] [Fix lock on base noslowdown bug, review quozl@us.netrek.org**20070305235256] [remove SB_TRANSWARP define in favour of sysdef quozl@us.netrek.org**20070306000254 * include/config.h.in, et al: remove the SB_TRANSWARP define since it hinders comprehension of the code, the feature can be enabled or disabled by the etc/sysdef TRANSWARP variable, and it is generally accepted by the community. ] [add wc2z's repo quozl@us.netrek.org**20070306001640] [Change setship.c input from command args to an input string. William U. Clark, Jr. **20070305230941] [Change setship.c input from command args to an input string, review quozl@us.netrek.org**20070306003447 * setship.c: adopted STYLE, re-indented, used util.c function to decide ship number. ] [better document CHECKSCUM and DUPLICATES quozl@us.netrek.org**20070306103638] [add names to repository list quozl@us.netrek.org**20070306104835] [redraw bug exploration quozl@us.netrek.org**20070313233754] [add actual symptom quozl@us.netrek.org**20070314000123] [Hockey fixes williamb@its.caltech.edu**20070312154328 * puckmove.c: Add missing p_x_y_to_internal() for offsides, and fix a wrong check for player position reset on initializing faceoff. M ./Vanilla/robots/puckmove.c -1 +2 ] [Sturgeon enter - fix team williamb@its.caltech.edu**20070312162525 * sturgeon.c: Fix enter routine to not set team (let enter.c set it) and to instead set a temporary team variable following the logic in enter.c, so that starbase messages print out properly. Previously, was causing an error message for team indepenedent robot bases like hockey puck or announcer. M ./Vanilla/ntserv/sturgeon.c -3 +7 ] [Fix admin tools to work off defined server paths Karthik Arumugham **20070307010329 * getpath.c: Export BINDIR, LIBDIR, SYSCONFDIR, and LOCALSTATEDIR for scripts to use * ban, free, kill, quit, reset: Use paths specified by the sever rather than relative paths to call the various tools involved * Makefile.in, configure.in, ntscmds.c, tools/admin/Makefile.in: Support code to install admin tools and to call admin tools with proper paths ] [INL TRADE bugfix Karthik Arumugham **20070309100014 queue.c, slotmaint.c: Allow the entire range of player slots for FED and ROM. Also, have ROM players join the traditional slots 8 - f before trying slots 0 - 7 in case a trade happened earlier. struct.h: Support code for INL slot order with full slot masks. ] [INL TRADE bugfix, review quozl@us.netrek.org**20070315022027 * struct.h: changed alt_lowslot to prefer * slotmaint.c: reduced size of pickslot function by adding two new functions, and changed the preferred slot logic to ease understanding. ] [Add define to let observers keep the daemon up Karthik Arumugham **20070307213110 * daemonII.c: Don't automatically exit if there are only observers in the game unless OBS_EMPTY_SERVER is set * config.h.in: OBS_EMPTY_SERVER #define ] [Add define to let observers keep the daemon up, review quozl@us.netrek.org**20070315023930 * daemonII.c: convert #ifdef to sysdef. ] [DNSBL Vuln/ProxyCheck 0.1 Karthik Arumugham **20070309113557 ip.c: DNSBL checking routines config.h.in: Defines to set level of DNSBL reporting enter.c, etc: Support code for DNSBL checks ] [DNSBL Vuln/ProxyCheck 0.1, review quozl@us.netrek.org**20070315041301] [INL metaserver playercount bugfix Karthik Arumugham **20070314225212 queue.c, solicit.c, struct.h: Maintain the regular INL low slot and high slot when doing player counts for the metaserver. Previous trade fix caused this code to count all players for both teams. ] [INL metaserver playercount bugfix, review quozl@us.netrek.org**20070315232052 * slotmaint.c: provide functions for determining the number of free player slots in a queue, and the number of non-robot players, for use by solicit, so that results of pickslot are consistent with updates to metaserver. ] [generic lock implementation, pickslot race fix quozl@us.netrek.org**20070316013654 * openmem.c: add a generic locking implementation using semaphores. * setgame.c: define test commands for command-line testing of the lock implementation, and viewing of current lock state, * slotmaint.c: prevent PFREE to POUTFIT race condition by using locks around the critical code. ] [locking, fix race condition, two players added at once quozl@us.netrek.org**20070316021553 * db.c: fix a race condition that has been documented in the code for several years, that the creation of new player entries in the players file is not interlocked, such that the entries could either have the same position, or the extension of the file may not be atomic, resulting in a file end pointer that is not a multiple of the record size. The fix is to use a semaphore so that only one ntserv may extend the player file at a time. We still may find a non-atomic file length change, but that would be due to system failure rather than our code. ] [Limit INL TRADE to pregame only Karthik Arumugham **20070316004422 inlcmds.c: Pre-game only, as trades during a pause cause a crash in many clients. ] [locking, fix race condition, queue entry allocation quozl@us.netrek.org**20070316085846 * queue.c: fix a race condition that has been documented in the code for several years, where two ntservs may try to join the wait queue at the same time. * slotmain.c: add a missing include of prototypes. ] [50fps, remove plans from projects quozl@us.netrek.org**20070316095011] [URGENT: Fix generic32 packets to use UDP williamb@its.caltech.edu**20070326021800 * socket.c: Adds generic32 packets to list of non-critical packets. This fix is flagged URGENT as it was causing clients with this feature on to process near twice the normal number of packets (if client is using UDP which most clients do). M ./Vanilla/ntserv/socket.c +1 ] [Feature packet, FULL_WEAPON_RESOLUTION, more weapons data for self + observers williamb@its.caltech.edu**20070318013224 * New feature F_full_weapon_resolution that allows observers to see all weapons (i.e. full weapons data is sent, clients can then display this information on the galaxy map). This feature uses the long packet format for torps (updateTorps) rather than the short packet one (SupdateTorps) as we need torp positions to more than 9 bits. As an added bonus, this also allows players to get self torp information beyond the normal 500x500 tactical range. This information was previously only sent with long packets on. Plasma information for self remains unchanged, that was always sent beyond tactical range as their is no short packets version of updatePlasmas. M ./Vanilla/docs/sample_features +3 M ./Vanilla/include/data.h +1 M ./Vanilla/ntserv/data.c +2 M ./Vanilla/ntserv/feature.c +1 M ./Vanilla/ntserv/genspkt.c -6 +20 M ./Vanilla/ntserv/socket.c -1 +4 ] [Full weapon resolution, logic fix williamb@its.caltech.edu**20070318075324] [Admin kill tool, typo path fix williamb@its.caltech.edu**20070318180353] [Bug fix, frames to seconds conversion williamb@its.caltech.edu**20070323014145 * daemonII.c: Fixes problem with robots entering too soon after T-mode ends. M ./Vanilla/ntserv/daemonII.c -2 +2 ] [F_full_direction_resolution, always send flags williamb@its.caltech.edu**20070329213727 * genspkt.c: There was a problem with the full direciton resolution feature, in that by not using SP 2, it relies on the flags packet to transmit shield/cloak/alive status (SP 2 send this critical information in every packet). Thus, the player using full direction resolution was vulnerable to missing a flags packet and not getting these critical flags. One possible solution would to create a new packet type, or add this new flag sampling to long packets. But rather than change protocol, always sending the flags packet with full direction resolution on seems the best solution. M ./Vanilla/ntserv/genspkt.c -7 +6 ] [New sysdef option, restrict_3rd_drop williamb@its.caltech.edu**20070329233857 * New option to disallow dropping on planets whose team has 0 players (i.e. 3rd space). Default is off. Replaces the pret server restriction on 3rd space dropping and makes it available to any server type. 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/interface.c -5 +3 ] [review, merge with bill quozl@us.netrek.org**20070330013335] [Fix typo of minimum in sample_sysdef.in Karthik Arumugham **20070318145715] [Retain old initial ship heading behavior in INL mode Karthik Arumugham **20070318154243 enter.c: Set heading 0 instead of calling face_enemy() in INL mode ] [Only chmod +x scripts in tools/admin Karthik Arumugham **20070318160122 autogen.sh: Parse EXECS from Makefile.in so that we don't chmod things like Makefile and Makefile.in. ] [Allow muting of any slot, not just observers Karthik Arumugham **20070318161442 socket.c: Check mute for all slots so that things like DNSBL_PROXY_MUTE and future player-muting commands work properly. ] [Updates and fixes for pwstats Karthik Arumugham **20070322050534 end_tourney.pl: Remove basketball-type scoring, add planet count, neaten up script output, add links to other stats files, and more. sample_key.html: A key to the abbreviations used in pwstats.html. ] [review, merge with karthik quozl@us.netrek.org**20070330020512 * socket.c: observer_muting if enabled would mute all players. ] [Restrict 3rd bomb, allow bomb of t mode planets williamb@its.caltech.edu**20070330003408 * interface.c: Modified restrict 3rd drop to work similiar to how 3rd space bombing rules work, in that it's ok to drop on planets in your space or t-mode opponent space. M ./Vanilla/ntserv/interface.c -1 +3 ] [Feature packet, SHOW_ARMY_COUNT williamb@its.caltech.edu**20070402224228 * New feature packet which allows clients to display the army count of a planet next to the planet, at all times. Some clients already show army counts, but only when you are orbitting that planet. M ./Vanilla/docs/sample_features +2 M ./Vanilla/include/data.h +1 M ./Vanilla/ntserv/data.c +1 M ./Vanilla/ntserv/feature.c +1 ] [Feature packet, SHOW_OTHER_SPEED williamb@its.caltech.edu**20070403002418 * New feature packet which allows clients to display the speed of other ships next to the ship on the tactical map. Considered taboo for bronco, so it defaults to off. M ./Vanilla/docs/sample_features +2 M ./Vanilla/include/data.h +1 M ./Vanilla/ntserv/data.c +1 M ./Vanilla/ntserv/feature.c +1 ] [Feature packet, SHOW_CLOAKERS williamb@its.caltech.edu**20070403020735 * New feature packet which allows clients to display cloaked ships on the tactical map. Position is still scrambled by server, so the position is not exact. Off by default. M ./Vanilla/docs/sample_features +2 M ./Vanilla/include/data.h +1 M ./Vanilla/ntserv/data.c +1 M ./Vanilla/ntserv/feature.c +1 ] [prerelease 2.13.0 quozl@us.netrek.org**20070403090929] [TAG 2.13.0 quozl@us.netrek.org**20070403104419] [prerelease 2.13.0 quozl@us.netrek.org**20070403105239] [TAG 2.13.0 quozl@us.netrek.org**20070403105252] [prerelease 2.13.0 quozl@us.netrek.org**20070403110337] [TAG 2.13.0 quozl@us.netrek.org**20070403121824] [Feature packet, CHECK_PLANET, protocol change williamb@its.caltech.edu**20070404061650 * New feature packet CHECK_PLANET which allows server to accept packets of type planet_cpacket. These packets are sent by clients in order to check if the client has up-to-date planet information on a planet. If there's a mismatch between client and server data, server resends the planet packet. Allows for client to request frequent planet updates in critical situations where army count is expected to change and loss of a planet packet would be bad. Also allows client to periodically check all planets to make sure army counts are correct (i.e. no phantom armies on planets). M ./Vanilla/docs/sample_features +2 M ./Vanilla/include/data.h +1 M ./Vanilla/include/packets.h +10 M ./Vanilla/ntserv/data.c +2 M ./Vanilla/ntserv/feature.c +1 M ./Vanilla/ntserv/socket.c -1 +29 ] [Ignore CP_PLANET for self-destruct purposes williamb@its.caltech.edu**20070404064024] [Feature packet, CHECK_PLANET, protocol change, review quozl@us.netrek.org**20070404071213 Adjusted code to use variable names that match the corresponding code in genspkt.c. Added hit and miss counters so that the effect of the change can be monitored by setgame later. Desire addition of flags to CP_PLANET in case flags some day do become useful. It would make the design consistent. ] [CHECK_PLANET, add flags williamb@its.caltech.edu**20070404074756 * Struct planet_cpacket now includes planet flags. M ./Vanilla/include/packets.h +1 M ./Vanilla/ntserv/socket.c -1 +2 ] [Bug fixes, CHECK_PLANET williamb@its.caltech.edu**20070404090030 * Set aside memory for the planet packet, and masks the planet flags for comparison between planet values and received values. M ./Vanilla/ntserv/socket.c -1 +4 ] [explain features, misc fixes quozl@us.netrek.org**20070405045437 * sample_features: better describe added features in terms of information changed. * socket.c: fix a compiler warning. * README.releasing: add method to release to sourceforge. ] [change default host for running robots quozl@us.netrek.org**20070408121055 ROBOTHOST=127.0.0.1 ... without this, robots do not start. ] [pret, when removing a robot, prefer a non-carrier quozl@us.netrek.org**20070409024639 * pret.c: during a pre-t game, players were annoyed that a robot was removed due to entering human, because the robot had been told to take a planet. Robots with armies are more valuable to the team. So if there is an opportunity to remove a robot that does not carry, this change does so. ] [nit, remove setjmp.h includes quozl@us.netrek.org**20070409053703 * basep.c, newbie.c, pret.c: following a discussion on IRC regarding the use of setjmp(3) in COW, the server code was audited for use of setjmp(3) and found to be in a good state. robotd still uses it, and we will take patches to fix that. Nothing else does, but there are several remnant include lines. Removed them and tested compile. ] [Sysdef option, STURGEON_SPECWEAP williamb@its.caltech.edu**20070405065259 * sample_sysdef.in, data.h, data.c, sysdefaults.h: New sysdef option named STURGEON_SPECWEAP that toggles whether to allow nukes/drones/mines and sturgeon type plasmas. Default is on. * socket.c: Adds special weapon setting to the informational self-message generated by sending yourself 'C'. * plasma.c: Only use the sturgeon_nplasmatorp function if specweap is on, otherwise use normal plasma function. * sturgeon.c: Give warning message if special weapons toggle key is hit (for reference this is overloaded onto the coup key). Give same warning message if player tries to buy special weapons via upgrade menu. M ./Vanilla/docs/sample_sysdef.in +3 M ./Vanilla/include/data.h +1 M ./Vanilla/include/sysdefaults.h +2 M ./Vanilla/ntserv/data.c +1 M ./Vanilla/ntserv/plasma.c -1 +1 M ./Vanilla/ntserv/socket.c +2 M ./Vanilla/ntserv/sturgeon.c -3 +16 ] [Send phaser end coord on PHMISS, sturgeon only williamb@its.caltech.edu**20070410053250 * Since ship phaser damage can vary between ship to ship on a sturgeon server due to phaser upgrades, phaser misses can be of variable length. Clients have assumed phaser length is constant and based on ship default value. With this patch, phaser x,y end coordinates are sent in the case of a PHMISS if sturgeon mode is on. Clients can then choose to use this data if they wish (on all older clients, this data will just be ignored). This requires SP_PHASER instead of SP_S_PHASER due to restriction on packet size in PHMISS case. M ./Vanilla/ntserv/genspkt.c +5 M ./Vanilla/ntserv/phaser.c +10 ] [sturgeon PHMISS and special weapons, review quozl@us.netrek.org**20070410062844] [safe idle, extend quozl@us.netrek.org**20070410094724 * daemonII.c, util.c: move safe idle check to common code, and rely on real t-mode not timed t-mode. * socket.c: in safe idle mode, prevent detting (can protect a fellow player who could still fight), allow quicker quit (perhaps it should be slower?), and prevent the call-in of practice robots (they spin). ] [remove xsg and pledit from build, bug fix, put back in dist quozl@us.netrek.org**20070410231740 that is weird Why does the 2.13.0 netrek-server-vanilla tarball not have an xsg folder ? 2.12.0 does and darcs does one of the changes was to remove xsg from the build. i didn't intend to remove it from the dist target. thanks for the bug report. Tue Feb 27 18:05:58 EST 2007 quozl@us.netrek.org * remove xsg and pledit from build your welcome I was wondering why configure found no input file is that related? it is cause and effect, xsg folder doesn't exist so configure reports config.status: error: cannot find input file: xsg/Makefile.in why should it look for xsg/Makefile.in? ah, because it is in AC_OUTPUT of configure.in, fixing. there's more to your bug report than meets the eye. ] [remove showgalaxy from build, reduce dependencies quozl@us.netrek.org**20070410235603 * tools/Makefile.in: remove showgalaxy from build since it creates a dependency on curses, and is rarely used. Administrators may observe using a client these days. ] [trivial debian rules fixes quozl@us.netrek.org**20070411000621] [remove CHAIN_REACTION quozl@us.netrek.org**20070411004304 * CHAIN_REACTION: made permanent by removing the older code, following request for discussion on 17th February 2007. Nobody uses the older code, and it is making maintenance more difficult. ] [TAG 2007-04-11 build test quozl@us.netrek.org**20070411011323] [remove OBSERVERS, feature is now accepted fully quozl@us.netrek.org**20070411070228 Removal of the #ifdef for OBSERVERS, now that the feature is fully accepted by the community, reduces the complexity of the code. ] [review metaservers documentation, cd83 irc quozl@us.netrek.org**20070417045546 * docs/metaservers-HowTo: assist with the location of SYSCONFDIR. ] [pret, bug fix, kathy was not tiring quozl@us.netrek.org**20070417081907 * pret.c: the definition of is_robot() changed and Kathy was trying to terminate itself, leading to a loop. This change excludes the robot from all loops over players for which it makes sense. Also removed the restoration of ship parameters using getship, since Kathy is not meant to change ship parameters, and I'd rather find out if it does. ] [pret, bug fix, died to torps (ERROR: Kathy died??) quozl@us.netrek.org**20070417112103 * pret.c: due to the synchronisation of p_x and p_y coordinates, which was due to the 50 frames per second rework, Kathy being PALIVE was restricted to the galaxy bounding box, and with an initial coordinate of (-100000, -100000) meant that it appeared in a corner, cloaked, and was killable. When a player killed it, then the mode would end. Changed pret to run with status POBSERV instead, since it does not need to be represented as a ship on the galactic. ] [pret, move lib/og/og to etc/og/og quozl@us.netrek.org**20070417122803] [pret, defer robot start until player has ship quozl@us.netrek.org**20070417122842] [daemon, manager robot variable name changes quozl@us.netrek.org**20070417122936 Changed the variable names associated with game manager robots. ] [daemon, make ERROR output more consistent quozl@us.netrek.org**20070417123204 Each ERROR call for generating output in var/ERRORS has been changed to make it clear that it is a daemon message. Note that daemon stderr is buffered, and so var/ERRORS output arrives in chunks. This helps to avoid disk I/O during simulation. Some day this may be changed, e.g. pipe to netrekd then to log. ] [ip, duplicates permission quozl@us.netrek.org**20070420055139 * struct.h: add a new flag to indicate the slot may be ignored for the purposes of determining if duplicates are allowed * findslot.c, daemonII.c: check the new flag when checking for duplicates. * ip.c: provide filesystem storage for duplicates flag on a per IP address basis. * ntscmds.c: add admin duplicates command to toggle flag for a slot. ] [pret, case change to enforce message consistancy John R. Dennison **20070420072232 Changed message case of Pre-T message to enforce consistancy in displayed messages. ] [addfile, Addition of INSTALL.GNU document John R. Dennison **20070420074924 Adding a copy of the standard GNU autotools INSTALL document to the distribution. As there is already an INSTALL document this file has been named "INSTALL.GNU". ] [getpath, added --help John R. Dennison **20070422064811 Added a "--help" command line argument to display available options to this program. ] [Update to REPOSITORIES John R. Dennison **20070420075246] [xtkill, added repair option John R. Dennison **20070422172307 Added 'r' option to allow for repairing of choosen ship. This restores full fuel, shields and hull. ] [docs, updated INSTALL John R. Dennison **20070423063018 Updated the INSTALL document to add information on how to have configure find the GDBM libraries and headers if located in a non-standard location; updated the configuration files section removing '.' references and add missing configuration files and descriptions. ] [SHOW_ARMY_COUNT OFF Karthik Arumugham **20070422222736 sample_features: This is a new, potentially info borg-like feature, and thus should default to off. ] [Shorter robot exit wait Karthik Arumugham **20070422222920 pretdefs.h: Shorter wait for robot exit to lower confusion of new players who are sitting at the MOTD until 5 seconds are up. ] [Feature packets, TURN_KEYS and SHOW_VISIBILITY_RANGE williamb@its.caltech.edu**20070423065606 * Adds the TURN_KEYS feature packet which allows clients to use the keyboard for turning. On by default. * Addes the SHOW_VISIBILITY_RANGE feature packet which allows clients to draw a circle on the galactic map indicating the range at which enemies can see your ship. This information is derived client-side by using the same formulas for visibility outlined in udplayersight() in daemonII.c. M ./Vanilla/docs/sample_features +6 M ./Vanilla/include/data.h +2 M ./Vanilla/ntserv/data.c +3 M ./Vanilla/ntserv/feature.c +2 ] [Give obliterated ships more time to rejoin Karthik Arumugham **20070423212138 * daemonII.c: Ships sent to motd by obliteration (e.g., T mode changes including pre-T obliterates) will get the default 3 minute timeout instead of 30 seconds to rejoin. ] [docs, updated INSTALL, review quozl@us.netrek.org**20070423235301] [Allow client to track UDP packet size williamb@its.caltech.edu**20070424085136 * New message query bounceUDPStats() which is activated when a player sends himself "udpstats". It will send player a message from God giving size of last UDP packet in bytes. Useful for debugging unexpected and unwanted changes in packet size as games progress, as it is a known issue that player stats stop updating after long periods of time, and it is likely related to a check vs. packet size in socket.c Preliminary testing has shown that packet size is a minimum size of 4, whereas for any client which receives generic32 packets, the minimum size is 36. This test was done with 1 stationary player in game, using short packets, with both XP Mod client and XP 2006 v1.2. With self ship moving, UDP packet size increases by 12, as expected, as this is the size of SP_S_YOU. Each additional player adds another 4 bytes, which is the size of SP_S_PLAYER. In light of this data, the "experimental" code in socket.c regarding packet size limits should be increased by 32 to take into account the new generic32 packets. Further testing on UDP packet size after playing for long periods of time can also be done with this new feature. M ./Vanilla/include/data.h +1 M ./Vanilla/include/proto.h +1 M ./Vanilla/ntserv/data.c +3 M ./Vanilla/ntserv/genspkt.c -1 +3 M ./Vanilla/ntserv/ntscmds.c +9 M ./Vanilla/ntserv/socket.c -2 +3 M ./Vanilla/tools/cambot.c +1 ] [Account for generic32 packets in UDP packet size restrictions williamb@its.caltech.edu**20070424090712] [UDPStats fixes williamb@its.caltech.edu**20070424115043 * Mentions that the size of packet is in bytes, and calculates it after any additional packets had been added. Also adds support for those not using short packets. M ./Vanilla/ntserv/ntscmds.c -1 +1 M ./Vanilla/ntserv/socket.c -3 +3 ] [Fix wrong comment on sp version williamb@its.caltech.edu**20070424121019 * Comments identifying S_P2 vs. original short packets format were inexplicably mislabeled. M ./Vanilla/include/packets.h -2 +2 ] [Compiler warning fix, lastudpsize williamb@its.caltech.edu**20070424152324] [Allow client to track UDP packet size, review quozl@us.netrek.org**20070425010143 - global variable lastudpsize changed to last_udp_size, - some indentation and spacing changes, - uppercase names are expected to be macros, not variables. As a general design comment, this shows a lack of care and analysis that went with the addition of the generic 32 byte packet, on the part of the whole team. We may find other problems as a result. Quozl. ] [* pret, informational messages updated John R. Dennison **20070424220007 Forced consistent case on messages (over-looked some from last patch); forced pre-t restarting message to stand out. ] [* pret, proper galaxy reset functionality John R. Dennison **20070424220325 Added proper galaxy reset functionality that matches INL standards; previous reset did not properly handle resetting army counts. Code copied from daemonII.c doResources. ] [* pret, real-t startup changes John R. Dennison **20070424220556 Changes how startup of real-t occurs; no slots are killed, rather carried armies and kills are cleared; war status is not changed; observer slots are ignored. ] [New feature packet, SP_NEWFLAGS williamb@its.caltech.edu**20070424151807 * This feature packet SP_NEWFLAGS allows for a new server packet called newflags_spacket. The purpose of this new packet is to pass critical flag and status information on all players (including self) every update for those not using short packets 2. Short packets 2 has built in redundancy for receiving cloak, shields, and alive status at all times, whereas the long packet format does not and is vulnerable to a lost flags or status packet. The newflags_spacket mimics the flags header packet, and can indeed be processed by COW-derived clients using the exact same function (new_flags()). M ./Vanilla/docs/sample_features +3 M ./Vanilla/include/data.h +1 M ./Vanilla/include/packets.h +6 M ./Vanilla/ntserv/data.c +2 M ./Vanilla/ntserv/feature.c +1 M ./Vanilla/ntserv/genspkt.c -1 +1 M ./Vanilla/ntserv/socket.c +1 ] [UpdateFlags, adds functionality to SP_NEWFLAGS williamb@its.caltech.edu**20070424152346 * New function updateFlags() which will send the newflags_spacket to clients if the SP_NEWFLAGS feature is enabled, and if the client is not receiving SP_S_PLAYER packets but instead SP_PLAYER packets, which lack the built-in redundancy to critical flag/status updates. This function also eliminates the need for flag packets to be sent for all players on every update as was the case for those with F_full_direction_resolution feature on, which was a very bad thing as it added 256 extra bytes per update. Instead, the new packet adds 8 bytes per update. M ./Vanilla/ntserv/genspkt.c -2 +58 ] [pret, real-t startup changes, review quozl@us.netrek.org**20070425011643] [SP_NEWFLAGS -> SP_FLAGS_ALL quozl@us.netrek.org**20070425014623 Technical review of the proposed SP_NEWFLAGS packet. - perhaps these flags should be added to SP_GENERIC_32 if this is already being sent? That's one for Bill to answer. It wasn't totally clear to me exactly what the problem was that was being solved, except that it is another attempt to compensate for packet loss. - calling something new makes it rapidly old, and adds no real value to the definition ... take for instance Doctor Who and his visit to New New New New New New New New New New New New New New York in S03E03. So calling a spade a spade, I've changed the packet name to FLAGS_ALL, since that it essentially what it purports to be. - added an offset byte to the packet so that it is clear to the client which 16 players are being described, as it would not be possible otherwise to extend the use of this packet to more players than 16, since a client would have no way to differentiate between the first packet and the subsequent packet. While we don't generally observe the fragmentation of UDP packets, it is an eventual possibility. - added constants for the meaning of each bit in the FLAGS_ALL packet. - edited some comments to remove "justification for change" text and instead substitute "this is how it works" text. Justification for change should go in the change history in darcs or in extreme cases a file in docs/, leaving the comments to describe how the code currently works after the change. ] [TAG tagged 2007-04-25 build test quozl@us.netrek.org**20070425032946] [compiler warnings, fix anzac 1 quozl@us.netrek.org**20070425091353] [crypt, isolate to db.c quozl@us.netrek.org**20070425091607 So as to get rid of warnings about crypt(3), the use of it has been isolated to db.c. Note that this is an untested change with high potential for disruption, since it may render all old characters inaccessible. Needs careful testing. ] [ultrix, remove support quozl@us.netrek.org**20070425091823 There are no active Netrek servers running on Ultrix. Ultrix is long dead. There is a volunteer to keep an Ultrix port active, but they don't have their hardware yet. ] [ip duplicates, create configuration directory entry quozl@us.netrek.org**20070425092720] [Clarify SP_FLAGS_ALL in sample_features williamb@its.caltech.edu**20070425061550] [Add full weapon resolution exception to UDP packet size check williamb@its.caltech.edu**20070425063322 * The packet size checks in socket.c should also be ignored if F_full_weapon_resolution is enabled, as this quickly increases packet size beyond the threshholds (size of a single torp packet goes from 5 to 20 bytes). M ./Vanilla/ntserv/socket.c -2 +4 ] [Full weapon resolution, reduce bandwidth use williamb@its.caltech.edu**20070425125711 * This patch changes F_full_weapon_resolution so that a player only uses long packets for self torps, as these are the only torps the player can benefit from seeing beyond the 500x500 pixel short packet window. Other player's torps are not sent beyond this window regardless, so there is no need to use the long packet format for those torps. Patch does not change how observers receive torps with F_full_weapon_ resolution - they still use long packets for all torps. Expected bandwidth savings is 15 bytes per update times number of enemy torps on screen. M ./Vanilla/ntserv/genspkt.c -1 +9 M ./Vanilla/ntserv/socket.c -1 +3 ] [Add Heiko's Short packets writeup to README.SHORT williamb@its.caltech.edu**20070426043359] [INL start armies changed from 17 to 12 Karthik Arumugham **20070426023134 * inl.c: The standard has been 12 armies for quite some time. Let's make it easier on the captains. ] [Bug fix, full direction resolution, cloak/shield flags williamb@its.caltech.edu**20070427033050 * A patch added as part of sp_flags_all implementation removed the constant sending of all player flags in sndFlags() for clients using F_full_direction_resolution. However, these flags are masked out in updateShips() and thus are never being sent. This patch doesn't mask those flags if F_full_direction_resolution is set but F_flags_all is *not* set, because in that case, the client is relying on sndFlags() for these flags, as they are not sent every update. M ./Vanilla/ntserv/genspkt.c -4 +7 ] [Player stats update, prevent counter overflow williamb@its.caltech.edu**20070428081349 * Player stats are sent if repCount (internal update counter) has increased sufficiently, however it is safer to use modulo division rather than subtraction, thus the check was changed to be consistent with other uses of repCount in the code. M ./Vanilla/ntserv/genspkt.c -3 +1 ] [Remove Dynix parallel compile refs John R. Dennison **20070430054614 Remove legacy Dynix parallel compile references from ntserv/Makefile.in ] [Remove INL_RESOURCES John R. Dennison **20070430055125 As per a discussion in #netrek references to INL_RESOURCES have been removed and resource generation is now done explicitly by INL rules. ] [crypt, isolate to db.c, remove include in getname quozl@us.netrek.org**20070501013236 db.h was created during development, but eventually it folded back into proto.h where it was already. I missed undoing the change to getname.c. ] [Remove crypt.h williamb@its.caltech.edu**20070430072404 * db.c: crypt.h is not in BSD, and the include is unnecessary given existing INC_UNISTD. M ./Vanilla/ntserv/db.c -1 ] [Re-add crypt.h under linux Karthik Arumugham **20070430144126 * db.c: Modern linuxes on 64-bit systems need crypt.h defined. If anyone has a better way to detect 64-bit Linuxes (add a configure test perhaps?), please add it. Otherwise, this does not hurt under 32-bit Linux distros. Failure to define this on Debian etch on AMD64 results in the server segfaulting on a crypt() call. ] [pret, fixed queue status during real-t transition John R. Dennison **20070430201821 Fixed queue report status during transition from pre-t to real-t. queue and queue hosts were showing pre-t queues even during real-t mode. ] [Allow robots to exit if server is dead williamb@its.caltech.edu**20070430072738 * robotd/redraw.c: Changes intrupt() to break out of readFromServer() loop if server is dead, otherwise a robot could cycle endlessly waiting for a server response. Change is consistent with other uses of readFromServer (see findslot.c or getname.c in the robotd directory). M ./Vanilla/robotd/redraw.c +3 ] [virtual servers, environment variables quozl@us.netrek.org**20070501083428 * getpath.c: new feature, accept directories from environment variables. Bug fix: limit file name path length to allocated space. * openmem.c: change from NETREK_PKEY to PKEY for the shared memory key environment variable. Bug fix: use PKEY also as a semaphore set identifier. * INSTALL: new feature, document how to set up virtual servers using the same binaries. * INSTALL.INL: minor fixes. Impact negligible unless you are using the NETREK_PKEY environment variable already. Change your scripts to use PKEY. ] [Move IP_CHECK_DNS* to sysdef williamb@its.caltech.edu**20070501075203 * Moved the 2 IP_CHECK_DNS options to sysdef, defaults are the same as before. Impetus for change was reverse host lookup is broken on warped's box, so this option was causing problems. Included some minor formatting changes for consistency. M ./Vanilla/docs/sample_sysdef.in +8 M ./Vanilla/include/config.h.in -10 M ./Vanilla/include/data.h +2 M ./Vanilla/include/sysdefaults.h +5 M ./Vanilla/ntserv/data.c +3 M ./Vanilla/ntserv/enter.c -11 +6 M ./Vanilla/ntserv/ip.c -6 +2 M ./Vanilla/ntserv/ntscmds.c -4 +2 ] [Fix very minor IP_CHECK_DNS typo in sysdef patch Karthik Arumugham **20070502153217] [pret, remove references to PRET queues John R. Dennison **20070503191238 Remove all references to PRET queues. This appears to be legacy code from when this robot was copied from newbie and is not required for proper operation. This resolves the problem of pickup queues not being visible during real-t mode operation and supercedes the previous fix for this issue. ] [pret, prevent kathy from exiting John R. Dennison **20070505171358 It had been observed that kathy would quit out with no humans in the game for 60 seconds and would not respawn until the daemon died and restarted; this patch addresses that issue. player bots will still exit out as they should. toggling of PRET=1 to PRET=0 in sysdef still causes player bots and kathy to exit cleanly. ] [setgalaxy, removal of non-INL galaxy reset, cleanup John R. Dennison **20070506052816 Removed non-INL galaxy reset / resource generation; standardized usage of MAXPLANETS in all applicable locations. The deprecated 'r' reset option is still supported for backward-compatibility of any existing scripts that may call it although it will now do INL-style resource generation. ] [Xtkill, lower player's shields williamb@its.caltech.edu**20070502214259 * Added option 'd' for lowering player's shields. M ./Vanilla/tools/xtkill.c +4 ] [updateFlagsAll, pass offset, support high player slots numbers williamb@its.caltech.edu**20070502214358 * Changed updateFlagsAll so that the starting slot # for the packet is passed to the function instead of assumed to be 0. * Bug fix to the loop, j should always start at 0, it's merely a bit offset counter. * Send a 2nd SP_FLAGS_ALL packet if the highest active slot is greater than 15 (mirroring check in sendVPlayers function). M ./Vanilla/ntserv/genspkt.c -9 +15 ] [UpdateFlagsAll bug fix, match offset to what client expects williamb@its.caltech.edu**20070503131541 * Packet offset was mistakenly set to 16, when it should be 1 to indicate that it is sending slots 16-31 (this his how it is done for short packets flag handling). The for loop was modified to take this into account. Also, players was changed from being incremented directly to &players[i], as the starting slot for the flags packet is not necessarily the first entry in players struct. M ./Vanilla/ntserv/genspkt.c -5 +6 ] [pret, fixed at-war status during kathy termination John R. Dennison **20070506165130 During kathy termination via cleanup() all ships were declared to be at-war with everyone; this patch addresses that issue. ] [Fix default LOCALSTATEDIR Karthik Arumugham **20070506175102 getpath.c: LOCALSTATEDIR was being set to LIBDIR instead after the recent getpath.c changes if you did not have it set in your environment variables. ] [Don't kill robots on geno Karthik Arumugham **20070506231219 conquer.c: Killing robots on geno made Kathy go into POUTFIT and do strange things like continuously destroy all torps. ] [bugs reported during a game quozl@us.netrek.org**20070515091439] [SP_FLAGS_ALL, observer case williamb@its.caltech.edu**20070513193851 * The function updateFlagsAll will send abbreviated flags info to client for every slot. In the case of observers, it was telling client that the observer was dead. This bug was noticed indirectly as tractor/pressors were no longer being drawn for observers, and investigation into the problem linked it to observer's p_status, as set by the client function new_flags which handles SP_FLAGS_ALL packets. Thus, observer slots are now treated as PALIVE for purposes of updateFlagsAll. A possible improvement would be to only treat self observer slot as PALIVE and other observer slots as PDEAD. M ./Vanilla/ntserv/genspkt.c +1 ] [Keep cambot file extension as .pkt williamb@its.caltech.edu**20070513211324] [Change INL_log and ltd_dump to non-compressed format williamb@its.caltech.edu**20070513212837 * Compression of these small files is not necessary, and only causes end user problems due to things like Internet Explorer 7 not handling .gz files correctly. Instead, INL_log is now renamed to a .txt file so it can be opened directly by any browser. The files are still sent in .tar.gz format to the central archive, the code that handles the receipt and display of these files is, to my knowledge, not public. I would strongly recommend the person who maintains the auto-archive receipt code to list INL_log and ltd_dump_txt in a non-compressed format. M ./Vanilla/robots/end_tourney.pl -4 +4 ] [Pre-T bug fixes and queue logic change Karthik Arumugham **20070510223216 pret.c: Set GU_PRET when pre-T mode is restarted. defs.h, struct.h, queue.c, solicit.c: Get rid of all pre-T queues except for the pre-T daemon queue. They are not used. ] [Make use of PFOBSERV flag Karthik Arumugham **20070510230413 Let's make use of PFOBSERV to do something useful, like make pre-T bots not exit when an observer is joining and PDEAD. Added a generic is_observer() macro that checks PFOBSERV, and the server now properly sets the PFOBSERV bit when joining on an obs queue. ] [Additional PFOBSERV code Karthik Arumugham **20070510233656 daemonII.c, util.c: Use PFOBSERV to fix the long-standing bug of a dead observer counting towards T mode. Also don't count them in realNumShips() which is used to count players in various places. main.c: Set the PFOBSERV bit earlier to prevent an occasional race condition causing momentary T mode when an observer joins. ] [Increase UDP buffer size williamb@its.caltech.edu**20070512010048 * socket.c: With full weapon resolution on, it is not uncommon to exceed 758 bytes in UDP packet size sent to observers due to each torp taking 20 bytes. Since packet size was exceeded, the next update was skipped, causing choppiness during situations where multiple torps were in play. Upping the buffer size should help alleviate this problem. M ./Vanilla/ntserv/socket.c -1 +1 ] [Count bots in pre T for tournmask and bot entry team Karthik Arumugham **20070518164928 getentry.c, util.c, pret.c: Bots were not being counted towards team numbers in pre T. This caused bots to sometimes end up on 3rd race teams. ] [Obliterate option to reset ship Karthik Arumugham **20070518165110 pret.c: Let obliterate be called in such a way to not fully reset a ship. Added by popular demand due to losing kills on start of T mode. pretdefs.h: Minor change to increase ROBOEXITWAIT. ] [Exclamatory WARMONGER Karthik Arumugham **20070518180554 defs.h: WARMONGER was one character too long, causing the ! at the end of the relevent T-mode-starting message to get cut off. ] [Show lack of RSA if SHOW_RSA is enabled Karthik Arumugham **20070518182241 redraw.c: Print the "not using RSA" message if SHOW_RSA is on, the client does not pass RSA, but CONFIRM is set to 0. Previously this message was only printed if a client was in the bypass file. ] [Pre-T entry reset fix, obliterate plasma/torps fix Karthik Arumugham **20070518203534 pret.c: Don't reset planets on Pre T robot entry if we're already in T mode. Minor patch to always reset torps and plasmas on an obliterate() call; this should fix an occasional stuck ship bug. ] [Changes to IP hide/whitelist behavior Karthik Arumugham **20070522161239 The behavior of hide and whitelist was inconsistent. This affects hosts that are in etc/ip/hide and etc/ip/whitelist. Now hidden hosts will show as from localhost, as before, but they will also now not show RSA failures. Whitelisted hosts will no longer show as hidden. Currently, whitelist only stops the RSA failure message and bypasses observer muting. A host now needs to be in etc/ip/hide as well to be hidden. Hiding a host also exempts it from proxy information display. ] [Pre-T Idle Mode updates Karthik Arumugham **20070522173619 daemonII.c, genspkt.c, phaser.c: Let enemy weapons pass through idle ships. Also, don't display idle ships on the galactic. This will lessen confusion to newbies. It also has the nice side effect of making Pre-T bots ignore idle ships, as they perceive those ships to be off the galactic. ] [review 1, indentation quozl@us.netrek.org**20070523063937] [remove is_observer quozl@us.netrek.org**20070523064045 Remove the is_observer macro. Macros whose sole purpose is to access flags of the same name do not add value to the code, and previous such macros were removed. Functions which encapsulate unusual aspects of a check, such as is_robot(), remain acceptable, but beg the question as to why we don't change the flags themselves. ] [Observer bust army-drop fix Karthik Arumugham **20070524155558 cluecheck.c, daemonII.c: Use the PFOBSERV flag instead of POBSERV as there are still occasional cases of a dead observer saving armies. ] [Rewrite of tournamentMask() Karthik Arumugham **20070525215047 getentry.c: tournamentMask() was an example of horrid, unmaintainable server code. This is a cleaner, clearer, and commented rewrite of it. ] [Add CLASSICTOURN sysdef to emulate old tournamentMask() Karthik Arumugham **20070526002842 Emulate the old behavior of tournamentMask() by removing the restrictions on joining a diagonal race if 2 players are present on the opposing diagonal, and remove the logic not allowing teams to grow past 4 humans before T mode starts. ] [Configure user count reporting to metaservers John R. Dennison **20070527064434 Enable configurable reporting of user counts to the metaservers via a sysdef option. This is useful on bot servers such as base-practice. ] [Correct sysdef.in 3RD_DROP setting John R. Dennison **20070527073858 Distributed sysdef.in file does not have 3RD space dropping disabled by default which I believe is an oversight. This patche corrects this issue. ] [Add CLASSICTOURN sysdef entry John R. Dennison **20070527152923 Previous patch that added CLASSICTOURN functionality to emulate old-style tournamentMask() behaviour did not include the sysdef.in entry; this patch corrects that oversight. ] [Add CLASSICTOURN gum reminder line John R. Dennison **20070527153232 CLASSICTOURN reminder line to add support for it to gum missing; this patch adds it. ] [review, change global names quozl@us.netrek.org**20070528044858 Enforced global names to match sysdef names, fix indenting and wrap of new code. ] [pret, introductory text John R. Dennison **20070528221222 Add descriptive messages sent to All to explain what is going on in pre-t mode. ] [tournamentMask() fixes Karthik Arumugham **20070529144051 getentry.c: Be more intelligent on post-geno team masks. Also, keep all teams masked on pre-T entry until Kathy frees a slot. ] [pret, fix potential reset during t-mode John R. Dennison **20070530030007 Fix a potential problem of a game being "won" via kathy during a real t-mode game; this was seen on pickled and it caused a lot of confusion and anger. ] [Foreign spelling Karthik Arumugham **20070531194214 Foreign was spelled as "foriegn" in an irritating number of places. ] [Don't set alert status due to idle ships Karthik Arumugham **20070531202902] [Prevent homeworld dropping in pre-T Karthik Arumugham **20070601185608 interface.c: People have been taking homeworlds in pre-T mode, which interferes with safe idling. This prevents them from doing so. ] [SYSDEF to require offense for higher ranks Karthik Arumugham **20070603030657 Enabling the OFFENSE_RANK sysdef will result in rank offense requirements. Commodore == 1.0, Rear Admiral == 1.2, Admiral == 1.4 Removed support for defense requirements in the process. ] [Mask fix on genocided teams Karthik Arumugham **20070603031042 getentry.c: Removed logic to make coupable teams after geno selectable. ] [Save T-mode Galaxy Karthik Arumugham **20070603031745 pret.c: Modified patch from jrd to save and restore the T-mode galaxy when transitioning from T to pre-T and back to T. A timer should be added to reset the galaxy on T if pre-T has been going on for a while. (10 mins?) This keeps short interruptions in T-mode from resetting the galaxy. ] [Remove undeclared time_in_pre_T in pret.c Karthik Arumugham **20070603170906] [relax message restrictions for whitelisted entries John R. Dennison **20070601194511 Relax message restrictions on number of messages allowed in a short period of time by players that are whitelisted. Whitelisted entries are assumed to be players with a higher level of trust; this will allow such players to more easily send out help macros for new users. ] [Fix slot count for metaserver solicit Karthik Arumugham **20070605003709 slotmaint.c: Slots were being reported that weren't on a team yet. Also, INL player counts were significantly skewed. Fix both bugs with better counting logic. ] [change checksafe to is_idle quozl@us.netrek.org**20070605010059] [Fix slot count for metaserver solicit, review quozl@us.netrek.org**20070605010419 * slotmaint.c: remove older code used by code that was removed, simplify comment, removing redundant information about caller. ] [denial of service protection, excess duplicates quozl@us.netrek.org**20070605011554 * findslot.c: if the number of duplicates exceeds 20 for a particular address, it is automatically added to the denied parties list used by netrekd, with the result that further connections will be closed. Administrator will need to periodically clean out the deny/ directory, with the date of last access being significant in their decision-making. * ip.c: add support for access to the netrekd deny/ directory. ] [Add ip_deny_set to header williamb@its.caltech.edu**20070605055034] [move ip deny set to better place quozl@us.netrek.org**20070605060916] [new feature, get server version script quozl@us.netrek.org**20070605085526] [further py-struct annotation quozl@us.netrek.org**20070606065457] [further py-struct annotation quozl@us.netrek.org**20070612034057] [further py-struct annotation, move CP_PLANET quozl@us.netrek.org**20070612080909 * packets.h: move CP_PLANET to a position in the source file consistent with the packet number. ] [add protocol state description quozl@us.netrek.org**20070612082639] [Reset the T Mode galaxy after a Pre-T victory Karthik Arumugham **20070605073052] [Timercide tournamentMask() fix Karthik Arumugham **20070605082005 getentry.c: Fix the bug that let players rejoin on the team that was just timercided, which let them easily defend the neut from the winning team. ] [Add newbie queues to duplicates check williamb@its.caltech.edu**20070605074128] [Sysdef option, DENY_DUPLICATES williamb@its.caltech.edu**20070605075349 * Replaces the check in findslot (which didn't work) with one that denies the IP as soon as duplicates is exceeded, rather than waiting for 10 slots. Default to off, as it's only purpose at the moment is to deal with DOS attacks, which are rare. M ./Vanilla/docs/sample_sysdef.in +4 M ./Vanilla/include/data.h +1 M ./Vanilla/include/sysdefaults.h -1 +3 M ./Vanilla/ntserv/data.c +1 M ./Vanilla/ntserv/findslot.c -5 +8 ] [Logic fix for metaserver player count/queue display Karthik Arumugham **20070605184737 slotmaint.c: Option for slots_playing() to count teamless (entering) slots. solicit.c: Don't report a queue even if the game is full if there are 4 or more teamless slots (those entering the game). This will stop bad metaserver queue counts when the server is full but has many slots stuck on entering. ] [DENY_DUPLICATES, free processes with same ip williamb@its.caltech.edu**20070605235239] [free_duplicate_ips, don't free if pid 0 williamb@its.caltech.edu**20070606091624] [Newbie stop_a_robot, logic fix williamb@its.caltech.edu**20070606091730 * Added robot count to the debug output for stop_a_robot routine. * Fixed logic to first check total slot count (humans + robots), and if uneven, stop robot from the team with the most slots. Fixes bug where all robots could wind up on one team. M ./Vanilla/robots/newbie.c -16 +17 ] [Minor spacing fix, comment for ip free duplicates williamb@its.caltech.edu**20070606095340] [Newbie.c, start_a_robot, typo fix, add more debug output williamb@its.caltech.edu**20070606095427] [Newstartd deny, pass IP address williamb@its.caltech.edu**20070606100207] [Move robot debugging to sysdef williamb@its.caltech.edu**20070606152258 * Both newbie and pret used static unwieldy variables to generate debug output to a specified slot. This has been rewritten into global sysdef variables (robot_debug_target and robot_debug_level) to allow debugging to be turned on/off realtime. Still TODO: make newbie and pret (or any robot manager process) aware of changes to sysdef as it is updated during a game. M ./Vanilla/docs/sample_sysdef.in +7 M ./Vanilla/include/data.h +2 M ./Vanilla/include/sysdefaults.h +5 M ./Vanilla/ntserv/data.c +2 M ./Vanilla/robots/newbie.c -20 +19 M ./Vanilla/robots/pret.c -18 +17 ] [Robot manager move, update sysdefaults williamb@its.caltech.edu**20070606154034 * This patch makes all robot manager processes aware of changes to the system defaults file (sysdef). Needed primarily to allow robot debug output and level to change without having to restart the robot manager, but it could have other uses as well. M ./Vanilla/robots/basep.c +1 M ./Vanilla/robots/inl.c +2 M ./Vanilla/robots/marsmove.c +2 M ./Vanilla/robots/newbie.c +1 M ./Vanilla/robots/pret.c +1 M ./Vanilla/robots/puckmove.c +1 ] [sysdefaults.h gum entries Karthik Arumugham **20070606211722] [pret, saved galaxy expiration John R. Dennison **20070607095411 Adds saved galaxy lifetime / expiration. Galaxy will be restored if tmode starts up again within PT_GALAXY_LIFETIME seconds. PT_GALAXY_LIFETIME is defined within pretdefs.h. Planned enhancement is to have galaxy save and restore functionality and galaxy lifetime configurable via sysdef. ] [BUGS/PROJECTS updates williamb@its.caltech.edu**20070607102258] [64-bit server fixes for 32-bit player/globals Karthik Arumugham **20070613000550 ltd_stats.h, struct.h: Pack some structs so that a playerfile and globals file created on a 32-bit machine work on a 64-bit Linux machine. ] [pret, pret mode status fix John R. Dennison **20070613200626 If kathy kicks all bots out after all humans leave and another human joins and bots get restarted pret mode is not properly set; this patch forces status->gameup to reflect pret mode any time a bot enters the game. ] [Allow pre-T dropping on your own homeworld Karthik Arumugham **20070613201422 interface.c: Code did not allow you to drop your own homeworld. This lets you drop a homeworld if you own it (which will always be the case in pre-T mode.) ] [robots can ignore commands John R. Dennison **20070614204157 To prevent potential abuse the newbie and pre-t bots can have their command processors disabled. The default is to allow commands; to disable follow steps in docs/CUSTOMIZATION. ] [add CLASSICTOURN writeup John R. Dennison **20070614210515 CLASSICTOURN description missing from docs/CUSTOMIZATION; this patch adds the writeup. ] [docs, add missing server mode writeups John R. Dennison **20070614211944 Add writeups for PRET, PRET_GUEST, HOCKEY, INL. Change writeups for other non-standard server modes. ] [pret, sysdef configurable win condition John R. Dennison **20070614213905 The pre-t mode win condition is now configurable via sysdef's PRET_PLANETS parameter. This is the number of planets a team must be up by in order to win a round of pre-t entertainment. ] [further py-struct adjustments quozl@us.netrek.org**20070614220449] [Check against null variables in ban_noconnect check williamb@its.caltech.edu**20070618023752 * main.c: Debug of ntserv.core indicated ban_noconnect was calling bans_check_permanent with a blank login name and NULL host. Did not check as to where these variables are set during the login sequence, only fixed the statement to make sure they exist before going further. M ./Vanilla/ntserv/main.c -5 +7 ] [security fix, information leak quozl@us.netrek.org**20070625083705 * ntserv/genspkt.c: SP_MOTD packets had unintended data after the terminating NUL character, from other packets or other stack usage. ] [review reformatting quozl@us.netrek.org**20070626092423] [add further py-structs quozl@us.netrek.org**20070626092500] [security fix, fix padding of feature packet quozl@us.netrek.org**20070626092517] [pret, save galaxy/saved galaxy lifetime sysdef configurable John R. Dennison **20070615065424 Adds the ability of having pre-t galaxy save/restore and saved galaxy lifetime configurable via sysdef. ] [CPPFLAGS fixes Karthik Arumugham **20070618135323 Correctly read CPPFLAGS in various Makefile.ins. This enables properly configuring with a given CPPFLAGS environment variable. ] [Add PRETKEEPALIVE define Karthik Arumugham **20070618154850] [pret, display proper win condition John R. Dennison **20070618161003 Change to win condition writeup in explanatory text overlooked during push of configurable win condition; this patch addresses that. ] [Compile with base-practice, newbie, and pre-T off Karthik Arumugham **20070619152552 genspkt.c, util.c: The server would not compile if base practice, newbie server mode, and pre T mode were all #defined to be off. ] [sysdef, 80 col fix John R. Dennison **20070620050821 Text description extended past 80 columns. ] [robots, ignore commands fix John R. Dennison **20070621171321 Previous patch prevented config file to be parsed and processed if the BOTS_IGNORE_COMMANDS define was set. This patch properly handles restricting user and stdin commands from being processed if the admin desires while allowing all pre-configured commands to be processed. ] [Remove . for playercounts of home/away teams Karthik Arumugham **20070624183505 solicit.c: This changes "home." and "away." to "home" and "away" for player count purposes. This is to allow hostnames like "home-observer.clue.netrek.org" for an observer port, but still report the regular home queue count on the metaserver. ] [pret, plasma reset fix John R. Dennison **20070627082253 When the winning condition is matched kathy resets kill on all player slots. Previous plasma was removed from all players regardless of ship type. This patch will not remove plasma from a base. ] [fix compilation warning, is_idle quozl@us.netrek.org**20070703124425] [allow whitelist to override ignores John R. Dennison **20070705201307 Allow whitelisted IP's to override player :ita settings. Rational is that whitelist entries are supposed to have a higher level of trust granted by the server administrator and as such should be allowed to send messages to players that have them :ita'd. This patch allows for adminsitrator set override levels for each of the 3 message classifications with all levels defaulting to non-permissable override status. ] [docs, document required change to docs/CUSTOMIZATION John R. Dennison **20070709072414] [Help target change Karthik Arumugham **20070709200850 roboshar.c: Sending help to yourself results in better help output than from the robots. ] [Report packet loss to 1 decimal place Karthik Arumugham **20070709201850 Store packet loss as a double, and report to 1 decimal place when pinging a slot. ] [Round packet loss on transmission to client Karthik Arumugham **20070709204253 ping.c: Packet loss was being truncated rather than rounded, causing, for example, 0.9% to turn into 0%. ] [docs, add REPORT_USERS option to CUSTOMIZATION John R. Dennison **20070722063614 Add REPORT_USERS option description to the CUSTOMIZATION file. ] [server to server advertising test code quozl@us.netrek.org**20070801034000 Implementation of server to server advertising, sending messages to all players when it would be useful to concentrate players on one server over another. Test code so far, no actual functionality yet apart from the test message. ] [review, indentation, spacing, formatting quozl@us.netrek.org**20070801040656] [surrender detail, and struct teams prefix change quozl@us.netrek.org**20070807131651 Feature requested by Niclas Fredriks on 2007-07-19, change to mention surrender more frequently in last five minutes, and provide seconds as well as minutes on TIME command. ] [Warn about broken stats in end_tourney.pl Karthik Arumugham **20070803150332 end_tourney.pl: Planet stats have been broken for quite a while. Add a warning to the user in pwstats.html to that effect. ] [Surrender message wording Karthik Arumugham **20070807142620 ntscmds.c: Make the surrender warning wording more logical. ] [fix ntserv core dump on messages sent by whitelist ip quozl@us.netrek.org**20070808002248 ntserv would die if a message was sent by a slot that was whitelisted, because p_no was called with a player number that was not valid, and the resulting pointer dereference was off with the fairies. ] [sysdef, comment spacing quozl@us.netrek.org**20070820010219] [fix players v segfault quozl@us.netrek.org**20070820010313] [Properly enforce mutes Karthik Arumugham **20070812194806 ip.c: Enforce mutes by setting mute rather than :ita'ing all slots. This allows proper administrative muting by IP address. ] [use hex values for gameup flags quozl@us.netrek.org**20070907071910] [inl draft, add structures and constants quozl@us.netrek.org**20070907071942] [inl draft, add task specific sources quozl@us.netrek.org**20070907072004] [fix formatting and return syntax quozl@us.netrek.org**20070907072037] [inl draft, restrict navigation and add hooks quozl@us.netrek.org**20070907072124] [replace p_inlcaptain with p_inl_captain quozl@us.netrek.org**20070907104405] [inl draft, animation and pick logic quozl@us.netrek.org**20070907131402] [add debian virtual appliance instructions quozl@us.netrek.org**20070908115213] [inl draft, pick order, pick delegation quozl@us.netrek.org**20070909021705] [mdvote Rich Hansen **20070908141658 Modifications to inlcomm.c and inldefs.h to allow for voting on a minidraft, and to suspend start of game while a minidraft is underway. ] [mdPlayerCapnPositioning Rich Hansen **20070908162423 Modified Player and Captain positioning. Beginning to think we will need another structure to place picks according to selection number. ] [inl draft, merge with rich, add documentation quozl@us.netrek.org**20070909050231 * ntserv/util.c: new function is_invisible_due_idle() since we are overloading is_idle() safety but want ships to be visible, * tools/setgame.c: add a way to initiate a draft without captains. * tools/setship.c: add a way to monitor p_inl_* variables and to change a slot draft state. ] [xtkill, use new change_team function quozl@us.netrek.org**20070909054731] [inl draft, use change_team quozl@us.netrek.org**20070909054845] [build environment setup documentation quozl@us.netrek.org**20070909235441] [setship, add support to change player to observer and back quozl@us.netrek.org**20070910041635 Testing an idea for INL draft, if all potential players join the game as players, is it practical to have them be selected for observer or player, even though they are already in the game as a player? Seems so. This test results in the expected outcome. To proceed with the idea would need more slots in the player queue for INL servers though. ] [inl, add test script quozl@us.netrek.org**20070910065118 * tools/message.c: add a forge-to-self mode for sending commands to the INL robot on behalf of a player. * tests/inl: add a test sequence outline for running an INL robot moderated game. ] [inl draft, test script quozl@us.netrek.org**20070910065819] [daemon, indent message_flag function quozl@us.netrek.org**20070910074618] [do_message, usable now from daemon, ntserv and tools quozl@us.netrek.org**20070910082345 * ntserv/smessage.c: remove direct external reference to message_flag and change to a run-time configurable callback. * tools/message.c: demonstrate how tools can avoid having their own message injector. * ntserv/main.c, ntserv/daemonII.c: adopt the new message_flag usage. * ntserv/draft.c: add messages to draft sequence. ] [inl draft, through to completion quozl@us.netrek.org**20070910114731 * ntserv/draft.c, tests/inl-draft: this is a working implementation that has yet to have the decorations and final positioning done by Rich. A few things remain to be tested. ] [Minor fixes to allow building under Cygwin netrek@colinmacdonald.org**20070910203042] [inl draft, documentation quozl@us.netrek.org**20070911005928] [MinidraftVotePatch Rich Hansen **20070911005611 Added code to inlcmds.c to allow for voting on a minidraft. ] [inl draft, change minidraft to draft quozl@us.netrek.org**20070911012707] [TAG 2007-09-11 quozl@us.netrek.org**20070911013513] [T-mode end message too long Karthik Arumugham **20070815163256 daemonII.c: The previous message was too long for the message window. ] [Show ploss to 1 decimal place in 'players v' Karthik Arumugham **20070820145343 players.c: Add one decimal place to the output. ] [Fix segfault in 'players r' if observers present Karthik Arumugham **20070820150501 players.c: POBSERV == 6 for obs, statnames array only had 5 values, not 7 ] [Change default INL starting armies to 12 Karthik Arumugham **20070820153723 inl.c: Starting armies have been 12 since 60/20 games started. ] [Add metaserver3 to sample_metaservers Karthik Arumugham **20070822153136] [Remove INL guest MOTD Karthik Arumugham **20070822154111 main.c: Many clients (COW-derivs) could not handle the MOTD being sent late while in INL mode and displayed a blank MOTD instead. Revert to the previous behavior of just sending the standard MOTD at the standard time. ] [INL guest MOTD fix, part 2 Karthik Arumugham **20070822155051 update.c: Forgot to remove reference here and to the master MOTD. ] [INL guest MOTD fix, part 3 Karthik Arumugham **20070822155619 Makefile.in, netrek.spec: I'm failing at coherent patches today. Remove remaining references to the inlguest MOTD. ] [DraftPlacementMod Rich Hansen **20070911004905 Modified draft.c to position players in pool and pick columns by assigned pool position and selection count respectively. Added p_inl_pool_sequence to struct.h ] [inl draft, merge quozl@us.netrek.org**20070911015318 * ntserv/draft.c: compliance with STYLE. ] [bugs, new INL ones quozl@us.netrek.org**20070911094840] [draft.c, player positioning modified Rich Hansen **20070912014705 Corrected pick sequence assignment. Added function to assign players a position in the pool, use this to position player. Modified some messages to All to make them more descriptive. ] [inl draft, merge quozl@us.netrek.org**20070912043622] [TAG 2007-09-12 quozl@us.netrek.org**20070912060120] [sysdef, change of maintenance policy, gum deprecated quozl@us.netrek.org**20070912093901 * include/sysdefaults.h: now that gum is deprecated and without an active maintainer, the list of yet to be added sysdef items was growing without bounds. Decided to abandon that list. ] [inl draft, add style to sysdef quozl@us.netrek.org**20070912094547] [inl draft, fix tractor and pressor selection quozl@us.netrek.org**20070912094809 Initial design ended up using robot functions instead of client functions that do the same thing. Curious that there are duplicate functions like this. Fixme. ] [inl draft, rework after testing quozl@us.netrek.org**20070912100728 * ntserv/draft.c: added a third layout style, moved static variables into shared memory structures, added a rapidly updating state viewer, fixed a core dump in inl_draft_pick pmessage, disable p_dir rotation because it isn't working. ] [inl draft, fixes after testing quozl@us.netrek.org**20070912105354 * ntserv/draft.c: align pick in mode 0 to centre behind captain, renumber modes since sysdef variables can't be defaulted here, fix captain arrival. ] [inl draft, tested styles 0 and 1 quozl@us.netrek.org**20070912113520 * ntserv/draft.c: tested both of my styles ... style 2 has something wrong with it but I haven't understood what caused it. Rich will need to test. ] [inl draft, further testing quozl@us.netrek.org**20070913070343] [Don't force obs to exit on geno when there is a queue Karthik Arumugham **20070916195301] [Fix format string vulnerability in whois command Karthik Arumugham **20070917181235 ntscmds.c: bounce() was being called with a raw buffer instead of "%s" as the format string. Add "%s"s as appropriate. ] [bounce() rename to god() and godf() quozl@us.netrek.org**20070918015845 * ntserv/smessage.c: renamed bounce() to god() and godf(), in order to review all other uses of bounce() for potential format string vulnerabilities, to make the function name end in the letter 'f' as a reminder in future, and to avoid concept collision with ship or torpedo bouncing. Also made some whitespace changes elsewhere. ] [Modify_Top_To_Bottom_Placement cflrich@cfl.rr.com**20070915205414 Modified captain and pick placement in TOP_TO_BOTTOM mode. Slowed down transwarp to position, for testing, as well as to give players time to realize what's happening. ] [INL Draft-- Spinning Fix, Text Mods cflrich@cfl.rr.com**20070916023834 Fixed spinning-- the ships now spin as they move towards their destination. Also, modified some of the messages to be more descriptive. ] [Fix Orbit Bug and Change Selection Msg for Draft Rich Hansen **20070918011307 Corrected draft.c to de-orbit and un-dock any ship before moving into draft pool. Modified message on draft to reflect actual selection number. ] [Signal Active Draft Selector by Ship Type Rich Hansen **20070918020051 Modified draft.c to force all players to CA, and signal the up captain by making their ship a BB, and the down captain an SC. ] [inl draft, merge with rich quozl@us.netrek.org**20070918024131] [inl draft, simplify variable names quozl@us.netrek.org**20070918034802 * include/struct.h: simplify the variable names by removing the word sequence, since it adds no real value to the meaning. ] [TAG 2007-09-18 quozl@us.netrek.org**20070918035047] [add Rich Hansen's repository quozl@us.netrek.org**20070918035422] [docs, REPOSITORIES update John R. Dennison **20070918002534] [Exclude observers from the draft Karthik Arumugham **20070918151712 draft.c: We currently have no way to deal with observers, so exclude them. ] [Move ships home after the draft finishes Karthik Arumugham **20070918151804 This patch prevents kill-scumming after the draft finishes. Players are moved to their regular starting planet. ] [Misc cleanup in draft.c Karthik Arumugham **20070918152847 draft.c: Comment change, PFOBSERV condition for draft fuse update. ] [Warp players home after a draft Karthik Arumugham **20070918162441 Move players back home in the fancy movement fashion of drafts. ] [Clean up end-of-draft movement Karthik Arumugham **20070918163006 draft.c: Split the draft ending code into two functions, and move some logic out of the update loop. ] [Merge REPOSITORIES updates Karthik Arumugham **20070918171403] [inl draft, merge with karthik quozl@us.netrek.org**20070919063547] [compiler warning, incorrect code quozl@us.netrek.org**20070919083556 * ntserv/main.c: ban_noconnect logic was causing a compiler warning that a test of a pointer would always return true, so removed the test as it is effectively superfluous. main.c: In function 'main': main.c:151: warning: the address of 'login' will always evaluate as 'true' ] [style, repositories quozl@us.netrek.org**20070919091033 * REPOSITORIES: trivial whitespace fix. ] [daemon, avoid t-mode scum check during INL game quozl@us.netrek.org**20070919091137 * ntserv/daemonII.c: if CHECKSCUM is set to anything with INL enabled, t-mode would strobe during tests with robots on the same host. The enemy team would appear and disappear rapidly, depending on race conditions. ] [inl draft, style quozl@us.netrek.org**20070919091940] [inl draft, rework contributions quozl@us.netrek.org**20070919092026 * ntserv/draft.c: added a global phase state variable, factorised the ignoring of non-draft slots and the highlighting of ships by current role, simplified logic for transition from draft to returning home, * ntserv/enter.c, ntserv/util.c: rework and factorise home planet choosing functions. * tests/inl-draft: reduce time delays. ] [TAG 2007-09-19 quozl@us.netrek.org**20070919093014] [removal of FASTER_SB_MAXUPDATES John R. Dennison **20070919071911 Removed references to the deprecated FASTER_SB_MAXUPDATES #define; this was #define'd in include/config.h.in by default but is not used in the server anywhere. Also removed deprecated comment in ntserv/socket.c and the docs/CUSTOMIZATION reference. ] [Place unpicked players on the independent team Karthik Arumugham **20070919121632 util.c: Don't mess with queues if the team is NOBODY. draft.c: Make pooled players independent, so the captains' playerlists can group them together for easier selection. ] [Rank drafted players based on pick position Karthik Arumugham **20070919123726 draft.c: Assign rank based on pick position. This will help indicate how early a player was picked, thus giving a rough indicator of their ability. Captains are Admirals, the first 2 picks are Rear Admirals, the next 2 Commodores, and so on down to Lieutenant for the last 2 picks. Unpicked slots and those who join after the draft are ensigns. struct.h: Add GU_INL_DRAFTGAME to indicate a game started as a draft. death.c: Do not rank players normally if playing in an INL draft game. ] [Suppress rank message in an INL draft game Karthik Arumugham **20070919124913 enter.c: Ranks are fixed, so don't spew these messages. ] [Archive player.CHANGES into docs Karthik Arumugham **20070919130017 player.CHANGES: Ancient CHANGES file for the original bronco server. No longer relevant, preserved for historical purposes. ] [Don't solicit an INL server without 2 captains present Karthik Arumugham **20070919131659 solicit.c: Players often stick around after the game to discuss, etc. This has the side effect of making the server remain on the metaservers, confusing newbies with extra servers to join. Do not solicit unless there are 2 captains in the game. inl.c: Remove captain status from players on TOURNEND. ] [Free team captain flag if captain disappears Karthik Arumugham **20070919143457 inl.c: Captains were persisting after quitting/busting. Add logic to the inlmove() loop to free the captain slot if the captain goes away. Some pieces of code were getting confused when p_inl_captain was not set, yet inl_teams[team].captain was set. Unset that. ] [Allow trade during the game Karthik Arumugham **20070919143840 inlcmds.c: Trade during the game and during pauses seems to work now. Tested with BRMH and XP 2006; previously XP 2006 would crash and BRMH would spew bad team number errors. ] [Increase ghostbust timers Karthik Arumugham **20070919144207 daemonII.c: Ghostbust timers were too short. Short busts would cause a free that would not have happened in the past. Also, this allows more time for trade during a pause. ] [Move draft completion message Karthik Arumugham **20070919145843 draft.c: Print it after moving ships back home instead of before. ] [Retain rank when INL draft game starts Karthik Arumugham **20070919151205 inl.c: Bugfix to retain drafted rank upon game start. ] [Captain clearing bugfix Karthik Arumugham **20070919162701 inl.c: Captain starts out as -1 until there is a captain. Tested fine under OS X, did not find bug until tested on Linux. ] [Increase MAXMETASERVERS from 4 to 8 Karthik Arumugham **20070919173248 solicit.h: We need at least 6 metaservers (3 metas, 2 entries for each in INL mode.) ] [setship, add fuel, shields and damage setting John R. Dennison **20070919180918 Added the ability to set shields remaining, fuel remaining and amount of damage. ] [Kill the GU_INL_DRAFTGAME flag on game end Karthik Arumugham **20070919180425 inl.c: GU_INL_DRAFTGAME wasn't being unset. This would cause problems if a new non-draft game was played without the INL bot resetting. ] [inl draft, merge karthik, rename gameup bits quozl@us.netrek.org**20070920000202 Change GU_INL_DRAFTGAME to GU_INL_DRAFTED Change GU_INL_DRAFT to GU_INL_DRAFTING ] [inl draft, decloak all ships quozl@us.netrek.org**20070920052316] [inl draft, confine disabled quozl@us.netrek.org**20070920053113] [inl draft, message cleanup, dead trout easter egg quozl@us.netrek.org**20070920062655] [Restore ghostbust timers to 30/32 seconds Karthik Arumugham **20070920125741 daemonII.c: Back patch out. Rationale is to bust players faster, especially in pickup. Will fix separately for INL. ] [Allow players to explode and die during a pause Karthik Arumugham **20070920133148 daemonII.c: Facilitate trading during a pause. ] [Configurable ghostbust timer in sysdef Karthik Arumugham **20070920135556 Add the ability to configure the ghostbust timer. ] [Document GHOSTBUST_TIMER in CUSTOMIZATION Karthik Arumugham **20070920190015] [compile warnings in ping.c fix John R. Dennison **20070920225900 Get around gcc silliness with thrown warnings on round() usage in ping.c; I am not convinced this is the ideal solution, but I did not care to muck around with configure over this. If you are adventuresome please have at it. ] [Fix god() calls that should be godf() Karthik Arumugham **20070920214501 ntscmds.c: Some god() calls with variable args need to be godf(). ] [review GHOSTBUST_TIMER documentation quozl@us.netrek.org**20070920235408] [explode and die during a pause, review quozl@us.netrek.org**20070921000014 * ntserv/daemonII.c: a TRADE during a PAUSE of a ship docked to a base would leave the docking bays inconsistent, so some of the regular PEXPLODE logic needed to be re-used. Restricted the PEXPLODE during PAUSE to slots with a p_whydead matching that set by a team change. ] [remove dumpshmem debug command quozl@us.netrek.org**20071001070402 * ntserv/genspkt.c: remove the debug command which calls dumpshmem, since dumpshmem is not in the repository. ] [scripts for t-mode start and end quozl@us.netrek.org**20071001074416 * sysdef: SCRIPT_TOURN_START, SCRIPT_TOURN_END, allows a server to run customised scripts as a result of T-mode start or end. ] [inl draft, add manual mode commands quozl@us.netrek.org**20071001074535 * tools/setship.c: add commands for operating a draft in the absence of the INL robot. ] [TAG 2007-10-01 quozl@us.netrek.org**20071001074734] [metaget, add premature exit capability quozl@us.netrek.org**20071001083407] [bind udp port predictably quozl@us.netrek.org**20071001113546 * ntserv/socket.c: normally the UDP port on the server side is chosen by the operating system from a pool of "random" or sequential ports. This makes it a challenge to fit the server into an environment where port based firewall rules are used. The new sysdef option provides a way to constrain the UDP port to a range of port numbers, one for each player slot number, such that player F0 will have, say, port 8000, and player F1 8001, and so on. ] [socket.c, superfluous parentheses quozl@us.netrek.org**20071001114220] [TAG 2007-10-01 quozl@us.netrek.org**20071001114259] [cambot, allow recording at a lower update rate quozl@us.netrek.org**20071002085158] [inl draft, add command to clear drafted flag quozl@us.netrek.org**20071002095506] [TAG 2007-10-02 quozl@us.netrek.org**20071002112443] [inl draft, documentation update quozl@us.netrek.org**20071003041933 * docs/README.inl-draft: some code changes didn't update the documentation. ] [p_heal, add quozl@us.netrek.org**20071003042029 * util.c: p_heal() added, to hold common code used in various other places. ] [inl draft, do not touch ranks in pickup quozl@us.netrek.org**20071003042139] [inl draft, heal ships after a draft quozl@us.netrek.org**20071003042226 * ntserv/draft.c: heal ships after a draft, problem reported by Zachary Uram during a sydney.netrek.org pickup draft game, where he whinged about lack of fuel following a draft. Does not occur in an INL draft. ] [p_heal, adopt quozl@us.netrek.org**20071003042350 * ntserv/enter.c, ntserv/interface.c, tools/xtkill.c: adopt the common ship healing code previously added. Fixes leaving partial damage behind in p_subdamage after a refit. ] [pret, fix compilation warnings quozl@us.netrek.org**20071009045419] [messages, factorise quozl@us.netrek.org**20071009045601 * tools: moves all message insertion into smessage.c ] [messages, fix for short packets, pret quozl@us.netrek.org**20071009045734 Fixes a regression reported by John R. Dennison that caused pret kathy messages to be corrupted, which was caused by the DINVALID state of some messages being inherited from previous use of the same message slot. * ntserv/smessage.c: initialise the DINVALID state of every message so that it is not sent via short packets, only the daemon sends such messages. * ntserv/main.c, robots/roboshar.c: remove the initialisation of DINVALID now that it is in common code. ] [message serialisation, major rewrite quozl@us.netrek.org**20071009113242 A major rewrite of the messages system in order to maximise serialisation without use of semaphores or locks. Each player slot, including robots, players, and observers, have their own message queue into which they can insert messages. But the messages sent to the client still come from the main message queue. The daemon still writes to the main message queue. It also moves messages from the private queues into the main message queue at a particular point of processing, before it wakes the per-slot processes. Thus only the daemon writes to the main message queue. A spare message queue is provided for tools that do not use slots. Old flow diagram: {ntserv,daemon} -> messages -> ntserv New flow diagram: ntserv -> uplink -> daemon -> messages -> ntserv ] [TAG 2007-10-09 quozl@us.netrek.org**20071010034533] [misc diagrams quozl@us.netrek.org**20071017224813] [message serialisation, inl regression fix quozl@us.netrek.org**20071022004453 * robots/inl.c: fix a regression caused by message serialisation changes. Evidence for the problem was loss of home and away team messages from the INL log. The messages were normally issued just before the game start countdown began. Examination of previous INL logs showed that there was invariably message loss if the number of messages during a countdown exceeded MAXMESSAGE (75). This is because the INL robot was coded to ignore the message queue during a countdown, presumably to prevent commands from being responded to. The message timestamps confirmed this. The message serialisation changes caused messages inserted by the INL robot to not appear to the INL robot in checkmess() until at least one daemon frame had completed. This caused the critical home and away team messages to be deferred until after a countdown, buffered by struct messages. Large number of players or discussion caused the buffer to wrap. The fix is to continue to process messages for addition to the INL log, but to ignore commands during the countdown. ] [TAG 2007-10-22 quozl@us.netrek.org**20071022005328] [message serialisation, inl regression fix, fix fix quozl@us.netrek.org**20071022012700 Code flaw discovered by Karthik. ] [Default TURN_KEYS to OFF Karthik Arumugham **20071004143602 sample_features: This is a new feature which makes a significant change to dogfighting mechanics, so it should deafult to off. ] [Allow admins to execute shell commands Karthik Arumugham **20071005170330 Let admins execute arbitrary shell commands. ADMIN_EXEC must be set to 1 in sysdef to function. ] [removal of blame John R. Dennison **20071009021259 Removed the reference to Bill in the warning displayed if one tries to drop on 3rd/4th race planets. ] [base-practice, force moderation bot into slot g John R. Dennison **20071010055712 config.h define to force the Smack moderation bot to always reside in slot 'g' instead taking the first available observer slot. ] [pret, save carried armies at start of pre-t mode John R. Dennison **20071010060044 Enable saving of carried armies to be saved on homeworld at start of Pre-T mode instead of just being lost; this occurs just prior to the galaxy being saved if the server admin has configured that option. Feature suggested by Addison Pan. ] [base-practice, enable faster weapon cooldown John R. Dennison **20071010063342 config.h option to allow for more rapid weapon cooldown on bases; useful for base-practice servers. Current a compile time parameter which will be changed to a run-time option in the near future. ] [base-practice, restrict bots from turning into bases John R. Dennison **20071010065823 Compile time option to restrict the ability of players being able to command bots to refit as bases which disrupts practice sessions. ] [basep/pret, add setbuf John R. Dennison **20071010224655 Added setbuf functionality for stdout and stderr. This matches the main server and provides for more timely ERROR output to ease debugging. ] [Stats Index script Karthik Arumugham **20071012170354 statsindex.py: A Python script to generate a directory index for a clue server's web statistics directory. ] [Add trailing linefeed to statsindex.py Karthik Arumugham **20071012170522] [end_tourney.pl updates Karthik Arumugham **20071012173635 end_tourney.pl: Add dirindex support. Set statboys to something sane in case someone actually uses REGISTER. ] [Don't kill admin observers on geno Karthik Arumugham **20071012180642 It's desirable to let administrators keep an idle slot in the game, even through a genocide. This lets them observe the game more easily without getting freed by a geno while afk. ] [Don't kick admin observers if on wrong team when T ends Karthik Arumugham **20071012201425 daemonII.c: Admin observers were getting kicked out by udsurrend(). Fix this to go along with the admin no-geno-kick patch. ] [Let admin observers rejoin after quitting Karthik Arumugham **20071014183332 death.c: Don't set mustexit in this case, making switching teams easier. ] [Allow admin observers to join any team Karthik Arumugham **20071014183819 getentry.c: Change tournamentMask() to allow admin obses on any team. This goes along with the change to let them rejoin on quit. ] [Fix cambot.pkt file name in end_tourney.pl Karthik Arumugham **20071014221006 end_tourney.pl: File is cambot.pkt.$id, not cambot.$id.pkt. ] [Increase MAXUPLINK from 10 to 20 Karthik Arumugham **20071014223241 defs.h: Increase MAXUPLINK to prevent message loss. Message loss was noted from the INL robot on a message burst. ] [Add CIDR netmask support to ip-checking code Karthik Arumugham **20071015124041] [Create etc/ip/deny on make install Karthik Arumugham **20071015124439] [Close directory in flag_test_cidr() on successful return Karthik Arumugham **20071015124616] [Improve is_robot() logic Karthik Arumugham **20071017122321 * Improve is_robot() logic util.c: Remove check for "robot" in the login name. Add a check for the slot's IP address matching ROBOTHOST. Implemented to deal with DoS attacks with a username of "robot!" that were being detected as robots. ] [Print INL game starting messages to the log Karthik Arumugham **20071017145731 inl.c: Print the messages that end_tourney.pl uses to generate stats. Currently, many INL bot messages are getting dropped, and thus stats come out broken. This is a temporary workaround to make sure that end_tourney.pl has the data that it needs. ] [Update statsindex.py Karthik Arumugham **20071017151448 statsindex.py: Bugfix to cd to the dropdir correctly. ] [Increase MAXUPLINK to 64 Karthik Arumugham **20071021075558 defs.h: MAXUPLINK still wasn't big enough to send the 'help' message. Let's make it plenty large enough for the foreseeable future. ] [Remove fprintf() of home/away team to INL_log Karthik Arumugham **20071023035045 inl.c: This was a temporary patch to alleviate stats generation breaking due to messages being dropped. Messages are no longer being dropped, so this is no longer needed. ] [Update clue check questions Karthik Arumugham **20071023154959 cluecheck.c: Some questions were confusing or just plain wrong. Update some and change others entirely. 1. To protect your starbase... Often it is better to be next to your base so it can t/p you sideways instead of in front. 2. How do you stop a cloaked enemy from taking...? It's not clear if the answer is a or b. Either can apply. 3. What is the most accurate way to find a cloaked enemy? The most accurate way is often to hit with a torpedo spread, then phaser the torpedo explosion for a lock. Not a phaser. ] [Suppress "Not an INL command" on passing cluecheck Karthik Arumugham **20071023161145 This message is confusing when you pass the clue check. Suppress it on successfully doing so. ] [Clean up compiler warnings Karthik Arumugham **20071023162715 Various fixes to clean up compiler warnings. ] [Clean up warnings, part 2 Karthik Arumugham **20071023163133 newbie.c, pret.c: Clean up warnings detected under Linux but not OS X. ] [Warnings cleanup, part 3 Karthik Arumugham **20071023163534 ltd_dump.c, newscores.c: Cleaned up more warnings. ] [Don't clear p_inl_captain on enter() Karthik Arumugham **20071112192827 main.c: p_inl_captain was being cleared on every entry. This broke metaserver advertising as well as captain message-spamming. Now the only places this changes are upon ntserv spawn, a captain or uncaptain command, a captain slot going PFREE, or the tournament game ending. ] [Don't clear p_inl_captain on enter(), part 2 Karthik Arumugham **20071112195535 enter.c: Forgot to remove the line that set p_inl_captain to 0. ] [transwarp, change sysdef names quozl@us.netrek.org**20071127223226] [transwarp, equity vs lockBase quozl@us.netrek.org**20071128023220 Add the time of day that player last locked on a ship, and check for very short durations before transwarp, to gather data on the use of lockBase in clients. ] [docs, add DDRANK/GARANK to CUSTOMIZATION John R. Dennison **20071124075142 Added missing documentation for DDRANK and GARANK to CUSTOMIZATION. ] [inl, trade restriction John R. Dennison **20071122065456 If a trade is performed after the game has started the server will become unstable and either crash or bust slots; this is an interim fix to restrict the trade command after the INL game has started. ] [Compile under Mac OS X 10.5 (Leopard) Karthik Arumugham **20071128170701 struct.h: Needed to include sys/time.h to compile on 10.5. ] [Fix itourn og command for robots Karthik Arumugham **20071128175735 dmessage.c: Max strncmp() length was too long, itourn was not matching in the og file. This needs to be set for the bots to make decisions outside of T mode. ] [Default CLOAK_MAXWARP to off Karthik Arumugham **20071128223754 sample_features: This is a bad kluge that is no longer needed. ] [Obey ignoreTMode setting (-I flag) in robotd Karthik Arumugham **20071129000322 decide.c, robot.c: Robots were not making decisions even with -I set. ] [dd+sb stats restrictions John R. Dennison **20071129105514 Add sysdef controlled minimum offense requirements for DDs and SBs; defaults to no offense requirements needed. These checks are performed after the rank checks (if any) for the ship classes, so one must still meet the rank requirements first, and then meet the offense requirements. ] [remove lockout() John R. Dennison **20071129185546 Removed "lockout()" checks from getname.c; if players are to be banned by login it should not be a static check in the code but rather a dynamic configuration setup. The code checked for "bozo" and locked out anyone using that as a login string; I have been able to find to reason for this. ] [Fix OFFENSE_RANK Karthik Arumugham **20071202122130 death.c, ltd_stats.c: OFFENSE_RANK sysdef was not working properly. ] [Clean up SB/DD offense patch, ignore SB offense requirement outside T mode Karthik Arumugham **20071202145320] [Blow up bases when pre-T ends if offense requirement are not met Karthik Arumugham **20071202150618 pret.c: PEXPLODE if offense < sb_minimal_offense. Let these players base during pre-T, but reset them for T-mode. ] [Delay end of pre-T until T mode actually starts Karthik Arumugham **20071202152723 pret.c: Pre-t was ending when an 8th human got a slot. Now it waits until there are actually 8 humans in the game and on a team. This prevents the game from bouncing in and out of pre-T without entering T-mode if an 8th player quits without fully entering. ] [lame refit John R. Dennison **20071202051843 Historically ships have been allowed to refit either on their homeworld or while docked to their base with the following criteria: shields >= 75%, fuel >= 75%, damage <= 75%. I do not believe that this was the original authors intent, as damage is the only of the three critera that increases on a scale of good to bad; I believe the original intent was damage <= 25%. It is the status quo for non-base ships to be able to refit while docked to a base in clue games when heavily damaged. But to allow a base to do so while on home world is disruptive to the game. The base is the most expensive of all ship classes and the only one with a 'regeneration' period between base death and the availability of the next base. The current refit criteria is currently being abused on pickled to allow core bases to refit on homeworld with significant amounts of damage, disrupting the game and making bases virtually indestructable as a result of knowing how to split damage to exploit this 'feature' of the code. This patch has 2 configuration options to give server admins the ability of 'fixing' the refit criteria and limit refits to those with <= 25% damage individually for both bases (LAME_BASE_REFIT=0/1) and non-bases (LAME_REFIT=0/1). The patch defaults to the classical criteria to maintain the status quo. ] [Merge interface.c patches Karthik Arumugham **20071202154129 interface.c: Offense requirement patch conflicted with refit damage patch. ] [Fix warnings, old variables not removed Karthik Arumugham **20071202154729] [Make 8x Captain requirement match comments for non-LTD Karthik Arumugham **20071202155455 death.c: Comments say that 8x DI promotions are only for Captains or higher. Previous non-LTD code let it apply to Commanders or higher. The LTD code makes it Captains or higher, so let's make non-LTD match its own comments as well as what LTD does. ] [Fix compiler warnings in newscores/trimscores Karthik Arumugham **20071202165429 newscores.c, trimscores.c: status->time is a u_int, but is trying to be cast to a long int. ] [Let 0.00 offense players fly DDs with min offense set to 0 Karthik Arumugham **20071202171432] [Add etc/ip/muteall support to mute only ALL messages from an IP/IP block Karthik Arumugham **20071206175644 Allow muting of only ALL messages. Intended to curtail ALL message spam (especially macros) from certain players. Originally intended as mutemulti, but most clients do not seem to set the FMMACRO flag properly. ] [Fix comment typo Karthik Arumugham **20071206175937 ip.c: This is muteall, not mutemulti ] [Create muteall directory on install Karthik Arumugham **20071206180226 Makefile.in: create etc/ip/muteall on make install in docs ] [Restrict SB offense outside T mode, except in pre-T Karthik Arumugham **20071207190252 getentry.c, interface.c: Don't allow bases below the offense requirement if there's no T but pre-T has not started yet. This will disalllow the potential case of someone with a too-low offense getting a base after T is lost but before pre-T begins and keeping it when T begins. INL and base practice mode continue to always allow basing. ] [Do not allow self-ejects Karthik Arumugham **20071208232441 gencmds.c: Block players from ejecting themselves. This helps curb abuse such as heavily damaged bases trying to get ejected. ] [pret - save armies on pre-t start fix John R. Dennison **20071212051328 At the start of pre-t carried armies were being placed on homeworlds but the carrying ship did not have it's armies reset to 0. This fixes that problem. ] [Fix "20 minutes left when T mode resumes" on geno countdown in T mode Karthik Arumugham **20071214172105 daemonII.c: te_surrender_pause was not getting updated to TE_SURRENDER_PAUSE_OFF until the first minute fuse occured after the countdown started. ntscmds.c: Use the TE_SURRENDER defines rather than integers. ] [Fix to allow admin observers to rejoin any team after a team-change xtkill Karthik Arumugham **20071226213403 getentry.c: Sometimes admin observers can only rejoin one team. This appears to happen after being xtkilled to a different team. ] [Turn off visibility range John R. Dennison **20071228080858 The SHOW_VISIBILITY_RANGE feature packet was defaulting to on, which alters play mechanics for users that are using clients that support this feature and creating an uneven playing field. This patch simply turns it off by default. ] [util.c - add find_slot_by_ip function John R. Dennison **20071231111840 Copied and modified find_slot_by_host function to provide similar functionality while searching for a slot by IP address. Needed for upcoming functionality patches to be released shortly. ] [util.h - missing function declaration John R. Dennison **20080105183309 Previous patch missed the function declaration for find_slot_by_ip(). ] [add ignoring/ignoredby commands John R. Dennison **20080106020900 Added support for IGNORING and IGNOREDBY commands. IGNORING will present a list of ip addresses the caller is ignoring, along with the slot of the ip if it is currently in the game and the type of ignore in place. IGNOREDBY does the same for ip's that are ignoring the caller. ] [pet peeve, fix all occurances of "1 minutes" John R. Dennison **20080106052034 Trivial patch to address a pet peeve I have concerning references to the phrase "1 minutes". ] [remove empty include John R. Dennison **20080116073511 ntserv/ntscmds.h was empty and not referenced anywhere. ] [add ignoring/ignoredby commands, review, STYLE quozl@us.netrek.org**20080117235920] [add ignoring/ignoredby commands, review, heap leak quozl@us.netrek.org**20080118000125 Fixed a heap leak that would occur if the file names failed to contain IP addresses separated by dash. Very unlikely corner case. Also removed a superfluous return. ] [review LTD_STATS conversion procedure quozl@us.netrek.org**20080121055446] [Fix confine after a draft has occured Karthik Arumugham **20080131173035 draft.c: Reset GU_INL_DRAFTED in case a previous draft had taken place. Ships get stuck in the corner otherwise if confine is on. inl.c: Allow confine to work if GU_INL_DRAFTED is set after a draft. inlcomm.c: Remove silly verbiage. We know confine is an OR function. ] [pret, bot name fixes John R. Dennison **20080203114356 The pret moderator bot, "Kathy", was referred to in multiple areas of the code by literal value. This patch corrects this by changing all such references to use the value of "roboname". This is useful, for instance, on Christmas if one wanted to rename "Kathy" to "Santa". ] [pret, fixed "1 armies" issue John R. Dennison **20080203115301 Quick fix to display "1 army" instead of "1 armies". ] [pret, repair/refuel slots on switch to real t-mode John R. Dennison **20080203120740 In order to present a fair and level playing field on switch from pre-t mode to real t-mode we now repair and refuel all player slots. ] [Fix NAME_MAX to FNAMESIZE Karthik Arumugham **20080203133824 ntscmds.c: NAME_MAX is not defined, and FNAMESIZE is already there for the same purpose anyways. ] [Fix plural player is/players/are for ignoring/ignoredby Karthik Arumugham **20080203141151 ntscmds.c: Echo jrd's pet peeve, against his own code! ] [Remove resurrection code Karthik Arumugham **20080221161240 Resurrection code has not worked in a long time (since before the advent of portswap.) A server making a connection back to a client with NAT being ubiquitous is deprecated. Remove the dead code. ] [Default SHORT_THRESHOLD to off Karthik Arumugham **20080221162141 config.h.in: SHORT_THRESHOLD causes the update rate to halve under certain conditions. With modern networks, we do not need or want this, and I have never seen it trigger anyways. Save some CPU cycles by defaulting it to off. ] [Modify updatePlayerStats() behavior Karthik Arumugham **20080221164730 genspkt.c, socket.c: Since the switch to 32 players, player stats were updated at a horrendously slow rate due to the UDP size threshold. Enabling FULL_DIRECTION_RESOLUTION or FULL_WEAPON_RESOLUTION fixed this, but just always send stats even if they are not on. Also, start updating at slot 0 instead of slot 1. packets.h: Make COST_GENERIC_32 a #define. ] [Fix default UPS if no client request was sent Karthik Arumugham **20080222021548 daemonII.c: p_fpu was defaulting to 1 if the client did not send a ups request, causing effective ups to equal server fps. Set it to fps / defups instead to set the proper update rate. ] [review collected patches quozl@us.netrek.org**20080224232213 roboname is common to many robots, so the same comment about length applies to each. ] [Feature packets, lame_*refit conditions williamb@its.caltech.edu**20080225013248 * Adds two feature packets that tell client about the server setting for base and non-base refit rules, so clients can know when able to refit. This patch contains the following changes: M ./Vanilla/include/genspkt.h +2 M ./Vanilla/ntserv/genspkt.c +24 M ./Vanilla/ntserv/socket.c +2 ] [Feature packet, F_WHY_DEAD_2, extra p_whydead states williamb@its.caltech.edu**20080225020024 * This patch adds support for some of the "newer" p_whydead states, namely KSHIP2, KTORP2, and KPLASMA2 that did not exist in the original WHY_DEAD protocol. Only clients which respond to the F_WHY_DEAD_2 feature packet will be send these three states. This allows the client to display a more accurate reason for death at the ship entry screen. This patch also removes the unnecessary WINSMACK define. This patch contains the following changes: M ./Vanilla/docs/sample_features +3 M ./Vanilla/include/data.h +1 M ./Vanilla/include/struct.h -4 M ./Vanilla/ntserv/daemonII.c -7 +10 M ./Vanilla/ntserv/data.c +1 M ./Vanilla/ntserv/feature.c +1 ] [review lame refit feature packets quozl@us.netrek.org**20080226004051 Only send the LAME_REFIT and LAME_BASE_REFIT feature packets if the values are not classic. ] [prerelease 2.14.0 quozl@us.netrek.org**20080226231858] [TAG 2.14.0 quozl@us.netrek.org**20080226232316] [add metaserver delist tool quozl@us.netrek.org**20080301112911] [fix release date quozl@us.netrek.org**20080303214108] [deprecate name.c quozl@us.netrek.org**20080308102816 name.c has no further use, it was once used to identify the source version for creating the tar.gz distribution, but that function is now handled by Makefile logic. ] [fix configure, relied on name.c quozl@us.netrek.org**20080310021145] [post release notes quozl@us.netrek.org**20080317221808] [doxygen, add configuration and build target quozl@us.netrek.org**20080319053953] [doxygen, add documentation quozl@us.netrek.org**20080319054020] [various spelling fixes quozl@us.netrek.org**20080320015932 Contributed by Zach Uram, reviewed on netrek-dev, signed off with changes by James Cameron. ] [newbie.c, 80 column re-indentation quozl@us.netrek.org**20080325055748] [pret.c, 80 column re-indentation quozl@us.netrek.org**20080325080717] [doResources change to pl_reset quozl@us.netrek.org**20080325111155 Move many planet functions into a planet.c source file. For a long time, the reset of the galactic has been copied from the daemon into other pieces of code, resulting in a lot of duplication. This was also the last piece of daemon code that was called from other code by direct linking. planets.h was also a problem, because it contained a global scope array pdata, the planet data before play. This made it difficult to factorise. It has also been moved into planet.c. What remains outside planet.c is daemon planet simulation, planet moves, and INL reset. ] [doxygen, daemon (1) quozl@us.netrek.org**20080325112215] [inl, report who freed a slot, it can be ambiguous quozl@us.netrek.org**20080327023638] [configure, remove X libraries quozl@us.netrek.org**20080402233354] [doxygen, struct.h incomplete documentation quozl@us.netrek.org**20080402233455] [glog, add timestamps jrd@gerdesas.com**20080402235823 Add timestamps for god log entries. ] [daemon, add t-mode duration logging jrd@gerdesas.com**20080403000051 Per requests from James and Karthik added logging for duration of t-mode sessions. Log entries are sent to the god log. ] [pret, win parade, experimental quozl@us.netrek.org**20080403001917 Adds a round win parade to pre-t mode, such that the winning player and planet are highlighted by the usual conquer parade, so as to reinforce that a round was won, to increase enjoyment of pre-t. ] [review, t-mode duration logging quozl@us.netrek.org**20080403002622] [forgotten, move common shmget usage to openmem.c quozl@us.netrek.org**20080404043838 Several supervisory robots had used a common code sequence that tries to detect daemon failure by checking to see if the shared memory segment is still registered. Moved this code to openmem.c ] [is_robot_by_host, enables testing of pret locally quozl@us.netrek.org**20080404053006 Whether to classify a slot as a robot based on the IP address works for production servers, but makes things difficult for local test servers. This sysdef value suppresses the check. Default on. ] [pret, round win parade, tested quozl@us.netrek.org**20080404102309 Tested version of the Pre-T round win parade, which uses the old style conquer parade of a ring of plasma from the planet to the parade ring. Changed the conventional conquer parade to use a ring of plasma moving the opposite direction. ] [doxygen, add robotd John R. Dennison **20080409232044 Added the robotd directory to the INPUT declaration for doxygen. ] [pl_info, better documentation quozl@us.netrek.org**20080415053825] [pret, fix for save_armies_carried() John R. Dennison **20080525213059 At start of pre-t carried armies were returned to homeworld whether the slot was alive or dead; this simple patch skips non-alive slots. ] [REPOSITORIES, update of darcs link John R. Dennison **20080607040853 I have moved my darcs repo to an external host; this patch updates the link for that repo. ] [include call graph quozl@us.netrek.org**20080621024624] [add py-struct to UDP packets for pygame client quozl@us.netrek.org**20080621024650 (not a change to protocol, only a change to documentation in code) ] [note bug in clue game re captaincy on draft quozl@us.netrek.org**20080621024744] [pret, code formatting quozl@us.netrek.org**20080621024944] [SP_BADVERSION, avoid leak, symbolise quozl@us.netrek.org**20080621025910 Rework of the SP_BADVERSION packet which is sent to the client if the CP_SOCKET packet contains incorrect protocol version number, or when the queue has no free slots, or when a player is banned, or when a connection is dropped due to netrekd denied IP list. - add symbolic names for the reason codes, - prepare the packet buffer with zeros to avoid data leaks, - document the current state of client processing of reason codes. This patch does not change the behaviour of the server, apart from starting with a packet buffer which is clean. ] [SP_BADVERSION, renumbering quozl@us.netrek.org**20080621031316 A renumbering of the SP_BADVERSION reason codes, consistent with current Microsoft Windows and Linux clients. Not yet checked against MacTrek. ] [SP_BADVERSION, use for eject, ban, free quozl@us.netrek.org**20080621060325 Use the SP_BADVERSION response for eject, ban, and free actions, and ensure it is processed in any of the three socket wait states; login (getname), outfit (getentry), and in flight. Add a "setship N disconnect M" syntax for testing. Note: clean rebuild may be required, struct player changed. ] [multiplexor design idea 2007-10 quozl@us.netrek.org**20080621231931] [SP_BADVERSION, compile fixes quozl@us.netrek.org**20080621235120 Move BADVERSION codes to defs.h since packets.h is not included everywhere. Fix prototype in ntscmds.c. ] [SP_SHIP_CAP, add py-struct documentation quozl@us.netrek.org**20080623081453] [CP_SOCKET denial of service, security update quozl@us.netrek.org**20080626093114 Reduces the effect of a particular style of denial of service attack, and provides a control to compensate during an attack. ] [pl_pick_home, pathological case fix quozl@us.netrek.org**20080629000922] [rcd, bring in changes from netrek-client-cow quozl@us.netrek.org**20080705054426 merge the dist_type enum and distmacro definitions from the current version of the Linux client. ] [SP_GENERIC_32, fix structure definition quozl@us.netrek.org**20080708010459 Fix the definition of the packet structure, as it was flawed following a previous patch. This should have no impact on clients since the packet was being sent with the correct size already. ] [RCD bomb, show planet name regardless quozl@us.netrek.org**20080708014039] [SP_GENERIC_32, only send when it changes quozl@us.netrek.org**20080708074803 The SP_GENERIC_32 packet was being sent every update, even though there was nothing changed about it, so now we send it only when it has changed. ] [fix missing end of line quozl@us.netrek.org**20080711102321] [util, s2du quozl@us.netrek.org**20080711102424 Add utility function for converting a duration to described units. ] [packets, remove unnecessary ifdef lines and blanks quozl@us.netrek.org**20080711102535] [remove old fixme now done quozl@us.netrek.org**20080711102622] [features, begin to use arg1 quozl@us.netrek.org**20080711102823 Add code to support the optional feature arguments, and create an argument value for the SP_GENERIC_32 feature, to be used in a later more contentious patch. ] [inl, fix for 50 fps, add context-> fields quozl@us.netrek.org**20080711103448 1. fix for the INL robot on 50 frames per second servers, the timing was being done per daemon frame, without reference to the fps value, the change is to define PERSEC in terms of fps. 2. addition of context->inl_* fields so that daemon and ntserv may see INL timing values. ] [SP_GENERIC_32 version 'b' packet support quozl@us.netrek.org**20080711103810] [TAG 2008-07-11 quozl@us.netrek.org**20080711110133] [pl_reset, sanity of loop quozl@us.netrek.org**20080713093510 Discovered a daemon looping, backtrace showed it to be in pl_reset, trying to place fuel on a planet, yet all planets had fuel. Add code to exit the loop if too many iterations occur. ] [SP_GENERIC_32, version 'b', fix byte swapping quozl@us.netrek.org**20080714001014] [pret, conquer parade honors pre-t idlers John R. Dennison **20080714064353 Pre-t conquer parade will honor pre-t idling ships and not kill them. ] [fix comment on SP_GENERIC_32, add bug quozl@us.netrek.org**20080716021739] [TAG 2008-07-16 quozl@us.netrek.org**20080716021816] [p_disconnect support for xtkill F quozl@us.netrek.org**20080723111256] [trimscores, add trim by zero stats billbalcerski@gmail.com**20080524125843 This patch adds a new option to trimscores (harsh value 100) that trims players with rank, tkills, tlosses, tarmsbomb, and tplanets equal to zero, with tticks equal to 1. In other words, players who made their character then never played. Useful for trimming player logins generated by DoS attacks. This patch contains the following changes: M ./Vanilla/tools/trimscores.c +24 ] [trivial packet doc fix quozl@us.netrek.org**20080726102330] [experimental, WHY_DEAD_2 fix quozl@us.netrek.org**20080726121527 The WHY_DEAD_2 feature was added in a way that prevented it from working, since features are not functional in the context of the daemon. This is experimental rework of the feature, untested. ] [experimental, clue game substitution quozl@us.netrek.org**20080726121619 Provide a structured way for players in a clue game to be substituted with observers, under their own control. May require client support. ] [TAG 2008-07-26 quozl@us.netrek.org**20080726123321] [RSA does not mean trusted, reported by zelchenko quozl@us.netrek.org**20080727034634] [openmem, test program quozl@us.netrek.org**20080727035758] [xtkill, add (f)latten John R. Dennison **20080802024406 Adds an option to flatten armies and kills on the given slot. ] [is_idle, not if torps in flight quozl@us.netrek.org**20080803020136 Changes the definition of safe-idle to exclude ships that have torps in flight, as it was possible to throw torps from the home world and yet be safe from attack. Adds GU_UNSAFE, which allows the client to see whether the ship is safe idle, and as the bit used to be GU_GAMEOK the meaning is inverted. ] [pret, flatten kills at start of t-mode John R. Dennison **20080818075252 Remove kills from players at start of t-mode to prevent start scumming; this returns pret to how it originaly was. ] [metaserver advisory political quozl@us.netrek.org**20080902230932] [pret, reduce ghostbust during termination probability quozl@us.netrek.org**20080903060136 On pickled, etc/sysdef was edited to set PRET=0, then Kathy ghostbusted, then GU_PRET was found still set. Examination of the termination path, where daemon sends SIGINT to pret, and pret sleeps for two seconds after stopping robots ... leads to the possibility that a retry may cause pret to not maintain p_ghostbuster enough to keep daemon happy. This patch maintains p_ghostbuster during a retry ... but with the side- effect that pret may never exit if robots won't stop. ] [deprecate debug documentation in usage quozl@us.netrek.org**20080906051100] [self destruct, move from ntserv to daemon quozl@us.netrek.org**20080909121553 Moves the self destruct implementation from ntserv to daemon, using a new variable in struct player instead of selfdest in data.c, and also changing the self destruct time in idle from one tenth to one fifth of normal. ] [decimal precision conformance for displayed stats netrek@gmail.com**20080912032053 This patch addresses the disparity between decimal precision values for the player stats (Offense, Defense, Bombing, Planet) displayed in the playerlist and inform windows in clients versus those shown in the bounce session stats output the server sends a player when they send '?' for a player slot. The prior method displayed the stats using printf field width and precision modifiers which sometimes led to rounding errors. Precision is now maintained to two decimal places and the various ways these stats are displayed to the user are now uniform in the way the values are displayed. The new method uses the ftoa() function to generate values less susceptible to rounding errors. ] [decimal precision conformance for displayed stats, review quozl@us.netrek.org**20080912043832 Minor indentation fixes. Note provenance of newly contributed code is from netrek-client-cow string_util.c ] [remove /og/ quozl@us.netrek.org**20080918040613] [admin/ban, fixes John R. Dennison **20080919185708 Changed admin/ban to properly expand variable in mail subject, changed log format to include both hostname and ip of banned host, changed mail body to include both hostname and ip of banned host, removed the update of etc/banned and replaced with code to add banned ip to etc/ip/deny. Also changed ntserv/ntscmds.c to send both ip and hostname to the admin/ban script. ] [rework file head, add hint to developers quozl@us.netrek.org**20080920015438] [removal of etc/access references John R. Dennison **20080920042908 Removal of all remaining references to the obsolete etc/access control file; documentation changes to README.ban to remove etc/access references and document etc/ip/deny usage. ] [removal of etc/access references, language review quozl@us.netrek.org**20080920044820] [self destruct credit quozl@us.netrek.org**20080921031535 Adds a sysdef option that gives credit to a chaser of a quit scummer. ] [factorise killer credit quozl@us.netrek.org**20080921033027 The rule of "one kill for the death, one tenth kill for each army, one tenth kill for each kill" was in multiple places. This reduces the duplication. ] [reduce whitespace on compile output quozl@us.netrek.org**20080930045100] [2.15.0 pre-release commenced quozl@us.netrek.org**20080930053334] [TAG 2.15.0 quozl@us.netrek.org**20080930054445] [fix compile error when PRETKEEPALIVE is not set quozl@us.netrek.org**20080930074152] [bring back downstream packaging for ubuntu quozl@us.netrek.org**20081002040013] [inl, allow admin commands and prevent info leak John R. Dennison **20081119093538 Allow "admin" command to be used during INL matches and prevent password from being logged in the INL logfile. ] [merge cow quozl@us.netrek.org**20090203041213] [ltd_dump_html added quozl@us.netrek.org**20090203054725] [db.c, add fast search capability quozl@us.netrek.org**20090203084537 Add a way to search for database entries without the cost of the sequential method, and remove the database timing feature. ] [ltd dump html, by player name quozl@us.netrek.org**20090203084720] [add missing libs quozl@us.netrek.org**20090203085231] [us.netrek.org-zonefile tanner@real-time.com**20090206015923 Putting the us.netrek.org zonefile into the public so the community can help maintain it. ] [add metaserver1, rm ftp, rm cvs quozl@us.netrek.org**20090208021808] [DNS, added new-wiki.us.netrek.org John R. Dennison **20090310020335 Added CNAME for new-wiki.us.netrek.org pointing to radagast.gerdesas.com for new wiki instance. ] [DNS, rename wiki to old-wiki, add new wiki John R. Dennison **20090312032419 Per request from James: renamed old "wiki" CNAME to "old-wiki"; added new "wiki" CNAME' bumped serial. ] [update my repo address Zach Uram **20090312165900 Ignore-this: ba5d561ad0ed935fae0aa205d6b543b7 ] [ggz quozl@us.netrek.org**20090313230220 Ignore-this: 8cf9bc23a75bbb7e10e878f2d67197c3 ] [typo, orbitting -> orbiting quozl@us.netrek.org**20090328082051 Ignore-this: 46f1eaa0a7a7a9094b0c7c0dca3e1f9 ] [dns, inclusion of dns/dns2.gerdesas.com as slaves John R. Dennison **20090407205129 Added NS resource records for dns.gerdesas.com and dns2.gerdesas.com; bumped serial number. ] [move keys from metaserver to server source kit quozl@us.netrek.org**20090411071311 Ignore-this: 8076f9f5dba2f9e4d3a3855a454a3298 ] [add ten second timeout to metaget quozl@us.netrek.org**20090419014414 Ignore-this: fde9b162566337073834c8380a00ba9 metaget does not exit if there is no response from a metaserver, so added a timeout feature that can be overridden on command line. ] [suppress time to die for kathy quozl@us.netrek.org**20090419025549 Ignore-this: 30b73d345c014986470f1cef9deb6db7 ] [report only t-mode surrender countdowns quozl@us.netrek.org**20090420054549 Ignore-this: bca894e850e36a6b3d948bed4a2c1460 ] [deprecate RSA infrastructure quozl@us.netrek.org**20090421003028 Ignore-this: 3e5c4a613d933d50d2471af73a455758 ] [add client name to version packet and log quozl@us.netrek.org**20090506074248 Ignore-this: 1af2f222541bd31eeb9ca3a2f347285e Client normally identifies to server using a CP_MESSAGE on first SP_PICKOK, but with a version number only. This was used with RSA on clients that did not support feature packets, and had no other use. This change prints the whole version message to the ERRORS log, for statistical analysis later. Clients are encouraged to send "@name version", any number of spaces are permitted, but the last word will be taken as the version number of the client. Also fixed a valgrind detected failure to free a heap pointer. ] [add client version part of protocol quozl@us.netrek.org**20090506085324 Ignore-this: 47ffb232230e8c0e9cbd9d1c237aaeb9 ] [remove old feature support, simplify client ident quozl@us.netrek.org**20090506232100 Ignore-this: 7830e260cd32878c4ae5c49378602fa4 quozl: code in your patch doesn't seem to match with this claim " Clients are encouraged to send "@name version", any number of spaces are permitted, but the last word will be taken as the version number of the client. far as I can tell, the whole string is stored as version minus the @ ] [include client version in metaserver query quozl@us.netrek.org**20090507065528 Ignore-this: f9bd124a2acf0408da630821d0eb5fd3 ] [autogen fix for ubuntu jaunty quozl@us.netrek.org**20090508223046 Ignore-this: 373c622b8efe86c7e75bdc995877b68b Ubuntu ships a recent version of libtoolize that fails to create config.sub as the older version used to. Libtool had been changed to require --install flag. Regression caused by libtool upstream. ] [adopt pickled defaults for most items except DNS blocks quozl@us.netrek.org**20090508223927 Ignore-this: ad6c9af14becb26b7f34c852860b5fd4 ] [fix configure substitution quozl@us.netrek.org**20090508223621 Ignore-this: 825997b5bb7a15730fc23498145f2055 config.h generated from config.h.in for this line resulted in comment text not remaining commented, failing the compile. ] [dns, meta2 change John R. Dennison **20090418201705 Changed meta2 to point to meta3 due to Carlos decommisioning meta2 as of 2220 PDT on 04/17/2009. Some clients have meta2 hardcoded in their rc files and Bill reported a minor problem with his client and meta2 no longer answering. NOTE: this is a short-term fix only. ] [autogen.sh, reduce noise John R. Dennison **20090508230414 add --no-warn on secondary invocation of libtoolize to reduce output noise ] [report client identification and allow user query quozl@us.netrek.org**20090510035726 Ignore-this: 9dd2f3dca0d5deae77fa54311fdc818c The client identification is stored in the player struct and displayed at login. It can also be obtained using the "CLIENT n" query by message. ] [newstartd, whitespace cleanup quozl@us.netrek.org**20090512044300 Ignore-this: a6ce30ef088c87b876b0ea7a62e18867 whitespace-cleanup in emacs ] [fix for deprecated RSA, remove references to CVS quozl@us.netrek.org**20090512163312 Ignore-this: 75d8cfdf04c8e205c16caab0389581 ] [whitespace fixes and RSA comment quozl@us.netrek.org**20090512165544 Ignore-this: ff04e83375917b577e7193aae8e232e9 . ] [Feature packet, AUTO_WEAPONS billbalcerski@gmail.com**20090522114759 * New feature packet which allows clients to use autoaim and autofire for weapons. Considered borg, defaults to off. M ./Vanilla/docs/sample_features +2 M ./Vanilla/include/data.h +1 M ./Vanilla/ntserv/data.c +1 M ./Vanilla/ntserv/feature.c +1 ] [update repository address quozl@us.netrek.org**20090524034618 Ignore-this: 5f77068780d22032526f495b71fd649f ] [etc/metaservers, add comment line handling quozl@us.netrek.org**20090524233835 Ignore-this: 2f6e093e7fd44fa86c481184e8e54873 ] [solicit, trailing whitespace quozl@us.netrek.org**20090524233927 Ignore-this: c6330e8242bf8e83726f3eeec764114a ] [solicit, reindent quozl@us.netrek.org**20090524234622 Ignore-this: 5dd39993daf772482b92ccdef79984df ] [Feature packet, SP_RANKS billbalcerski@gmail.com**20090524224449 * New feature packet which indicates client can receive ranks packets. M ./Vanilla/docs/sample_features +2 M ./Vanilla/include/data.h +1 M ./Vanilla/ntserv/data.c +1 M ./Vanilla/ntserv/feature.c +1 ] [Sturgeon, update server name billbalcerski@gmail.com**20090524225218] [Rank structure, add cname billbalcerski@gmail.com**20090524225641 * Add curt name (cname) to rank struct, mimics what already exists in some clients. Also cleans up some unnecessary clutter in the rank struct from previous revisions. M ./Vanilla/include/struct.h -1 +1 M ./Vanilla/ntserv/data.c -18 +9 ] [SP_RANKS, new server packet billbalcerski@gmail.com**20090524225839 * New server packet SP_RANKS to submit all ranks to the client in one ranks_spacket per rank. Was necessary to increase the static total server packets define by one. This patch only contains the backbone, it does not actually send the rank packet. M ./Vanilla/include/packets.h -1 +12 M ./Vanilla/ntserv/genspkt.c -1 +20 ] [SP_ranks, fix variable type, add feature check billbalcerski@gmail.com**20090525114010 * Change hours, offense and rating to a number with two decimal places, sent in a similiar manner to player kills by SP_KILLS. * Add a check to make sure F_sp_ranks is set before sending rank packet. M ./Vanilla/include/packets.h -3 +4 M ./Vanilla/ntserv/genspkt.c -3 +6 ] [SP_RANKS, add support for offense_rating billbalcerski@gmail.com**20090525115158] [SP_RANKS, send to client billbalcerski@gmail.com**20090525123614 * Adds sending (once) of SP_RANKS to client after feature packets have been received. M ./Vanilla/include/genspkt.h +1 M ./Vanilla/ntserv/genspkt.c -1 +3 M ./Vanilla/ntserv/main.c +2 ] [SP_RANKS, increase char size billbalcerski@gmail.com**20090525141528 * Changed rank string size from 10 to 11. When a rank was 10 chars long (Lieutenant) there was no room for the string terminator. * Fixed minor bug with Lieutenant cname (missing a space) M ./Vanilla/include/packets.h -2 +2 M ./Vanilla/ntserv/data.c -1 +1 M ./Vanilla/ntserv/genspkt.c -2 +2 ] [SP_RANKS, don't send ranks over admiral to old clients billbalcerski@gmail.com**20090525143726] [Robotd server name, change to localhost billbalcerski@gmail.com**20090525152213] [Newbie, adopt PRETKEEPALIVE to keep robots full-time billbalcerski@gmail.com**20090525153115] [review, SP_RANKS quozl@us.netrek.org**20090526004954 Ignore-this: 72a9a1dda431eecdc2ab51f50b226461 1. fix name of packet, it does not contain ranks plural, but rank singular, cascaded into a change to the feature packet name, 2. pad packet for alignment optimisation, and use common sizes to allow for expansion, 3. logic that checked for login packet content change was triggered unnecessarily of a rank above NUMRANKS was used, so a copy of the packet is adjusted instead, 4. SP_RANK packet was not initialised before being sent, 5. changed PRETKEEPALIVE to better fit new role. ] [Self destruct credit, int overflow fix billbalcerski@gmail.com**20090525203609] [SP_RANK, fix string length billbalcerski@gmail.com**20090526015024] [SP_RANK, round() values for decimal precision billbalcerski@gmail.com**20090526015938] [Newbie, fix compiler warning billbalcerski@gmail.com**20090526025611] [SP_RANK, fix limited packet initialization billbalcerski@gmail.com**20090526030650] [SP_RANK, fix max rank sent to client billbalcerski@gmail.com**20090526035803 * New define RANK_ADMIRAL which is the history maximum rank that can be handled by clients. Replaces NUMRANKS - 1 which will be inaccurate if NUMRANKS increases. M ./Vanilla/include/defs.h +1 M ./Vanilla/ntserv/genspkt.c -2 +2 ] [SP_RANK, manually round billbalcerski@gmail.com**20090526221456] [RANK_ADMIRAL, use for draft captains billbalcerski@gmail.com**20090526223424] [review, SP_RANK further edits quozl@us.netrek.org**20090527080129 Ignore-this: c2f5cf29f44bf7e22870d8599a36c275 Slight change to spacing, and changed comment on RANK_ADMIRAL. ] [SP_RANK, include maximum rank number quozl@us.netrek.org**20090528000602 Ignore-this: 4b03eab9639f3d9109785022e10ed0f ] [draft, addition of LTD stats query quozl@us.netrek.org**20090224232051 Ignore-this: 96ac1251aebebff59f4ebe389488e1cc ] [TAG 2009-05-28-am quozl@us.netrek.org**20090528001642 Ignore-this: 584970faf4cbdc92faf8e9faae415c14 ] [LTD_STATS enabling, BREAKS PLAYER DATABASE quozl@us.netrek.org**20090528010044 Ignore-this: 83366366c0c91054a0509940db684ee Enables LTD stats by default, but note that this breaks compatibility with any previous player database. When taking this patch into an active server, be sure to retain your original setting in include/config.h ] [final, addition of LTD stats query quozl@us.netrek.org**20090528071629 Ignore-this: f256a4391f7df2ce93675132f0976780 Adds a player command LTD, which forks a process to dump the player's LTD stats into a file, and then provides a URL to the file. ] [res-rsa removal quozl@us.netrek.org**20090528224526 Ignore-this: b05f5f518e27990c8fd6bf0b73bd807b ] [warn about long passwords being irrelevant quozl@us.netrek.org**20090529041521 Ignore-this: a8f37a2bd2be281eaab465471fcbc612 crypt() uses only the first eight bytes, changing that to another algorithm would totally break existing databases, and the netrek character password does not protect anything significant. ] [TAG 2009-05-29 quozl@us.netrek.org**20090529054729 Ignore-this: 3d2879bcc8dfa529059557e67a3dd1c1 ] [LTD stats query, move to var/www/stats quozl@us.netrek.org**20090601011754 Ignore-this: cb5832e9d6e3e7fe132b6e9d6ac9fb17 ] [remove gum quozl@us.netrek.org**20090601054200 Ignore-this: 9db6e7c2118025a8b7a208ce44b086ff gum is the deprecated administration GUI for the server, which has not been maintained for quite some time. ] [revise metaserver configuration instructions quozl@us.netrek.org**20090601095517 Ignore-this: d742b2d4577a42d4835cb5ef76e88943 Zach noted that there is an SGML file metaserver-HOWTO.sgml with configuration instructions, and James noted that the file was out of date, and partly duplicated the text file docs/metaservers-HowTo. This patch removes the out of date file, and contains a review of the correct text file. ] [SP_LTD, initial draft quozl@us.netrek.org**20090602022512 Ignore-this: d027d80a0bc094ab0abc3bf338cca221 ] [SP_LTD, add feature packet, default on quozl@us.netrek.org**20090602033730 Ignore-this: 910af5ed0e688e8d58aae6b45ab30e3b ] [SP_LTD, provide packet to client on death quozl@us.netrek.org**20090602113110 Ignore-this: 9cbf2c01ed7fa9cd407e0c667521f46d 1. added missing totals calculation, original author Dave Ahn was interviewed and said the totals were not done within the server due to the time cost on the hardware available at the time, 2. send the SP_LTD packet using the current race and total stats slot, 3. send the SP_LTD packet as well when the LTD command is used by user. ] [SP_RANK, resend SP_PL_LOGIN if feature turns on quozl@us.netrek.org**20090603005802 Ignore-this: ae5ed32dead1af31b2582ae9078230de ] [sndLogin, restructure, reindent, review quozl@us.netrek.org**20090603010952 Ignore-this: e8e3bac6ae0dfbcd287ae68537328a7b ] [SP_LTD, rework for network byte order, add non-t quozl@us.netrek.org**20090603110051 Ignore-this: af44a704f51d956449ff73d2bd18e2b8 1. the SP_LTD packet format is changed to use network byte order and no floats, breaking compatibility with previous version of SP_LTD a few days ago, there is no longer a struct ltd_stats in the packet, 2. a new statistics bucket is created for LTD stats kept outside t-mode, 3. extensive changes to daemon to maintain non-t-mode session LTD stats, but without retaining them in the player file. ] [remove config define PING quozl@us.netrek.org**20090608040152 Ignore-this: f56371e235022a76befbc7310e46acbe ] [remove config define RCD quozl@us.netrek.org**20090608040710 Ignore-this: eef568f9dec56253f1069d96a3d5c088 ] [remove config define CHECKMESG quozl@us.netrek.org**20090608041503 Ignore-this: 9bd411f27eeba1f9dc26ed06edc4fbb8 ] [remove config define FEATURES quozl@us.netrek.org**20090608041658 Ignore-this: 4a711395a7c541bb37c65b3751edb999 ] [remove config define FEATURE_PACKETS quozl@us.netrek.org**20090608051015 Ignore-this: 3443483ca2739236ec5ebe9790c845d5 ] [remove config define SHORT_PACKETS billbalcerski@gmail.com**20090608224508] [remove config define SHORT_PACKETS from documentation quozl@us.netrek.org**20090609000038 Ignore-this: 9dbae1eb0728e08d26a3fc8325af5e48 ] [remove config define UDP_PORTSWAP billbalcerski@gmail.com**20090609011156] [remove config define UDP_PORTSWAP, peer review quozl@us.netrek.org**20090609012117 Ignore-this: 65c57e6e9751a1d226e39414ae2ea9e9 ] [experimental contextual tips quozl@us.netrek.org**20090609085948 Ignore-this: 277ee38165d607fc383da7b6bf03635 Replaces the MOTD with a player performance tip specific to the context in which the player died. A list of several tips are triggered, with the most important tip being sent. May require client debugging to fix ClearMotd which has not previously been used by the server. If ClearMotd certainly cannot be made to work, then this contextual tip feature may require feature packet support. ] [tips, add temporary test mode command, default off quozl@us.netrek.org**20090610015759 Ignore-this: 7a95c9e7f11ea6ec8dba913b1ef26518 ] [tips, enable sooner, trip newlines quozl@us.netrek.org**20090610070203 Ignore-this: a33c51b2a7f8e7e49a6af7cb9aa04386 ] [repo removal John R. Dennison **20090611005607 Removal of public repo ] [add TIPS feature quozl@us.netrek.org**20090611035913 Ignore-this: de860682f739087057785b62e0c04424 ] [enable tips if client has feature quozl@us.netrek.org**20090611040116 Ignore-this: 84dc3e5ce3516075bdc859e80a590e0b ] [enable TIPS quozl@us.netrek.org**20090611052652 Ignore-this: 94b93aaf75b2526aa296242b408cb6c7 ] [warn user if tips command tried without support quozl@us.netrek.org**20090611054750 Ignore-this: 6f83bb8a3da2b449ef52a82e2c488803 ] [tips, also include message method for old clients quozl@us.netrek.org**20090612082135 Ignore-this: 969679738d4c093300ef3664c55918bd ] [compile error fix quozl@us.netrek.org**20090612082400 Ignore-this: 854825a8967499dfaff6bcd3ee308b0f ] [tips, do not refuse command now that message mode available quozl@us.netrek.org**20090612082747 Ignore-this: ba00ec4e0af9386c393e6c5c39c6cf47 ] [fix race condition with F_tips quozl@us.netrek.org**20090615021828 Ignore-this: 70deaf3eeff95ddef8cc1c2664e04da0 At the time of the first call to tips() the CP_FEATURE packet with TIPS may not have arrived, so this was causing MOTD tips to be disabled. ] [remove cygwin implied support, confusing quozl@us.netrek.org**20090616225011 Ignore-this: 7caae7d74378b8e58de25d05919360f7 https://answers.launchpad.net/netrek-server/+question/72172 showed how someone misunderstood the instructions, and since we have no active cygwin based developers of the server, I'm removing this implied support. ] [F_sp_rank, fix logic in sndLogin resend billbalcerski@gmail.com**20090615221150 * In sndLogin(), F_sp_rank_was was set to F_sp_rank upon the first login packet sent after F_sp_rank was received from client. However, this does not mean that all ranks have been sent correctly, only the first player (slot 0). This patch fixes the logic so that any time a limited rank is sent, there is a check if login packet needs to be resent. This patch contains the following changes: M ./Vanilla/ntserv/genspkt.c -1 +2 ] [REPO update John R. Dennison **20090707030925 After speaking with Rich Hansen we've decided to decommision his darcs repo. ] [TAG 2009-07-07 quozl@us.netrek.org**20090707051325 Ignore-this: 888295d3f61d19fd2af0f2d680ff70ae ]