-----------------------------------------------------------------------------
Version 1.00 Build 461 Changes:
-------------------------------
- Handle SmartHeap exception so a dialog box does not appear
- Rework GameSpyConnection logic to safely close down
- Protect callbacks from being deleted while in use.
- Improve performance of callback protection (aka The Movement issue during testing)
- Introduce new external LogViewer system to improve Server performance.
- Upgraded to SmartHeap 6.02
- Removed unused variables in AI.gf, Ship.gf, Character.gf
- Adjusted load conditions (reduced)
- Max ships in review by empire increased (for bidding)
- Officer population is now a ratio of the humans, not of ALL characters (previously way too many officers)
- Broadcast option on the server (#4), message will go out to all people online
- Option added to server (Database.gf:[FileDB]/AutoSaveDateTimeStampedRate).  If set to a value > 0, this controls the rate at which AutoSaves are instead saved to a directory named with the current date/time.  This allows AutoSaves to be automatically set aside, just in case.  They are in the format "/YYYY-MM-DD_HHMM", for example: "/2002-12-25_0800".  Default rate is once per hour.

- When a player logs off, they now have their "in tactical" flag cleared.  This had previously caused players to be "stuck" on the server, unable to move.

- If leader is attacked while moving to the next hex, but before the members are moved with the leader - the battle still commences with all members.  Likewise, if a fleet member is attacked in this case - battle still occurs with all.

- Simulated AI battles (those without humans) now have a 5% effect (vs. former 20%)


-----------------------------------------------------------------------------
Version 1.00 Build 464 Changes:
-------------------------------
- Decreased odds of BattleShip's appearing
- AI no longer replenish stores no matter what hex they are in (now only in friendly base hex)
- AI now attempt to repair their hulls whenever they pass through a friendly starbase/planet hex.
- Internal handling of engagements more memory efficient
- Info messages are now more clear as to creating fresh engagement and adding to engagement (with ID)
- Player going offline (also death) is now handled more correctly (one engagement)
- Under high loads, an engagement could be advanced more than once, with unknown results (major bug)
- Simulated AI battles are dismissed if they become invalid (defender died, etc.) while waiting to be simulated.
- Borg now repair their hulls as soon as they report a battle
- When server starts up, it looks at both "Auto Save" and "Exit Save" and uses the latest.  It also indicates
  what it is doing, so you will know if it's a fresh database start.


-----------------------------------------------------------------------------
Version 1.01 Beta Build 484 Changes:
------------------------------------
- Server will handle and correct a "CD Key In Use" error if it occurs and the player lost the key legitimately (server crash, etc.)

- Option added to server (MissionMatching.gf:[ForfeitModifiers]/DeathIfFailedToJoin), if set - player will suffer a battle death if fail to return to the server after a battle (Alt-F4, crash, loss of net connection, etc.)

- Option added to server (Economy.gf:[Auction/Ship]/CanBenefitFromDowngradingShip), if set - player will gain prestige when they trade in their ship for a lower valued ship.

- Updated to GameSpy's latest SDKs (12/12/2002).

- When someone joins or leaves a fleet, every human in the hex is notified and has their view refreshed

- If a player chooses a mission such as scan, that does not involve others, they are protected from being attacked while in the mission.  This prevents a cheat where players were being auto-forfeited while in battle and suffering a loss of prestige.

- Rank is now advancing once again.

- A German player can log onto any server and see only German messages from the server, while English players will see English.  Of course chat remains in whatever language they are speaking.  The language of the player is noted when they create a player on the server.  All information sent to that player will then be in their language.

- Fixed: Server option MaxAIsPerEmpire was creating AIs for empires that didn't exist.

- Added server security support for ItemRules.gf

- Option added to server (MissionMatching.gf:[Fleet]/LeaderCannotBeLowerClassThanMember), if set - no one can join a fleet if they are a higher ship class than the leader, except everyone can join a freighter.

- Info Server now updates GameSpy every 10 seconds, instead of every second.

- OSVersion9x.dll's are now removed!

- Improved internal thread synchronization resource usage.

- AutoSave rate changed to 5 (every 10 minutes).

- Option added to server (Database.gf:[FileDB]/BackupPath), if set - special date/time backups are saved in a separate directory for easier maintenance.

- Database saves that are created in other directories can now be copied into the root of /Saves and still work.

- We now report "numplayers" to GameSpy as the # of logged on players.

- Economy server can now run at a different rate than every turn, because the closing of bids is now run on the Database server turn (always every turn).  Economy server turn rate reduced to every 5 turns.

- Changed HailMission's listings under MissionMatching.gf to support a LIST of missions for each type, instead of only one.  This allows modders to add as many special scripts as they would like.  The system randomly picks from these lists, so you can increase the odds of a particular version by increasing the # of times it's in a list.  For eample, if someone creates a bunch of variations on the Meta_Hail_Planet mission, they would all be listed under [HailMissions/HailPlanetMissionTitles].

- Option added to server (MissionMatching.gf:[Fleet/Maximum]).  This list controls the maximum # of a given ship class in fleets.  There can only be one Dreadnought class ship in a fleet, for example.  Or only 2 HeavyCruiser's.

- Officer progression rate in multiplayer reduced by 80%.  This is controlled externally now in (Score.gf:[LevelUp] and [SpecializedLevelUp]).

- Option added to server (Score.gf:[Misc]/ChargeToDisreputeRate).  This controls how much to charge to a player's disrepute if they are charged for a new ship when they die.  The algorithm is a bit complex, so bear with me.  It's primary purpose is to lessen the sting of dying in battle, but prevent cheating by stripping a ship and then purposefully dying in battle.  When a player dies and the server is set to charge them for their replacement ship (Score.gf:[Misc]/ChargeForReplacementShip), the server calculates the trade-in value of their new replacement ship.  This amount is to be charged to the player.  ChargeToDisreputeRate is the percentage to charge to disrepute instead of prestige.  The remainder is charged to prestige.  If the player has disrepute already, the system will charge disrepute only up to the amount that was to be charged to disrepute and the remainder will then go to prestige.  An example:
	a) Player dies and is charged 10000 prestige for their new ship.
	b) ChargeToDisreputeRate is set to 80%, so 8000 goes to disrepute and 2000 to prestige.
	c) Player already has 5000 disrepute.  So they are charged 3000 more disrepute, with the extra 5000 going back to prestige.
	d) Player is then charged 7000 prestige.  If they did not have disrepute already, it would have been 8000 to disrepute and 2000 charged to prestige.

