======================================
          Server Query BETA
              v1.92.16
          24 July, 2001

     http://www.serverquery.com/
     Email: nathan@ausgamers.com
======================================

SUPPORTED GAMES: Quake2, Kingpin, Quake3 Arena, Sin, Half-Life, Soldier Of Fortune, Daikatana, QuakeWorld, Unreal, Unreal Tournament, Gore, Tribes, Tribes2
LIMITED SUPPORT: Quake



==RELEASE NOTES==

This release simply fixes a few bugs and adds a few "nice" features to the interface.  Nothing major has changed since the previous release.


A full list of changes since 1.92.15 is given below.  If you are experiencing crashes on your machine and are able to reproduce it, PLEASE LET ME KNOW!  My email address is at the top of this document.

Main changes: 
- Better DNS code
- UI updates
- Smaller download



==THANKS==

- My dedicated group of BETA TESTERS
- Anyone who's ever sent in a bug report
- Everyone who uses this thing, if it weren't for you guys I would have given up long ago *g*
- AusGamers, for web hosting



==KNOWN BUGS==

- Changing the server name via 'Properties' works sporadically
- The 'mouse wheel' code to change servers doesn't work on all PCs



==TO DO==

- Button bar for commonly used actions
- Query multiple servers (?)
- eliminate 'maxhashes', ie allow infinite (up to total memory avail) hashes
- Drag and drop servers and lists
- Implement option to allow mouse wheel to not collapse lists
- 'Refresh' of LAN list permanently removes all servers
- Re-add "buddy" search
- Player profiles
- Cmd line paramaters on a per-server basis
- Move servers up/down (makes no sense any more)
- Options on the SQ system tray icon (open, close, connect?)
- Allow import of QSTAT files (ie locally, not via http)
- RCON window 
- Baldurs Gate 2 support (??)
- Select games to show
- Linux port
- switching to hlds when in sublist lan mode causes a lockup when switch back
- 'Delete' key to delete servers
- 'Group by Gametype' doesn't work for QStat/WireView lists
- Multiple 'games' associated with single game type (eg Half-Life, CS Retail)

Suggestions? Email me.



==CHANGES==
19215 -> 19216
- Option to play audio alert when waiting for free spot on server
- Improved DNS performance
- When pinging entire list, will try a server up to three times instead of just once
- Add Server dialog box now can add multiple servers from one invocation
- Add Server dialog box "remembers" last used game type
- Fixed "Delete List" causes SQ to crash
- Removed "Quake3 1.17/1.27" distinction
- Added "IP" to server info pane
- Switched DLLs to use MSVCRT for functions; significantly reduced file sizes

19214 -> 19215
- Fixed incorrect connection string for Quake2, QW (possibly others)
- Fixed about window
- Increased receive-buffer size
- SQ now adds "[x/y players]" to server description string
- Fixed Tribes2 reading too far into buffer due to malformed packets

19213 -> 19214
- Tribes2 support

19212 -> 19213
- Added 'WireView' serverlist support (as used by Wireplay)
- Unreal DLL can now switch automatically to Rune gametype

19211 -> 19212
- Added more options to 'refresh/timeout' selections in configuration dialog
- Added separate internet/lan refresh/timeout settings
- Fixed: LAN sublists being saved to default.sq
- SQ now defaults to opening 'Favourites' list at startup (or 'LAN' if no net connection)

19210 -> 19211
- HTTP code now always requests new data (get around bad proxies)
- Added Q3 OSP team support
- Added option to not display 'All Servers' in dual-pane

19209 -> 19210
- Fixed single-pane interface position
- 'All Servers' are no longer shown in single-pane
- Removed necessary restart when switching interfaces
- Cleaned up general configuration screen
- Added Gore Test support

19208 -> 19209
- Added 'Extra Info' option to general configuration (turn on extra server variables)
- Added Quake2 L-fire team cvars support
- Re-added general 'extra' variables (fraglimit, timelimit, capturelimit)

19207 -> 19208
- Fixed systray icon disappearing
- Added Q3F team listing support

19206 -> 19207
- Fixed crash bug in recv_packet thread
- Fixed crash bug in tribes dll

19205 -> 19206
- Added second thread for receiving status packets
- Pings now use a higher-resolution timer when available

