TWGS10133.EXE - July 8, 2000
TWGS Changes:
I have been receiving reports from gameops who have installed 1.01.32 over 1.01.31 and immediately had problems. I went through the changes from .31 to .32 and did some cleanup to try to fix any problems created during that update.TWv3 Changes:Removed the up and down arrow on the Configure screen, Games tab game list box. There was a bug with the order of games listed in this box. This was causing strange behavior when the game letter was changed. This problem is fixed.
No changes were made to Trade Wars between .32 and .33.TWGS10132.EXE - June 27, 2000
| Mirrors: | Stardock Alpha-Prime | |
| Hekate's Links | ||
| Intergate |
TWGS Changes:
Changed administration password system to include global admin password and game-specific local admin passwords. Entering the global password which is specified in the Config screen, Server tab provides access to all games. Entering the password for a particular game, which is specified under the Config screen, Games tab, limits administration access to that game only.TWv3 Changes:Operations requiring either global administration or game access are
TEDIT
TW2002
Extern
SpyOperations requiring global administration access are
Cycle server
Disable server
Toggle Login Enable
Reboot systemExtern can now be run one game at a time from an admin connection.
Changed the way TWGS stores domains in the IP lists. Instead of using letters to identify each IP in a list, numbers are used. There is no limit on the number that can be included in a list.
Added Reboot System to Remote Admin options
Added Display Game Logs to Remote Admin options
In an attempt to improve the problems with message lag (a player receiving a message that he has been killed AFTER he has moved to another sector), I have made some changes to the way messages are processed while a player is moving. In the past, messages were only processed once per second. Now, messages are always processed as a player moves from one sector to another. Also, in the past, with 0 move delay, messages were not being processed at all for autopilot moves. This has been fixed.TWGS10131.EXE - June 9, 2000Fixed problems with podding. After a player is podded, the new ship type was not properly initialized. The boundary limits on ship capacities was still the same as that of the original ship, not the pod.
Fixed problem when podded by another player during attack. Standard pods were always being assigned even if a ship was configured for a non-standard pod through the Gold editors.
Changed method for determining alignment of Gold alien fighters. Alignment is now set to the average alignment of the alien race for that day. For example, with default Gold Ferrengi, at day 0, fighters will have alignment near -15 and at day 120, fighters will have alignment near -1800.
Fixed bug that caused "UNUSED" to appear as the name of a planet that was destroyed with Atomic Detonators.
Changed planet creation (Genesis Torp) procedure again. The new method guarantees that if a player drops carrier, the planet will be created with default settings, the player will receive experience and alignment, NavHaz will be removed from the sector, and the planet will appear in
the sector.Gold ships cannot have Functional set to false if they are used with General Deployment.
Added forced message processing after any command is entered. This will guarantee that a player has the most recent data state before any command is processed.
If a ship or player is attacked while in tow, the tow link will be broken.
Fixed extern problem with mixed-corps. If every player on a team is dead when extern runs, the Corp alignment is returned as 0 which is considered positive. If the players on the team have negative alignment, they will be penalized by a quarter of the lowest alignment. The fix changes the extern mixed-corp processing somewhat. If you are dead at extern, you are excluded from this penalty entirely.
TEDIT: Fixed Gold editor bug. When selecting a ship, planet, or alien race, often pressing enter will result in undefined file pointers which can corrupt the file.
TEDIT: When setting a player's turns to something above 0, the Photon dampening effect is removed.
TEDIT: Fixed bug that caused sector data file and sector warp file to go out of synch after sector warp edits.
Retreat no longer requires a turn.
Rewrote pod escape algorithm. The new algorithm is more likely to find a path. If the sector isn't completely surrounded, the escape pod will escape to at least an adjacent open sector.
Added ANNOUNCE.TXT file processing. If a file called ANNOUNCE.TXT exists in the game data directory, it will be displayed after the intro ANSI. Use this file for any game-specific announcements.
| Mirrors: | Stardock Alpha-Prime | |
| Apparition's FTP | ||
| Intergate | ||
| Hekate's Links |
This revision includes significant internal changes to both TWGS and TW. Please back up your games and whatever TWGS version you are using in case you experience problems with the new version. If you have problems, please report them to me.
TWGS Changes:
Added Minimized option for TWGS startup.TWv3 Changes:Added hidden flag for extern so it will run in the background.
Fixed problems with registration features added to .30.
Command Center game list now includes the letter of the game as well as the title.
Extern now runs when you click OK from the "are you sure" dialogue under Command Center.
Added Archive feature in place of the Debug menu under Command Center. Previously, Debug was used to save an archive of game data to send to me for testing. The Archive feature is an extension of the Debug function to allow gameops to save and restore game data.
Fixed a bug in the Alien Manager that caused aliens to become unresponsive if a Gold server crashed.
Completely revamped the TWGS timing mechanisms. System timers are too unreliable, often triggering when they aren't supposed to or not at all. The new timer manager does't rely on system timers at all and has a precision of 10 ms.
About and Config screens are no longer full screen unless you're in 256 color mode. The full screen was used to avoid the ugly palette shifts that take place when you move from one window to another under 256 colors, but it isn't necessary under other color modes. I removed the full screen to improve efficiency when using remote viewing software like VNC or PC Anywhere.
Completely redesigned the ordering system under the Info menu, Order! command. TWGS registrations are complicated, and this is an attempt to make it easier to place an order. Also, the text form has been redesigned. I welcome any suggestions on how to make it more understandable :)
Added command line help. Type TWGS /? to display a text window of TWGS command lines. Note that the service command line options are not yet active. I hope to have TWGS running as a service in the next release or two (as soon as I can get NT reinstalled!).
Fixed sockets resource problem caused when connections above the server limit are handled. This bug was causing the buffer space to run out for other TCP/IP applications.
Fixed error log bug that caused the log to stop displaying errors after it had been purged from the Command Center.
Optimized the scheduler and timer managers. Fixed a few bugs, including midnight boundary problems.
Added ability to spy on other nodes from an administration connection. This means that multiple nodes can be viewed using a remote connection. Only a single node can be viewed from any given admin connection, but multiple admin connections are allowed.
Added "Are you sure" prompt to Run Extern command of Administration Remote Command Menu.
No longer able to post a bounty on an Observer.Added MBBS-mode change to Atmospheric Quasar Cannon. TWv3 uses a more conservative factor in determining the amount of damage done. MBBS made atmos Q-Cannons do 4 times as much damage.
Added new delay logic for combat. When a player attacks another player, the attacker's session posts a "powering up weapons" message to the enemy. There is now a delay that lasts up to the standard ship move delay from the time the attacker actually launches the fighters, but that will be cut short as soon as the enemy acknowledges receipt of the "powering up weapons" message. This improves the chances that an attacked player will have received all messages posted before the attack and will have some opportunity to take evasive action even in games with the move/attack delay removed.
Modified the acknowledgment tracking system that removes inactive players from the active list. This system won't actually boot a player that is online, even if the player is not responding to messages.
Fixed the acknowledgment tracking system so that it doesn't momentarily flag a player as offline.
Message system now diagnoses itself and resets if it is not working properly.
Channel is no longer reported as negative for channels above 32768.
Cleaned up Enter Sector routine. The routine now aborts if the player is moved to a different sector or killed. If moved to another sector, the routine is started again for the new sector.
Fixed a bug in the level combat routine that sometimes used random values for experience and alignment of players when determining exp and aln shifts.
Fixed a bug with Grimy Trader that made it easier to locate traders on some ports and impossible on others (oops).
Fixed a bug in the mail system that caused mail deletes under rare circumstances to corrupt the "deleted mail" list. A mail file with a corrupted delete list is unstable.
Added boundary checking to the index system to avoid access to indexes out of the defined range. Attempted accesses out of range are reported to the error log (in the debug version) and then ignored. As a result, I have located over 20 instances where invalid index accesses were occurring.
Modified the index system to make it impossible for index scans to return index values out of range.
TWGS10130.EXE - May 11, 2000
TWGS Changes:
Games marked as "inactive" can now be accessed from the remote adminstration connection. This will allow a gameop to edit and test a game remotely before it becomes available to players.TWv3 Changes:Admin connection now lists IP with players and admins online.
Added Enter TW2002/Gold Codes option to Command Center and TWGS Configuration window. Now TW registrations can be entered directly into TWGS rather than TEDIT.
Added Paste Codes feature to TWGS Configuration, registration window. The registration codes that I generate and email can be copied from the email and then pasted into TWGS using this button.
Added "None" to list of Admin ports so it can be disabled entirely.
Fixed bug with TW game log IP addresses. They were getting truncated.TWGS10129.EXE - April 28, 2000Changed registration method for TW Turbo. The official release of Turbo will require at least v3.11.30.
Added TEDIT setting (General Editor Three) to disable Rob/Steal delay.
Modified the method TW uses to determine who is considered hostile to a ship or planet. In the past, a person who was in the corporation of another person was allowed to access that person's personal assets. This is no longer the case. Only corp-owned assets can be accessed by all corp members.
Many long-awaited features have been implemented in this version. This is also the first version that will be Turbo-enabled. TW Turbo itself will begin beta tests soon, and should be available to the public within a few weeks.
TWGS Changes:
Optimized menu display code.TWv3 Changes:Added Total Server Connections, a value that tracks connections since the server first went online. Under Configure, Server, you may specify the number of connections to start tallying from (in case there was a reinstall) as well as the start date for tallying.
Added Scheduler to allow gameops to schedule applications that must run hourly, daily, or weekly. There is an option to put the server into offline mode during a scheduled process, and you can specify how much delay to give to players, and what message to send to them.
Added status line to main monitoring screen.
Added "Startup Mode" to server configuration. If set to Online, server comes online when TWGS is started. When set to Offline, server remains offline until manually started. Default is Online.
Implemented time-based log file and added player activity tracing.
Login name is now required in TWGS (gameop configurable). You can enable this requirement in Configure, Settings, Require Login name. It defaults to OFF.
New installations now default to AUTO IP mode rather than local. If anyone experiences a problem on a new install with this setting, please let me know.
Limpet mines no longer turn rogue if abandoned. Rogue limpets are not consistent with the game's design. In other words, a rogue limpet has no function since it cannot be tracked.Removed Random Factor from * settings display.
Added dynamic values to * settings display, including active players, active ports, active planets, active corps, fighters, mines, etc.
Added player's IP address to the sysop log.
Enabled Trade Wars Turbo support.
TWGS10128.EXE - April 10, 2000
| Mirrors: | Apparition's anonymous FTP | |
| Stardock Alpha-Prime | ||
| Intergate | ||
| twgs.twars.com | ||
| Hekate's Links |
The "out of sync" bug seems to be fixed, but mail file instabilities continued in .27. All of my efforts have been focused on locating and fixing the mail system problems, and I am confident I have finally done so.
TWv3 Changes:
Located several minor bugs in the mail system. These bugs were responsible for the mail file lockups that required that TWMAIL.DAT be deleted. Mail file corruption should be much less common after .28.Removed mail maximum until further notice. Previously, I had imposed a 1000 message maximum per player. I want to see how the system functions over the coming months without this maximum.
Fixed bug that allowed non-corp players to escape the Interdictor Cruiser of other non-corp players during an attack.
TWGS10127.EXE - April 5, 2000
TWGS Changes:
Improved efficiency of Monitor code.TWv3 Changes:
Found and fixed the "Out of Sync" bug that has been appearing since .25.Improved mail file performance. The mail file has been timing out during processing under stressful conditions. This can result in mail file corruption. I have increased the timeout from 10 seconds to 60 seconds for the mail file, and also optimized the mail delete operation.
TWGS10126.EXE - April 4, 2000
TWGS Changes:
Solved a few bugs created by the monitoring system.TWv3 Changes:Added acknowledgment of beta testers to the TWGS About screen. Obviously there are too many people to easily keep track of, so I have started with the list of testers working with Cruncher. If you are providing feedback about bugs and would like to be included on the list, send me an email with the name and/or handle you'd like to be listed under. If you're on Cruncher's list, you may not have been listed because all I have is your real name and I don't want to list that without your permission. There are also several from the list that didn't tell me if they wanted to be listed by their real name. Please email me and let me know how to list you.
Attempt to fix the "Record out of sync" error that has been appearing in .25 games. I have also improved the error log reporting for these errors to help locate the cause if they continue with this revision.TWGS10125.EXE - March 23, 2000Fixed annoying "angry" messages in Trade Agreement. After you underbid the price by too much, the port would remain belligerent for every bid after that, even if it was acceptable.
TWGS Changes:
Added a monitor to track characters/second transmitted and received, and also players online. You'll find the modes for this under the new Monitor menu item.TWv3 Changes:Optimized the startup for the server. Windows that are not used at startup are now dynamically allocated as they're needed, then deallocated when they're not needed. This allows the server to start up more quickly, and cuts the GDI overhead by 1/3. Eventually, the server GUI will be separate from the server core, so there will be almost no GDI overhead unless you're running the interface for monitoring and configuration.
Fixed problem with some telnet applications. In some cases, the login name would include garbage characters. These should be stripped out (they're telnet command sequences), but under certain circumstances they were not being handled properly. I believe this has been fixed.
TWGS will now detect Trade Wars sessions that have not terminated properly. If the server detects a dropped carrier, but the TW session for that connection does not terminate gracefully, it will force the session to close.
Change: Added ability for TWGS TW to recognize custom ANSI files when they are placed into an ANSI subdirectory off of the game's data directory. For example, if the game exists at c:\twgs\game\tw1, it will look first in c:\twgs\game\tw1\ansi, and if no file is there, it will use the common ANSI directory located at c:\twgs\game\ansi.Bug: Another file bug was detected that resulted in the occassional lost record commit. The file engine has been modified to solve this problem.
Towing has been locked down. Now, if a player is towing another player, and that other player begins to tow another player, the first player drops the tow. Also, if a player is towing another player and another player locks a tow on that player, the first player drops the tow. This was done to avoid any cross-towing.
Mail file: Improved mail system to handle larger games. The delete operation on a user with many messages was causing timeouts on other sessions accessing the mail file. The new method for processing deletes is very efficient and should solve this problem.
Density scan no longer includes Observer ships.
Ferrengi no longer attack Observer ships.
Fixed tow bug. When moving out of the sector of your tower, you cannot enter the destination sector until enemy fighters are destroyed.
Fixed bug that allowed a player to pick up figs or mines deployed by another player.
Fixed user record bug with shipyard. Before, any changes to a users record while that user was at the shipyard "buy ship" prompt would be thrown out as the user finished the transaction. This could include, for example, money transferred to the bank account of the user. User changes are no longer being thrown out after a shipyard transaction.
TWGS10124.EXE - February 16, 2000
TWGS Changes:
All past attempts at solving the extern scheduling problems have ended in failure because I have been focusing on the wrong problems. It seems that my code was fine, but the windows timer events were triggering when they weren't supposed to. This revision includes a replacement for windows timers, so extern SHOULD run as scheduled from now on. But I'm not making any promises ;)Even though the extern problem was OS specific (it seemed to be happening on some Win95 systems), I would like all gameops to install this revision so we can get a thorough test of the new scheduling mechanism.
TWGS10123.EXE - February 8, 2000
TWGS Changes:
Recent changes have improved the Extern problem. I have made further refinements to try to solve the problems of a) extern running too often and b) extern running not often enough.TWv3 Changes:Online registrations are now being taken. This is an intermediate phase until I can get my e-commerce up and running. I am using PayPal.com, an online money transfer service. The web page that describes this option is listed under the Info menu, Web option.
Added Copy to registration generator. Now, rather than sending a registration directly to a printer, you may have the registration cut to the clipboard. From there, it is convenient to paste the registration form into an email or other document.
Beta identifier. From now on, I will be including the beta number in the file name. I will also continue to provide the last few beta revisions from this site for your convenience.
A TriCron bug has been fixed. If a player times out or drops carrier during TriCron, the game will continue with random sequences until complete. The player may win or lose the game just as if he/she had played the game to completion manually. There is roughly a 50/50 chance of a win or a loss, so no advantage or disadvantage will result from a dropped carrier.January 28, 2000 Revision
It didn't take long to learn that the latest revision didn't fix the extern problem :(
This time I have replaced the Delphi timer component with my own timer
code so I'll know exactly what is happening when Extern runs. I have
also added a beta identifier to TWGS so you can tell for certain that you
have properly installed a new revision. I synchronized the TWGS beta
number with the TWv3 number, so they're both at .22 now.
January 27, 2000 Revision
Ugh! The EXTERN problem persists. In fact, they were worse
in the last revision because EXTERN would run too often rather than not
enough. I have gone back to the original approach, with a few changes.
This should at least put an end to the frequent EXTERN problem. It
may also bring back the problem with EXTERN not running as often as it
should. Please report this if it happens to you so I can keep working
on it.
December 29, 1999 Revision
TWv3.11.22 Revisions:
Bug: Players continue to be effected by other
players from the startup routines.
Fix: The ability to knock a player off of
StarDock has been removed.
Bug: NONPSERV shutdown was crashing before
completion. This may or may not have created a log entry in the error
log.
Fix: A pointer was being deallocated with
the wrong size. It has been fixed.
November 23, 1999 Revision
TWv3.11.21 Revisions:
Bug: Strange behavior resulting from an alien trying to recapture its homeworld.
Fix: The alien ID was not correct which caused records to become confused.Change: Optimized mail file to improve performance with very active games.
Bug: If a player locks onto another player and then that player cloaks, the attacker can still complete the attack.
Fix: Once the player is cloaked, it is the same as if the player moved out of the sector or landed on a planet or port before the attack was completed. A cloaked player is no longer "in the sector".Change: The towing procedure has been changed. Before, the towee was physically moved to the new sector at the same time as the tower. Now, the tower must clear the sector before the towee is moved. This may effect many strategies, but it is more suited to the intended use of towing. It is no longer possible to "leapfrog" a sector, for example, by moving on from a sector before the tower has cleared the fighters there.
November 14, 1999 Revision
Wow! Had a couple of great bug reports right after rev20 went out. These are VERY serious bugs that have been around since TWv3.09 at least, possibly earlier. It's good to have these fixed.
TWv3.11.20 Revisions:
Bug: It is possible for a player to enter a Citadel and remain overnight, then return to the game and begin to move around while the game believes he or she is still on a planet. This renders the player invulnerable to many things because a player on a planet cannot be interacted with at the sector level.November 13, 1999 Revision
Fix: When you remain overnight at the Citadel, the game is completely ended. For players who wish to view stats from the startup menu, they must simply reenter the game. This may be a minor inconvenience, but this is the only way to be sure that all end-game processing of a Citadel-parked
player is being completed.Bug: It is possible to alter the state of another player. For example, a player may cause another player to lose his/her cloaking device or exit the safety of his/her citadel. This has been a known problem for a long time, but the details of how to achieve this have been tightly guarded :(
Fix: The source of this bug has been removed.
I'm back! Sorry for the long delay. I had some other project come up that took all of my time. I will be less able to focus on TWGS/TW for at least another few months, but because of the stability of the server on the beta sites over the past three months I believe things are winding down. TWGS development will continue as many new features are planned and hopefully some new games will be added to the server, but Trade Wars development should be nearing completion.
TWGS Revisions:
Only cosmetic changes were made to TWGS. I have no solid leads on what may be causing the known problems, so I don't want to mess with it.TWv3.11.19 Revisions:
Bug: Dropping carrier while creating a planet will remove NavHaz but not create planet. This can be abused by players.August 19, 1999 Revision
Fix: The NavHaz is the last thing processed so it only removes the NavHaz when the planet has been committed.Bug: * display from startup menu displays info about a game. It should only display info that would normally be available to a player, but it was
displaying a few things that they shouldn't see. Fix: Confidential items are filtered from this list.Bug: After a player is killed, he/she starts the game the next day at midnight with 0 turns.
Fix: A player will be allowed back on the next day at midnight with one hour worth of turns.Bug: Many bugs have been reported of a record pointing to a different record than expected, for example, landing on a planet that doesn't show as the one you are landing on. Also, some reports of the game crashing are caused by the same bug.
Fix: A low-level bug in the indexing system was responsible for this. It was only showing up when internal aliens were moving so it was difficult to detect a pattern.Bug: Corp transfers and bank transfers were malfunctioning.
Fix: Both were caused by the same problem which has been resolved.Bug: Dropping carrier while placing fighters causes those fighters to turn rogue.
Fix: The prompt was not treated as an abort on a dropped carrier, so it would proceed with undefined values, in this case setting the fighter to owner 0. A dropped carrier is now treated just like a prompt abort which means nothing will be done as a result of the input.
This revision cleans up the changes made in the August 17 revision.
I received feedback very quickly about IO lockups with the new TWGS to
TW communications routines. I was able to duplicate the problems
and I isolated and fixed three coding errors that were causing the lockups.
The lockups are no longer occurring with my tests. Let me know if
you experience any further problems.
August 17, 1999 Revision
I've made another major change to the game server. Because of the problems experience by Eleq on his beta site, it became clear that TWGS was using too many sockets. A Win95/98 machine has a limitation on socket buffer space that seems to limit the total number of open sockets to about 100 on my machines. This limitation is specific to a winsock implementation, so the actual number on your machine may vary. Also, it seems to be a Win95/98 problem only. I was able to open all 100 nodes on a WinNT machine without running into this limitation.
The change I made has decreased the number of sockets needed for each
game session from 3 down to 1. I now use another form of communication
between the game and the server. I need to hear from beta testers
whether this new approach effects the efficiency of the server. Particularly
if you are running a large number of simultaneous nodes, please let me
know what difference this release makes.
August 5, 1999 Revision
Added node-specific commands to grid view, accessible by right-clicking a node. Commands are disconnect node, ban IP and spy.
Changed a winsock buffer setting in an attempt to solve the problems Eleq has been experiencing.
TWv3.11.16 Bug fixes:
Bug: Scripts that do frequent port or planet updates use too much
CPU.
Fix: Update Planet and Update Port procedures can not be called
more than once per second for a given planet or port. If a script
causes frequent calls to update planet and update port, a pause is used
to slow the updates to one per second. This delay was done with a
tight loop rather than an efficient wait. I have changed this behavior
so that ports and planets can be processed more than once per second, but
product will only be updated once every second.
Change: Gold aliens were leaving too many fighters in place of enemy fighters in hostile sectors. They had been leaving 10% of their fighters. They will now only leave fighters they have above 75% of their capacity, and no more than the number of fighters that were there to begin with. For example, if an alien can carry 100 figs, he will leave up to 25 figs. If the sector originally had 5 hostile fighters, then only a max of 5 will be left. The actual amount left will be random from 0 to this number.
Change: Gold aliens were not attacking quickly enough. I modified the way aliens enter and scan a sector. Before, an alien would move into a sector, then scan the sector on its next turn. The next turn could take up to 30 seconds. Now, the alien will always scan the sector 3 seconds after it enters. This means that a player will be detected and attacked in 3 seconds after he/she enters a sector with an alien or the alien enters the player's sector. This will also speed up the alien port trading.
Bug: Photons were not disabling a ship's interdictor.
Fix: A ship's interdictor will be disabled after a photon blast.
Bug: A player who is towing a ship to SD at the time extern runs
may have that ship taken away by extern.
Fix: A check is done to see if the owner of a ship is online
during extern. If the player is online and in the same sector, the
ship is not repossessed. The ownership must be personal because of
the difficulties in determining which player from a corporation is in a
sector with a ship.
Bug: Gold planets are not given the initial inventory as specified
in the Gold planet editor.
Fix: The inventory is initialized when a planet is created.
At this point I'm not sure if it's a Borland/Inprise problem or a Microsoft problem, but I think I have managed to locate all of the compiler/OS problems. In the past 4 months I have been trying to overcome problems with program instability and resource consumption. I recently traced the instability problem to the use of a standard Microsoft DLL function for thread management, and just yesterday I traced the memory consumption problem to a bug with the standard Delphi getmem memory allocation function. I even wrote simple test programs apart from TWGS to study the problems and it is clear that these bugs are not brought about by coding errors. I have brought them to the attention of the Delphi development team and they have acknowledged that they exist. I wish I had known this six months ago!
The good news is that a conversion of TWGS/TW2002 to Delphi 4 has solved the memory consumption problem. And since my earlier efforts already solved the instability problem (which was still a problem with Delphi 4, unfortunately), things are looking better.
This revision was a major conversion from Delphi 2 to Delphi 4 code,
so I'm sure there will be some bumps. I have done some testing that
has been promising. Please let me know how it works for you.
I think we're finally nearing the end of this journey ;)
August 1, 1999 Revision
I made a TWGS breakthrough this weekend. I discovered the major source of the TWGS instabilities many of you have been experiencing. It was a Microsoft DLL function call. I removed that call and immediately TWGS was behaving perfectly. I just finished a 250,000 connection stress test that resulted in 0 crashes and 0 resource loss.
New: Added a "banned" IP list to let gameops lock out certain IP addresses.
TWv3.11.14 revisions:
Bug: The game locks up when a player generates a new planet either
at startup or with a GenTorp.
Fix: The upgrade from v3.11.12 to v3.11.13 didn't include an
upgrade to the Gold planet description records even though they changed.
As a result, none of the planets were set for General Deployment.
The v3.11.14 upgrade will set all of the standard planets to General deployment,
but you must go into the Gold Planet Editor, Miscellaneous tab and set
the General Deployment flag yourself for custom planets.
July 26, 1999 Revision
The main addition to this revision is the Gold alien homeworld management AI. Your Gold aliens will behave quite differently now, so keep an eye on them.
Bug: Extern isn't running consistently.
Fix: Located the source of this problem and it should continue
to run daily now.
TWv3.11.13 bug fixes:
Bug: Game and editors have been staying in memory after being
closed.
Fix: I've made an attempt to solve this problem. I have
not been able to duplicate it here, but I found some possible causes and
fixed them.
Bug: During cleanup after an abnormal program termination, an
error has been occurring while attempting to free strings that were not
properly deallocated. This resulted in an error within the halt routine.
Fix: The strings are now properly handled during abnormal program
termination.
Bug: A player who is killed while on planet could start the next
game on a planet. A killed player should start in sector 1, not on
a planet.
Fix: A player who has been killed will not start on a planet.
Bug: When selling a ship at SD while that ship is in tow, or when
buying a new ship at SD while towing another ship, the tow remains active
even after the ship in tow or your ship is gone.
Fix: If you try to sell your ship, the tractor beam is deactivated.
If you try to sell the unoccupied ship you're towing, the tractor beam
is deactivated.
Bug: Players sometimes surrender their ship when faced with sector
fighters by pressing the S for surrender by accident.
Fix: The S option is no longer offered unless your ship has 0
figs.
Bug: The Minimum Rank setting for Gold Imperial ships is not enforced
in the shipyards.
Fix: You now must have both an Imperial commission AND the required
rank to purchase and fly a ship with a minimum rank value.
Bug: Bank balance sometimes became a decimal, causing the value
to be reported as 1 less than it actually is (truncated). This is
also the cause of the occasional loss of bank deposits and transfers.
Fix: Bank balance is always maintained as a whole number.
Credits are truncated so a transaction can never exceed the maximum for
the bank or credit field.
Bug: The alignment modifier for not attacking another player has
never worked as it should.
Fix: Removed this behavior. There will never be an alignment
shift for not attacking an enemy or friend.
Bug: NavHaz can be created in Sector 1.
Fix: NavHaz cannot be created in Sector 1 or StarDock Sector.
Change: Combat aln/exp rewards and penalties have been modified. The amount of alignment or experience given to a player during combat has been changed to match that of the more simple MBBS version.
Change: Extern evicted players from FedSpace BEFORE clearing the major space lanes. This resulted in some players NOT being evicted because the lanes from FedSpace were not clear. Now, MSLs are cleared FIRST, then the players are evicted. This greatly improves the chances that extern will find a sector with a clear path to FedSpace.
Bug: Photons in an unlimited turn game have no effect on players.
Fix: Photons now disable a player for the remainder of the hour.
Also, a player will only regenerate turns starting from the hour of the
photon blast, not for the entire time the player has been offline.
This means that a player who was offline for two days won't regenerate
turns for that entire time, but will instead only regenerate turns since
the time of the photon blast.
Bug: Maximum colonists on Terra is limited by the maximum fuel
inventory for the planet type (default 100,000 colonists for a class M
planet).
Fix: TEDIT General Editor Three now has a field for Max Terra
Colonist that defaults to 100,000 and can range from 10,000 up to 100,000,000.
NOTE that during a data upgrade from a version prior to TWv3.11.13, this max is set to the default 100,000 colonists. Terra will be able to contain more colonists if it currently has more than 100,000, but as those colonists are removed they will not be replace until the number is under 100,000. You should go into TEDIT and set your max Terra colos to the desired cap soon after upgrading to TWv3.11.13.
Change: Added Max Port Production setting to TEDIT General Editor Three. This setting is still enforced at 37760 for MBBS mode, but can be modified from 10000 to the default 65530 for non-MBBS mode games.
Change: Added Combat Penalty Mode setting to TEDIT General Editor Three. This setting sets the mode for applying alignment penalties for combat. The default mode is the standard TWv3 mode. This penalizes any player for attacking any other player of like-alignment, or the fighters or ships of players with like-alignment. The new MBBS mode only penalizes players for attacking like-aligned players or good players for attacking good player's personal fighters.
Change: The abort display feature now works for either ALL KEYS or SPACE. The ENTER key is no longer used to abort displays. This key is often accidentally pressed causing the output to be aborted.
New: Added Aggressive flag for Gold aliens. Aggressive aliens will automatically attack a player on sight when entering a sector or when the player enters the alien's current sector. They will also move into sectors occupied by fighters and engage them in combat. The Aggressive flag is not set by default for Gold Alien Traders but it is for Gold Ferrengi.
New: Gold aliens are now effected by mines, fighters and NavHaz when entering a sector. Only Aggressive aliens will enter sectors with fighters, mines or NavHaz. Other aliens will avoid these hazardous sectors.
New: Added Avoid FedSpace flag for Gold aliens. Aliens who avoid FedSpace will be spawned into non-FedSpace sectors, and will attempt to move only to sectors outside of FedSpace. Only when retreating from an attack will these aliens venture into FedSpace.
Bug: In earlier versions of TW and the MBBS version, sending a
single fighter to attack a ship that has no shields or fighters always
resulted in a capture. Changes in the TWv3 combat routine introduced
the small probability that the ship would be destroyed rather than captured.
Fix: I have modified the combat routines to allow for this guaranteed
capture.
New: Updated Gold Alien description records to include the grudge list. In the past, this list was thrown out when the alien server went offline. It is now stored in the alien database so it will persist throughout the life of the alien race.
New: Updated Gold Alien description records to include a home sector for the race. A new flag in the Gold alien editor specifies if a race will maintain a home sector. If a home sector is used by the race, all new aliens will be spawned in that sector. The location of the sector is random, but not in FedSpace.
New: Added ability for Gold aliens to trade at ports, trade port pairs, and rob and steal from ports. These behaviors are configurable from the TEDIT Gold Alien Editor.
New: Gave Gold aliens the ability to purchase Holds, Fighters and Shields at class 0 ports with the credits they earn from trading.
New: Added ability for aliens to manage their homeworlds, including Citadel building. If a homeworld is captured by a player, the aliens will fight to recapture it. If it is moved, they will attempt to move it back to their home sector. A homeworld cannot be destroyed by Atomic Detonator.
Change: The Ferrengi ship spawning timeline was to restrictive. I changed the settings to allow the stronger Ferrengi ships to appear earlier in a game.
Change: Gold aliens included a list of specific planet types and could be tied to planets deployed by a specified race like ships. This has been simplified to only allow an alien race to be linked to one planet type. Races may only maintain one homeworld, and that homeworld type is specified directly in the Gold Alien Editor under Resources. You may also provide the name of the planet. Also, planets may only be deployed as General and Manual since deployment by race is no longer necessary.
Bug: A low-level file processing bug was resulting in the loss
of changes to some fields in a record in an inconsistent manner.
This bug has been causing very subtle, difficult to duplicate problems
and long-term data corruption.
Fix: The problem has been removed.
Bug: A flaw in the data synchronization mechanism has been resulting
in less than perfect communication between sessions. The result can
be one game changing a data record without notifying another game, then
the other game overwriting the changes. This was also a cause of
long-term data corruption.
Fix: A new synchronization method has been written to improve
this situation.
Note: Many other changes were made during this month-long revision.
Many were low-level and difficult to describe in a revision document.
The demo mode has been changed. Instead of allowing 1 remote node and 200 connections, TWGS will now allow an unlimited number of connections, but limit the remote TW2002 and TEDIT sessions to 3 minutes per connection. TWCC connections are not limited.
TWv3.11.12 bug fixes:
New: Added Gold Import/Export option. Using this feature, you can save your Gold classes to file and distribute them to other gameops, or use them for archival purposes.
Bug: Dropping carrier while creating a planet with a Genesis Torp
could result in a planet record that is not completely initialized.
Fix: At the end of the Genesis routine, if a dropped carrier
condition exists, the planet is disabled.
Bug: When entering the Transporter, if a key is pressed while
the ship list is being built, it will abort the display. Since a
count of player ships is made as a side-effect of the ship list display,
aborting the list before a ship is found causes the transporter to think
you have no ships.
Fix: The display is not sent, but the list is still built.
The transporter will know that you have a ship and will allow you to transport.
Bug: When towing another player, the tower is not able to port.
Fix: The tower is now able to port, but the towee is not.
The tower is still not able to land.
Bug: When a player is killed, the turns are not taken away.
Fix: Turns are now set to zero, then regenerated from midnight
of the first day the user is allowed back in.
Bug: When a player is killed, there's a 50% chance that any cluster
of figs will turn rogue.
Fix: This behavior has been removed. The only way figs
will go rogue is if a player is deleted for inactivity or a CEO disolves
a corporation.
Bug: Since the Gold alien servers run 24/7, when an alien is caught
by a player's PIG or IC, the alien can generate a very large number of
messages to the users email. This is not only annoying to the player,
but can make the mail file unstable.
Fix: A captured alien will only send a message the first time
it attempts to move and is held by a PIG or IC. After that and until
it breaks free, no more messages will be posted.
Bug: Can't enter Citadel even though the display says that the
Citadel is complete. Also, new citadel features aren't available
even though the upgrade is complete.
Fix: The planet record wasn't being updated before checking for
citadel completion. This should work now.
Bug: Strange responses from a port when doing a planetary trade
agreement.
Fix: This bug has been around since early v2. Gary liked
to use global variables, and a few old variables that were no longer being
used were being read in the ptrade routine with undefined results.
I hate globals!
Bug: TWar and some other helpers can't read CIM info.
Fix: Some null characters were being sent in the CIM output.
These nulls are no longer sent.
Bug: CIM S and C would crash the game if no sector or an invalid
sector was entered.
Fix: The CIM now reports if the sector is out of range.
Bug: If a dropped carrier occurs while in TEDIT Gold editors,
the tedit session would remain active in memory instead of shutting down.
Fix: TEDIT Gold editors now close if the connection is lost.
This could mean lost changes if a Gold record has not been committed.
I have put a warning into the Command Center shell to help avoid this happening.
Fixed a problem with socket close timeouts. Sockets that fail to close gracefully will now timeout and be properly disposed of.
Fixed a problem with the menu display file becoming locked. When the file was left in a locked state, players would no longer receive the ansi menu, and a message was posted to the error log. Now the server should not leave the file locked even if the socket is closed during the menu display.
Observers may now rebuild StarDock by attempting to port in SD sector when the port has been either replaced by another port or destroyed. Just start to port and you will be prompted to rebuild.
After destroying a planet, the player is no longer sent to the startup menu if he/she was only podded.
CIM segmentation is working again. A change I made to optimize non-ansi display caused the CIM to send in one large block rather than sending several small blocks with a 1 second pause between each.
I fixed the TEDIT procedures for moving StarDock, Class 0 ports, and Ferrengal so they now update the indexes as well as the file records. This fix will take care of the problems with phantom class 0 ports and the inventory 5 SSS ports.
Fixed multiple other TEDIT index problems. I believe that TEDIT has been responsible for most of the data corruption that gameops encounter.
Pressing enter at the main command prompt will display the sector. This behavior is more consistent with the MBBS behavior.
Bigbang port placement was creating one no-name class 0 port for every
port class category. This, along with the TEDIT problem, should account
for the appearance of these phantom class 0 ports.
In an attempt to overcome the periodic TWGS lockups, I rewrote the core
TWGS sockets handling code. This revision is significantly different
from earlier revisions, so I need some substantial testing over the next
few days to determine if it's as stable as the previous revisions and if
it has solved the instabilities.
TWv3.11.07 bug fixes:
TWv3.11.06 bug fixes:
Internal Alien and Ferrengi visibility bug. Under certain circumstances, it was possible to have more Alien and Ferrengi in the game than the game would expect given the game age. This is obviously true in the case when the game age is rolled back by the gameop. I have fixed the way TW looks for aliens so that it can process aliens beyond the expected number.
Internal Ferrengi will no longer attack a player in retaliation for being attacked if the Ferrengi is destroyed during the attack.
In TEDIT, when changing the type of a port, the variance and inventory are also changed to match the port type. Variance should be negative for buy ports and positive for sell ports. Capacity should be max at inventory 0 for buy ports and 0 at inventory 0 for sell ports.
Fixed a problem with 32 bit TW apps detecting a dropped carrier. This has resulted in games being left running in the background after a user drops carrier. With bigbang, this resulted in locked files that kept other sessions from running.
May 26, 1999
I didn't fix any major bugs, but I did add some things that should improve the efficiency of the beta testing.
TW now reports the beta revision in the error log. Each AbEnd will indicate the version and revision so I can tell which errors match up to which compile.
I added a debug menu to the Command Center. You can use this menu to save a debug file. Select a game from the Command Center, then choose "Save Debug File" from the debug menu. You will be asked to specify a file name and location and TWGS will pack several files together into a .DBG file. When you have errors appearing in your error log, you can package up the game, compress and send that file to me so I can do more thorough testing.
I added the ability to shut down one instance of TWGS by running another instance with the parameter RESTART. This is useful as an automated way to restart TWGS.
The installation program now searches for an active TWGS and closes
it before proceeding. I have had a few reports of people who messed
up their installations because they forgot TWGS was running on the system
tray.
May 24, 1999
Bugs fixed:
Game crash when displaying user list or destroying players. I'm not 100% sure I fixed this problem since I couldn't reproduce it. I believe it's something related to the data. I found some potential problem areas and made some changes. Hopefully this bug will disappear.
Some error reports were generated with a segmented address (Seg:Ofs).
This is left over from the 16 bit code and the address is udefined.
I've fixed that code so it generates a flat 32 bit address.
I've fixed a few bugs that have been reported since the first 32 bit version went out. I've also compiled this version with some debug code to help isolate problems. This is likely to make the game more likely to crash initially, but I should be able to clear up these problems quickly. In the past these bugs have typically caused data corruption even if they did not crash the game. With the debug code, they should now cause TW to generate an error report and halt. That's the only way I'm going to be able to locate them.
Bugs fixed:
Aliens with grudges no longer attack when they don't have any fighters.
You can now place ships in the game using the "initialize ship" option in TEDIT, Ship Editor.
I've shaken things up quite a bit this time. I managed to compile TW2002, TEDIT, EXTERN, BIGBANG and NONPSERV under 32 bit Delphi. Many of the problems that have plagued TWGS because of the 16 bit TW code will disappear. There will be other problems resulting from the transition from 16 to 32 bit and I look forward to the feedback from the testers on this.
Aside from the obvious performance benefits, the following result from this change:
There is no longer a "Run in separate VM" option for either game or alien server sessions.
Command Center runs a program called TWShell that connects to the game, editor, bigbang or extern via TCP/IP and runs in a windows GUI. Previous versions ran a 16 bit DOS version in a console.
| Machine Type: | Pentium 120 |
| OS: | WinNT |
| Memory: | 64 Meg |
| Active Nodes: | 25 nodes |
| Activity on nodes | Display menu every 2 seconds |
| CPU usage (ave/second) | ~50% |
| Size of game | 1000 sectors |
| Ave virtual mem/session | 828K |
| Ave physical mem/session | 672K |
| Ave system handles/session | 61 |
| Threads per session | 3 |
| Notes: | With 25 moderately active nodes running on my P120/WinNT machine, the
response was very fast. My 64 meg machine had about 130 meg virtual
memory available at the start, so the 828K/session wasn't a problem.
The 672K/session physical memory usage is more of an issue, especially
with larger games like 20K sectors where this can grow quite a bit.
When I started the server, I had 40 meg physical mem available and after
all 25 sessions were active I had 20 meg left. I will report on 20K
sector game statistics soon.
These stats included both TWGS and TW2002 resource usage. BTW, this 25 node game was running under WinNT workstation, so the 10 node limit doesn't seem to be enforced (using NT4, SP3). |
May 2, 1999
I fixed the TWGS double-session problem under NT. TWGS can't be run twice under NT now.
I fixed the bug that caused TWGS to not run the editors, extern and to exhibit other strange behavior intermittently.
The port landing bug that I fixed in revision #2 of the 29th was not the only thing causing the sector 0 problems. I have done a more thorough examination of this problem (introduced by the solution to the "moving cloaked" bug) and I believe I have worked it out.
I fixed the problem with user names being passed to the game.
TWGS can't be run twice now. Clicking on the TWGS icon when it's
already active will just bring the active server into focus.
April 29
I addressed a group of serious TW bugs.
I fixed several causes of the "moving cloak" bug. Hopefully that will go away now.
I fixed a bug that resulted in incorrect port displays.
I made major progress with this revision. I spent the last week doing stress-testing and was able to locate several problems with the previous beta releases. Here's a description of the final test run conducted before this upload:
| Machine Type: | Pentium 120 |
| OS: | Win95 |
| Memory: | 64 Meg |
| Run time: | 10 hours |
| Active Nodes: | 16 nodes |
| Ave Time of Connection: | 30 seconds |
| Total Connections Logged: | 18,526 connections |
| Ave Game to Client CPS: | 28,460 Char/Second |
| Notes: | Test consisted of 16 robots connecting via LAN to TWGS running on a Pentium 120 with 64 Meg under Win95. The robot connections went directly into the game. Their only duty was to display the main menu 20 times (pausing a second between each), then exit. The typical time of a connection was around 30 seconds, so nearly 20,000 connections were processed. This was intended to be a stress-test of TWGS, not TW itself, so other game functions were not tested. |
The game server was stable during the entire test run.
The second window is the Node Grid view. This provides an overview of the game server activity.
The third window is the server statistics view. I moved this to its own window because it was difficult to track stats in the main log window with event messages scrolling by. I will eventually replace this text window with a nicer display.
I added the remote admin password for the new admin features. I also fixed the admin IP list since it hasn't worked until now.
Game and Admin IP List "Local Only" Box:
I changed the Spy Window node list to include the game that the user is playing
Added ? icon for help:
Players can display these files by using the new <!> command to toggle into a description mode. Pressing a game letter in this mode displays the associated file. Pressing <!> again returns to game start mode where pressing a letter starts a game session.
NOTE: