|
|
4.1.1.0 - 2024/09/22
- Fixed issues with the local server manager when a local address is set. It was unable to authenticate and was not trying to connect to the local address due to it always trying to connect to 127.0.0.1.
- Updated the admin server started on port log entry to state it as a TCP port and not a UDP port.
- Added a caption with "Secured with" and a Let's Encrypt logo to the about screen. For legacy servers (Windows XP and below) there is an additional caption after the LE logo which reads "and OpenSSL".
- Timed-out client connections will now be dropped.
- After a client authenticates a check will be done for any existing client connections within a game room and drop them. This will handle scenarios where a client crashes or disconnects ungracefully for any reason and the server isn't informed of the diconnection.
- The game room connection count (ie: playing count) will now be sent when the server connection count is sent when clients connect and disconnect.
- Beta builds will now use a beta update site when checking for updates instead of the production update site.
4.1.0.0 - 2024/08/21
- New logo, icon and about screen in the Windows server manager! Big thanks to OpenRift, THEBaratusII and ZNukem for collaborating on this effort.
- A Windows XP/Server 2003 specifc edition is now available! Supports all features and corrects all issues with running the server under this version of Windows.
- A Windows 2000 specifc edition is now available! Supports all features except audio chat.
- Windows NT 4 is now supported! Supports all features except audio chat.
- The server log file and update path will now reside in the common application data folder under their respective Windows versions.
- Updated IPX relay server to handle Win9x/ME native IPX clients so cross play between them and DOSBox clients will work.
- Windows Server Manager: Change history will now open in a window instead of externally opening the changes.txt file.
- Windows Server Manager: EULA will now open in a window instead of externally opening the license.txt file.
- Windows Server Manager: Adedd a What's New screen to the server manager than will display upon opening the main window after an update. There is also a menu item for it under the main Help menu.
- You can now set a logging level where, 0 = None, 1 = Minimal, 2 = Error and 3 = Debug. The conf file can be edited manually (server must be restarted) or the Windows Server Manager and built-in console manager can be used which will update the log level without restarting.
- Windows Server Manager: If the log path is changed the server manager will now switch to the new log file.
- Fixed bug wherein changing an instance's relay type would break the server.
- Added Windows service controls to the Windows Server Manager under a new "Service" main menu item. From this menu item you can install, start, stop and delete the service. NOTE: On Windows Vista+ these functions require elevated privileges and will prompt to restart the server manager with elevated privileges.
- Windows Server Manager: Moved the "Windows Service Manager" menu item from the Tools main menu item to the Service main menu item and removed the Tools main menu item.
- Windows Server Manager: You can now start the server as a console service from the Service main menu item.
- Windows Server Manager: Fixed a bug in the log processing logic wherein sometimes log content would missed the last log entry could potentially not be read properly and it would not detect that the server was shutdown and not update the online status or the server contols in the UI.
- The Windows Server Manager will now start by displaying its main screen if run manually (ie: instead of minimized).
- Updated server ping process used by the server managers to ping until it receives a response at a short interval (100ms) up to the timeout amount (2s).
- Server will now obtain an authentication access token after successfully validating your CGA login credentials on startup and use it for authentication instead of your login credentials. This will prevent any issues if you change your password after setting up your server. If you have multiple physical servers your existing access token will be retrieved if login is successful. Your login credentials will be cleared from the config once an access token is obtained.
- The server and windows server manager will not warn you about missing login credentials if an access token is present.
- Added some exception handling to the internal HTTP interface logic to help guard against potential crashes.
- Updated the HTTP interface to return the status error text message, such as "Service is unavailable" instead of the HTML content.
- The Windows GUI Server Manager is now built into the main server EXE and the installer will remove cgaservermgr.exe and update all the links to use cgaserver.exe --manage --gui. The GUI server manager can be invoked on the commandline by adding -g/--gui to the parameter list along with -m/--manage.
- Implemented IPX packet compression.
- The IPX relay server no longer has to wait for a client to synchronize its IPX connection before allowing other clients to connect.
- Updated installers to only allow installing on their respective Windows versions.
- All versions of the server now have a beta build.
- The admin server now uses TCP instead of UDP.
- The admin server is no longer used to handle ping requests and there is now just one admin server instead of a local and remote admin server. The current admin port will be updated to the "PingPort" in the configuration and the local admin port will become the "AdminPort". This makes the default "Ping" port 9666 (UDP) and the default admin port 9660 (TCP).
- Locally administering the server now requires a password and a new local admin password is now confirurable. This password will be set automatically upon first startup of either the server or the server manager to a random password.
- All references to "Remote Admin Settings" within the server managers is now just "Admin Settings", however the admin password field is now referred to as the "Remote Password" field.
- A local IP address can now be configured if it's necessary via the config file using the LocalAddress option. This generally would only be necessary if the machine the server is running on has multiple NICs. The opened ports for all servers will bind to this address as well as report it to the website.
- Moved the logic to drop non-CGA Client connections from a separate thread to the main client socket read thread as to reduce resource usage, improve efficiency and reduce complexity.
- Fixed an issue where a connection could end up not being removed due to a random access violation being thrown when an internal game room network no longer had any connections and was being removed incorrectly.
- Complete overhaul of backend framework (Prometheus WDE) which has increased API performance by reducing request handling time and reducing response time.
- Enabled dynamic content compression on backend webserver to reduce the size of API responses.
4.0.2.0 - 2023/09/11
- Removed IP banning. This should really be done in another layer of your OS or network, but was also causing issues in some rare scenarios for legit connections.
- Cleaned up logging. A client's user display name will now be logged with each log entry when it's available.
- Unicode combability updates.
- Server will now only update its connection counts with the backend when a CGA client completely connents and disconnects. This will prevent random connections from not-CGA clients from affecting server connection counts.
- Fixed bug wherein the serial relay server was not dropping TCP connections on its serial link when a connection failed to synchronize with a CGA client connection.
- Fixed bug in which the server was not properly waiting for the pending relay client connection and potentially causing the server to lock up and eventually crash.
4.0.1.0 - 2022/05/25
- Corrected some instances where the server could not disconnect the client connection when an error occurred resulting in stale TCP connections and server instability.
- Added a watch dog thread per server that will disconnect idle non-CGA connections and idle stale connections in order to prevent stale connections and causing instability.
- Added an IP ban controller which will ban any non-CGA client IP that attempts malicious communication. The banned IPs are stored in the server config folder called ipbans.json.
- Server Manager application icon has been updated to the CGA logo on all platforms.
- Corrected issue which would cause the daemon version of the Linux server to crash attempting to stop servers from the console server manager.
- Linux daemon will now properly shutdown every time it's stopped.
4.0.0.0 - 2022/02/28
- 32-bit and 64-bit versions (Windows).
- Linux version is now 64-bit only.
- Windows installer will now prompt for CGA login credentials and update the
cgaserver.conf accordingly. These credentials will be used to register the
server on the CGA website.
- The Windows version of the server will now store its configuration files in
the %ProgramData% folder under "Creative Design Interactive\CGA\Server". An
existing configuration file will be moved there during the install and the
"conf" folder will be removed from the application folder.
- Many bug, performance and stability fixes.
- The serial relay server performance has been greatly improved.
- Now requires a CGA Username/password to be configured.
- Server will now connect to the CGA website and register servers and update
each server's online status, connection counts, etc, etc.
- Existing servers will be detected and their IDs written to the configuration
automatically.
- A console version of the server can be run by passing the parameter -c or
--console to the executable in Windows and Linux. This will allow it to be
run directly from the command line.
- A command line paramter has been added to allow checking the version:
-v / --version.
- Server will now check for updates when it starts up. The Windows service and
Linux Daemon will log a warning if there is an update available. The console
version will prompt the user if they want to download the new version and
install it.
- A command line parameter has been added to allow checking for updates:
-u / --update
- The TeamSpeak license allowing 512 connections has been removed as that was
CDI's and should not have been included. It has also been revoked.
- Audio chat connections will default to 32 connections unless a valid SDK
license is supplied which allows more.
- If a TeamSpeak SDK license is used the number of connections will be detected
from the license.
- Audio chat server configuration has been changed to only 1 virtual server
which uses all the slots.
- The server will now send its local IP when registering servers so players
connecting from the same remote address as the server will connect using
the server's local IP address.
- The admin server port can now be configured.
- Each configured server that is set to use a dynamic IP will auto update after
24 hours of inactivity.
- A remote admin password can now be configured. This is used for managing
the server from the CGA Client.
- Improved server configuration/start up for ports and max connection checking.
- Improved logging.
- Improved client/server communication security.
- Servers can now be pinged.
- A welcome message can now be configured per server which will be displayed to
players upon successfully connecting to the server.
- When a server owner is creating a new game room on their own server and the
server is private and the server has the new "Friend Private Access" option
disabled they will now have the option to allow friends to access that
specific room without knowing the server password.
- Friends of a server owner can now create rooms on a private server with no
player rooms enabled if the server owner enabled the new "Friend Rooms"
option.
- Friends of a server owner can now access game rooms on a private server
without knowing the password if the server owner has enabled the new option
"Friend Private Access".
- Added a server manager utility. The server manager will allow you to:
- Add, edit and delete servers.
Start, stop and restart servers.
- Configure your CGA username/password.
- Check for updates.
- File bug reports and feature requests.
- It will allow you to see the log in real-time.
- Modify log settings.
- Modidy remote admin settings.
- Modify global audio chat settings.
- The server has a command line version which can be accessed using the
parameter -m or --manage.
- A standalone GUI version is also available for Windows and will start
when logging into Windows and has a system tray icon.
Attempting to run cgaserver.exe directly in Windows service mode will now
result in a dialog message stating that it must be run from the Windows
Service Manager.
The default server configuration file will now create 2 servers with 16 max
connections each instead of 2 servers with 64 max connections each. This is
because the default audio chat server is only 32 connections max.
3.2.0.0 - 2014/01/10
- Removed the authentication check that matches the client's hostname from a DNS lookup to the hostname passed in from the website which could cause an access denied error if they did not match due to a cached DNS record that was different.
3.1.0.0 - 2013/04/23
- Improved security.
- Handles client keep-alive message.
- No longer hangs on startup if the TeamSpeak license server cannot be reached.
- TeamSpeak now logs to server log.
3.0.0.0 - 2013/03/18
- Added integrated audio chat using TeamSpeak 3 SDK!
- Corrected logic in TCP listener threads so they shutdown properly. This issue was only noticeable under Linux, however it also improves shutdown time.
- Log path is configurable from the cgaserver.conf file for Linux users.
- Now reports its OS to the website when it is polled by the master server.
- Linux users can now utilize the "service" control scripts to start, stop and query the status of the server.
2.4.1.0 - 2012/09/27
- Fixed a boneheaded error in the serial relay server code. If the second player disconnected and reconnected a new relay thread was created every time. This eventually made the server become very unstable and under Windows it would go into 100% CPU. Under Linux it would just seg fault and shutdown. This was because I forgot to check and make sure a thread had not already been created.
- Added some more error handling and logging.
2.4.0.0 - 2012/09/22
- Corrected some stability issues in the threading model.
- Made some minor optimizations to the serial relay link thread logic.
- Added some exception handling and some more logging.
- Corrected the code that prevents the server from starting servers when their ports are in us by another process. Version 2.3 broke it.
2.3.0.0 - 2012/09/20
- Changed how the serial relay handles each virtual link. After the second connection is made a thread is started which handles the link communication between the 2 computers. This has increased performance and will ensure good performace when more than once serial link is active on one serial relay server.
2.2.0.0 - 2012/09/20
- Rewrote all the TCP server code so that it is more efficient and scalable to a high number of connections.
- Rewrote the serial relay server code (TCP as well) for the same reasons. The performance has increased dramatically for serial relay games.
- Refined and optimized the entire codebase in preparation for integrating the TeamSpeak 3 API for audio chat capabilities.
- Cleaned up the logging so it makes more sense.
- Servers will not start if the ports they are attempting to use are in use by another running process. If no servers start then the service will not start.
2.1.0.0 - 2012/07/16
- Private servers now supported.
- Now has a combined total connection limit of 512.
- Now checks server ports to make sure servers do not use ports used by already loaded servers.
2.0.1.0 - 2012/07/08
- Added an End-User License Agreement to the installer. (license.txt)
- Added a EULA link on the start menu group.
- Added a change history file named "changes.txt".
- Added a link to this file on the start menu group named "Change History".
- Added an INNO Setup license file. (innosetup_license.txt)
- Added a link to the start menu group named "Server Configuration" which opens the conf file, cgaserver.conf, in notepad.exe so it can be edited.
NOTE: Server service must be restarted for changes to take affect.
- Added a "Register New Account" start menu group link.
- Updated the "CGA Server on the Web" start menu group link to point to:
http://www.classicgamingarena.com/help/cgaserver
- Once again changed the secondary port key in the conf file to be called "RelayPort". There is no need to add this manually. The server will now self correct the changes made to the conf file including the RelayType key.
2.0.0.0 - 2012/02/26
- Servers can now be configured as IPX relay severs or Serial relay servers. Serial relay servers use TCP as the secondary port.
- The conf file for the server now has a key for each sever called "RelayType". This must be set to eithe "ipx" or "serial". The UDPPort key has been renamed to "GamePort". If you had a server installed you will need tp make these changes manually since the installer will not overwrite your configuration file.
1.2.2.0 - 2012/01/19
1.2.1.0 - 2011/11/01
- Updated how the server sends its information when the master server queries it.
1.2.0.0 - 2011/10/26
- Corrected a bug in the UDP server code that was prevented it from working reliably.
- Corrected the scenario in which a TCP connection being made without a follow up UDP connection would prevent the server from accepting any other connections.
- Added an admin UDP server on port 9666. This port is used to PING and QUERY the server from the CGA website. It will have other uses in the future.
- Each server's online and connection status (ie: current connections/max connections), and name are now pulled from the website via this new port.
- There is now only one log file. It is named "cgaserver.log" and is now located under the "log" folder under the installation folder.
- The configuration folder is now located under a sub folder named "conf".
- The configuration no longer requires your CGA user ID, server ID or communicatin key.
- Registering your servers on the CGA website is now easier than ever!
1.1.0.0 - 2011/10/01
- cgaw3.dll is no longer required.
- ipxnet.dll is no longer required.
- SDL and SDL_Net are no longer a dependancy (sdl.dll and sdl_net.dll respectively)
Continue to Client Error Codes...
|
|
|
|
|
|