19204 -> 19205
- Added Rune support
- Fixed Unreal-engine support on LAN
- Fixed Unreal connection method (SQ now accepts path to Unreal-based games)
- Implemented different method of tracking servers (to allow for filtering)
- (Properly) fixed website links
- Implemented full server-listing, off the 'Servers' root list
- Added status bar
- Added progress bar for use whilst pinging servers
- Separate support for 1.17 and 1.27 based Quake3 servers
- Quake3: Fortress servers now display team scores
- On missing game, after configuring path Query will attempt to connect to server again

19203 -> 19204
- Fixed System Tray icon preventing SQ from saving window positions
- Fixed System Tray icon not disappearing when Systray configuration changed from on to off
- Added version info for 1.17,1.27 to quake3.dll

19202 -> 19203
- Fixed crash bug in PingAllServers() 
- Fixed bug linking 'Update hostnames' to the (now defunct) 'PingAllServers' feature
- Fixed 'Asterisk' button not linking to SQ website under Win2000
- (hopefully) fixed 'lagged DNS' problem (thanks: Slydog)
- Fixed inaccurate 'first ping' after changing the selected server


19201 -> 19202
- Added 'sleep' command to ResolveName() function; should help Win9x users
- Fixed Server Properties window  not working

19200 -> 19201
- Added 'Favourites' folder; with hooks to directly cut&paste into it
- Added 'Update Hostnames' option; if enabled, the names displayed in the server list will automatically update to reflect the 'real' name of the server

19298 -> 19200
- Added 'theoretical' support for multiple parent lists
- A pop up box now appears during the first DNS query; if the 'Cancel' button on this box is clicked or five seconds expires, subsequent domainname lookups will automatically fail
- Right-clicking a server no longer causes the parent list to redraw/resort
- Due to new DNS code, disabled the "disable name resolution on crash" code
- Added grey icon for 16 color display
- Removed 'View DM Flags' from server menu (replaced with a separator)
- SQ Chat feature removed

19197 -> 19198
- Added 'Copy IP' to server context menu (similar to 'Copy Desc')
- Added 'Average Ping' column
- Fixed Unreal/UT support for non-standard ports and LAN servers
- Fixed incorrect detection of shift key setting (to disable DNS)
- Fixed GameSpy master code to support QuakeWorld

19196 -> 19197
- Fixed bug in netcode that was preventing http proxy from working correctly 
- Fixed 'ghost' QuakeWorld server at start up
- Holding 'shift' down at start up will disable DNS
- LAN servers change hostnames automatically
- Added /NET command line switch to force DNS
- Fixed possible crash bug in PingAllServers()

19195 -> 19196
- Fixed servers in dual-pane not updating their names (w00t!)
- Size of table entries is now variable (used to be fixed to 288 bytes - 32key/256value - new default 16key/16value)
- Changed servers to use tables for player storage
- Added (untested) HTTP proxy support (to go through web firewalls)
- Began clean up of UI code
- Fixed incorrect HTTP 1.1 code

19194 -> 19195
- gspymaster.dll now pings servers after refreshing in dual-pane mode

19193 -> 19194
- Removed 'Show Advanced Server Info' option from Configure menu
- ListView column widths are now saved/restored
- Fixed list-refresh bug in dual pane view
- In dual pane, clicking on 'Server Name', 'Ping', 'Players' or 'Map' will sort the server list accordingly
- Prevented 'TVN_SELCHANGED' from firing during shutdown process (giving a speed increase during shutdown, esp with large numbers of lists)
- halflife.dll now correctly uses "+password" instead of "+set password"

19192 -> 19193
- Added Daikatana demo support to quake2.dll
- Limited each server to only send a packet once every 100ms; this seems to prevent the lock up/UI 'lag outs' I was experiencing (debugging seemed to indicate that the socket status was switching to 'not writable', causing a lag/lock up on the next sent packet)
- Main window is now hidden during shutdown (so SQ 'appears' to close quicker) [Update:  disabled for debugging purposes]
- 'Net connection not present' dialog box disabled (Thanks: Boba)
- 'Fixed' HTTP connection code, as it no longer worked with the QGL server
- New feature - 'Add Online Lists'.  Downloads a list of available online lists (supports QSTAT and GSPYMASTER); checks which are currently not in the list, and provides a box to add the lists.  
- Fixed unreal.dll to correctly display map names in dual-pane view
- Added '+set fs_game' support to quake3.dll
- Fixed bug in HTTP code that was losing http headers