- Whenever prestige or disrepute changes, player has their prestige/disrepute refreshed.

- Server informs administrator when it is "AutoSaving".

- When a player wins a bid for a ship, their old ship is destroyed.

- Under SQL, support added to ban player based on their GameSpy name or their IP address, checked when they create a player or log on.

- Corrected OLD bug that was not refreshing the players view of the map correctly.  Planets should visually change their race on the map as well.

- When a server starts up, it reviews valid Save directories and loads the latest version and announces which one it loads.

- Fixed: List of dynaverse servers was not matching up with descriptions/etc.

- Removed more unused variables from various server GF files.

- When a character logs off, it should always release the CD Key.


-----------------------------------------------------------------------------
Version 1.01 Beta Build 487 Changes:
------------------------------------
- Updated Refit Utility (no longer needs OSVersion*.dll's)
- Internal core tech (singletons) made more threadsafe, used pervasively in the codebase.
- Fixed error in special shutdown code
- Disrepute payback rate set to 500% (it's a GF in character.gf)
- Options added to server (MissionMatching.gf:[ForfeitModifiers]/*):
	DisreputeIfFailedToJoin = 1
		// (0)		1= Treat "failure to join battle with other humans" or "disconnect before reporting battle results" as a loss of disrepute, 0=Ignore this option

	DisreputeLostOnFailedToJoin = 1000
		// (1000)	Amount of disrepute to charge the player if they fail to join or disconnect early.

	MoveToFriendlyBaseIfFailedToJoin = 1
		// (1)		(NOTE: ignored, unless DisreputeIfFailedToJoin=1)	1=Move player to nearest friendly starbase/planet as well, 0=leave them in the hex

	LoseStarbaseIfFailedToJoin = 0
		// (0)		(NOTE: ignored, unless DisreputeIfFailedToJoin=1)	1=Player loses their starbase seed as well, 0=Nothing happens to their starbase seed


	These are in addition to the other "IfFailedToJoin" options.  The server will blindly follow any that are set, so be careful not to combine them - or at least do so intentionally.  These options give the admin more flexibility when dealing with this potential cheat (which can also be a legitimate failure to connect, loss of internet connection, etc.).


-----------------------------------------------------------------------------
Version 1.01 Beta Build 490 Changes:
------------------------------------
- SQL Alpha Test.  See "How to Install and Start a Server" for more details.


-----------------------------------------------------------------------------
Version 1.01 Beta Build 493 Changes:
------------------------------------
- MySQL support added, with installation instructions

- Many changes to support MySQL (despite the glorious promises of ODBC, things are ALWAYS different)

- Cleaned up shutdown of SQL

- Some internal routines to SQL made threadsafe.

- Faster SQL lock support.

- MS-SQL and MySQL should not be supported, ready for Beta Testing of SQL

- If using multiplier on DisreputePaybackRate, math needed correcting, otherwise prestige would be lost when disrepute was paid off.

- If current goal DNE for character, now removes this goal ID so that the character can continue.


-----------------------------------------------------------------------------
Version 1.01 Beta 2 Build 496 Changes:
--------------------------------------
- Log when adding a starbase/etc.

- The prestige award for gaining a ship now applies to prestige (previously it only affected lifetime prestige)


-----------------------------------------------------------------------------
Version 1.01 Beta 2 Build 504 Changes:
--------------------------------------
- SQL "too many connections" bug is fixed

- Ship refit causes a charged ship repair

- TransferFromFlat option removed
