184.108.40.206 - 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.
220.127.116.11 - 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.
18.104.22.168 - 2022/02/28
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
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.
- 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
- 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
- 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"
- 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.
22.214.171.124 - 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.
126.96.36.199 - 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.
188.8.131.52 - 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.
184.108.40.206 - 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.
220.127.116.11 - 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.
18.104.22.168 - 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.
22.214.171.124 - 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.
126.96.36.199 - 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.
188.8.131.52 - 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:
- 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.
184.108.40.206 - 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.
220.127.116.11 - 2012/01/19
18.104.22.168 - 2011/11/01
- Updated how the server sends its information when the master server queries it.
22.214.171.124 - 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!
126.96.36.199 - 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...