19191 -> 19192
- Fixed lagged 'restore window' bug
- Fixed problem in display of Unreal/UT player & maxplayer settings
- Set dual pane to default on new installations
- Added primary (more elegant) test to determine whether internet access is available
- Allowed other IP addresses to be entered when connecting to chat server
- Chat connection will abort if sendto() returns an error (eg due to disconnection from network)

19190 -> 19191
- Fixed lagged typing bug
- Received messages no longer disappear if the userlist updates
- If the chat side-pane is enabled, it is only displayed when a chat connection is running
- Added a "Logout..." item to the Community menu
- Individual pane sizes are now saved
- Server lists can now be pinged more than once (in dual-pane view)

19189 -> 19190
- Added vertical resizing to right hand panes
- Increased maximum server name length to 64 chars (previously 20)
- Added setting for single-pane or dual-pane
- Added delete function to dual pane
- Added double-click to connect to dual pane
- Fixed bug in chat server's handling of SQL results
- Fixed bug in chat server's remove_user function (Thanks: Shadz)
- Added optional side-bar for online users in chat instead of separate window

19188 -> 19189
- Added "Reply" function to incoming messages
- Export QSTAT list now works if the "Servers" parent list is selected
- Fixed taskbar flash when SQ is not active window
- Fixed message stack overflow in server
- Fixed buffer overflow in client; limited outgoing message size
- Fixed bug in server where user attributes were not initialized to zero
- Changed layout of Send/Receive message window
- Added horizontal resizing

19187 -> 19188
- Fixed a bug that prevented sub-lists from being exported in QSTAT format
- Fixed missing Unreal code in SQ->Qstat id conversion
- Added incoming message stack to client; received messages no longer appear immediately
- Added flashing "new message" icon

19186 -> 19187
- Added control-char encoding/decoding on client-side
- Added ability to export 'QSTAT' files (extension .qst); these are identical to the files found on the Server Query website
- Allowed setting of server names up to 64 chars long
- Enabled 'Set to hostname' checkbox in server properties
- Added sound effect to 'Incoming Message'; plays sounds/incoming.wav or default sound if not found

19185 -> 19186
- Fixed crash in chat server on invalid login info
- Stopped incoming message windows from coming to foreground while SQ is not the foreground app
- Fixed 128 byte limit on messages

19184 -> 19185
- Improved "Receive Message' Dialog
- Ensured that "Send Message' got focus on open

19183 -> 19184
- Added queueing facility to handle multiple server messages

19182 -> 19183
- Added basic "SQ Chat" interface

19181 -> 19182
- Added code to set working directory at startup to location of query.exe
- Adjust LAN server refresh period

19180 -> 19181
- Fixed bug where first time users would get a small window in the left hand corner of screen (thanks: Saint)
- New window was only showing up in Win2K; fixed for Win9x (thanks: Saint, Mutty)
- Set a default size if an invalid window size is saved for some reason (thanks: VRBones)
- Added dialog box to turn off name resolution if SQ was not shut down properly last run

19179 -> 19180
- Merged kingpin and sin code back into quake2.dll
- Added resizing window support
- Fixed bug that could cause Welcome message to appear twice
- SQ saves/restores window positioning and size

19178 -> 19179
- Fixed bug in halflife.dll that prevented player list from being displayed
- Eliminated bug in hash.c that would cause a crash upon program closure due to memory allocation occuring in a DLL and being freed by the EXE
- Added list control, servinfo.c for server info and player reporting

19177 -> 19178
- Added "SOF demo" support to quake2 dll
- Added "SOF demo" support to qstat dll (made new server type "SFS")
- Added /LAN command line switch to disable name resolution

19176 -> 19177
- Updated Half-life DLL to start hl.exe with correct "-game " parameter
- Added 'wait until spot available' option (or don't connect) when a server is full

19175 -> 19176
- Fixed crash when a http connection was unexpectedly closed (thanks: Shadz)
- slightly enlarged main window
- Changed 'Program Configuration' dialog box to default to type of current server
- Changed QStat 'Refresh List' to empty list when a user-requested refresh is performed
- Added check to ensure list/default.dll was loaded (thanks: Shadz)
- Changed 'Create New List' window to always select "Internet Servers" type by default
- Fixed "Grouped" support for QStat lists

19174 -> 19175
- Implemented proper list move up/move down
- Lists are now sorted correctly
- QStat lists no longer 'flicker' on updates
- Long hostnames are now shortened to 20 chars on the treeview
- moved imagelist_destroy() to after the main window was closed (for aesthetic reasons)

19173 -> 19174
- Fixed bug in QStatlist support that prevented some URL's from working
- Fixed a long standing bug in http.c that could cause invalid memory accesses
- Fixed QStat/Gamespy lists being 'collapsed' upon refresh

19172 -> 19173
- MOTD is not displayed on a fresh install
- Fixed crash when WinSock load failed (thanks: Shadz)
- Moved group types into separate DLLs
- Enter now connects to selected server (thanks: BAD)


19171 -> 19172
- added rudimentary Q3Master support ( pretty useless atm)
- increased limit on # of servers per list from 256 to 65536
- ran some profiling on query.exe, improved performance for large sets of servers
- added a simple caching mechanism to the hash code to further improve performance
- Added image masks so that the icons appear correctly on non-white backgrounds (thanks: GreyMATR)
- Simple 'Move Up/Move Down' function added for lists ( ** BROKEN ** )
- Eliminated crash when starting Query with missing DLLs

19170 -> 19171
- Fixed bug in 'Sort LAN servers by game type'
- Fixed bug where lists were not always marked as containing servers
- Fixed bug in treeview when moving from 1 server to no servers
- Fixed a few memory/resource leaks

191769 -> 19170
- Added Open/Save config menu options.  Allows multiple configuration files 
- Changed "LAN" list to be a standard list, apart from the proviso that only one "LAN" list can exist
- "LAN" List header is now stored in configuration files (although actual servers are not)
- Added 'Connect with parameters...' option on 'Server' shortcut menu (thanks: Mutty)

19168 -> 19169
- Fixed "double click" bug where double clicking anywhere in the treeview would connect to the selected server
- Added folder/server icons to the treeview
- Server Query now by default saves all configuration data to "default.sq", replacing the two tiered "query.dat" and "servers.dat" of previous versions

19167 -> 19168
- Full support for domainnames (as opposed to IP addresses)
- 'Fun name' stripping for Q3A
- Lots of little bitty bugs squished

19166 -> 19167
- Added ability for QStat lists to be grouped by game (ala LAN)
- Added error messages when trying to create a server with blank name or name that is same as other list
- Added support for command line parameters

19165 -> 19166
- Improved performance on deletion of large lists
- Fixed problem with 'Incoming Message' facility while offline
- Fixed bug that caused LAN servers to incorrectly timeout if the new mouse-wheel code was enabled
- Added option 'Program Not Found' window to bring up the Program Configuration window
- Many low-level fixes dealing with memory leaks and other problems (thanks Shadow)

19164 -> 19165
- Systray icon now restores SQ window if it was minimised/hidden
- increased maxhashes to 2048
- added optional subclassing of treeview that allows the mousewheel to scroll through the list of servers (instead of just moving the list up and down)
- Re-added ability to move servers up/down the list

19163 -> 19164
- HUGE (4 hours straight... urgh) re-write of Hash functions.  May not be 100% stable yet.
- Enabled web site menu items
- Recompiled all game DLL's due to new hash code
- Fixed show-stopper bug in DeleteServerList()
- Changed DLL's to use .exe's Hash storage instead of internally allocated storage.
- Very basic system tray code: must restart Query to enable changes.

19162 -> 19163
- Added conversion support for old-style 'PupServers' list (no need to delete servers.dat)
- 'Always on top' is enabled at start up if previously selected
- Removed 'maximise' button
- Added default 'help' to the player list upon program start up
- Added web site menu items to 'File' menu.  Grayed out for now.

19154 -> 19162
- Support for two 'URL-based' list types: QStat lists (such as the now-familiar 'PowerUp' list) and GameSpy-esque lists.
- Support for sub-lists, of any type.
- Simplified server information pane; option to enable separate 'full server info' window.
- Ability to delete any list (or sublist) (except 'LAN')
- New menus ('Server', 'List') provide access to the standard right-mouse menus.
- 'Incoming message' facility, for announcement of new versions etc.
- Revised 'About' box (click Query icon for the Server Query HP)
- 'Always on top' option.
- Ability to group LAN servers by game type.
- 'Refreshing servers' window now only appears when a Refresh is requested.
- Unreal Tournament support. (new DLL)
- Unreal/UT are not listed in the 'configure | programs' window, as Unreal servers are not connected to by starting the program directly. (new DLL)
- '[SA]' is no longer the default Clan ID (blank is given instead)
- Lots of menu items renamed, re-ordered.
- 'File | View | DM Flags' disabled completely.
- Improvements made to LAN performance.

