Releases: robocode-dev/tank-royale
0.29.0
π¦ 0.29.0 - All about colors - 19-Jan-2024
This version causes a breaking change for the Color class. The Color class was removed and replaced with the Color class used with the used platform (Java or C#).
π Improvements
- Server:
- Replaced SLF4J's SimpleLogger with own implementation based on the SLF4J API to provide ANSI colors on log levels.
- Bot API:
- Replaced using Robocode's Color class with
java.awt.Color
for Java andSystem.Drawing.Color
for C#.
- Replaced using Robocode's Color class with
- Sample Bots:
- Updated to use the Color class from the used platform (Java or C#).
π Documentation
You find the Robocode Tank Royale documentation here. You should start out by reading Getting Started first.
π¨ Try it out
Please head over to My First Bot tutorial to learn how to set up your first bot for Robocode Tank Royale.
π Installing Robocode
You need Java 11 as a minimum or newer, e.g. the newest version of Java available.
You can read the installation guide to get more details about installing both Java and Robocode.
βΆ Running Robocode
The main application is the GUI Application which is a Java application. You can read about how to use the GUI Application here.
The Robocode GUI application is run from the command line (shell or command prompt) in order to start and view
battles:
java -jar robocode-tankroyale-gui-0.29.0.jar
π€ Sample bots
If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β Bot Root Directories
These sample bots are currently available:
Platform | Archive | Requirements |
---|---|---|
C# | sample-bots-csharp-0.29.0.zip | Microsoft .Net SDK 6.0 or newer |
Java | sample-bots-java-0.29.0.zip | Any Java SDK 11 or newer |
All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.
π¦ Bot API
In order to start developing bots for Robocode, the following APIs are available.
π¦ Java:
Available as:
- Jar file: robocode-tankroyale-bot-api-0.29.0.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.28.1
π¦ 0.28.1 - Fixed Survival Scores
π Bug Fixes
- Server:
- #122: Fixed the scoring issue with Survival Score and Last Survivor Bonus, which became too large after multiple rounds.
- The server now only listens to the wildcard IP address (0.0.0.0), meaning it will listen on all available network interfaces for the specified port (IPv4 and IPv6) on the system.
π Documentation
You find the Robocode Tank Royale documentation here. You should start out by reading Getting Started first.
π¨ Try it out
Please head over to My First Bot tutorial to learn how to set up your first bot for Robocode Tank Royale.
π Installing Robocode
You need Java 11 as a minimum or newer, e.g. the newest version of Java available.
You can read the installation guide to get more details about installing both Java and Robocode.
βΆ Running Robocode
The main application is the GUI Application which is a Java application. You can read about how to use the GUI Application here.
The Robocode GUI application is run from the command line (shell or command prompt) in order to start and view
battles:
java -jar robocode-tankroyale-gui-0.28.1.jar
π€ Sample bots
If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β Bot Root Directories
These sample bots are currently available:
Platform | Archive | Requirements |
---|---|---|
C# | sample-bots-csharp-0.28.1.zip | Microsoft .Net SDK 6.0 or newer |
Java | sample-bots-java-0.28.1.zip | Any Java SDK 11 or newer |
All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.
π¦ Bot API
In order to start developing bots for Robocode, the following APIs are available.
π¦ Java:
Available as:
- Jar file: robocode-tankroyale-bot-api-0.28.1.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.28.0
π¦ 0.28.0 - Inherited Socket Support - 21-Dec-2024
π Improvements
- Server:
- #115: Inherited Socket Support: You can now start the server with an inherited socket from another process by setting:
--port=inherit
or-p=inherit
. - Socket Activation: This enables the use of Socket Activation, such as with
systemd
orxinetd
on Linux. - Lazy Loading: With socket activation, the server will only start when a client accesses the port for the first time.
- Setup Guide: A detailed guide for setting up socket activation for the Robocode server is provided here.
- Acknowledgements: Special thanks to Tobias Zimmermann for bringing this feature to Robocode! β€οΈ
- Java WebSocket: Gratitude to Marcel Prestel for providing and maintaining the excellent Java WebSocket library, making WebSockets accessible for small stand-alone Java applications without the need for a traditional server. π
- #115: Inherited Socket Support: You can now start the server with an inherited socket from another process by setting:
π Bug Fixes
- Bot API:
- The internal event handling for state updates in the Bot API is now separated from bot event queue handling.
Internal events are processed immediately, while bot events are eventually processed through the event queue,
if at all.
- The internal event handling for state updates in the Bot API is now separated from bot event queue handling.
π Documentation
You find the Robocode Tank Royale documentation here. You should start out by reading Getting Started first.
π¨ Try it out
Please head over to My First Bot tutorial to learn how to set up your first bot for Robocode Tank Royale.
π Installing Robocode
You need Java 11 as a minimum or newer, e.g. the newest version of Java available.
You can read the installation guide to get more details about installing both Java and Robocode.
βΆ Running Robocode
The main application is the GUI Application which is a Java application. You can read about how to use the GUI Application here.
The Robocode GUI application is run from the command line (shell or command prompt) in order to start and view battles:
java -jar robocode-tankroyale-gui-0.28.0.jar
π€ Sample bots
If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β Bot Root Directories
These sample bots are currently available:
Platform | Archive | Requirements |
---|---|---|
C# | sample-bots-csharp-0.28.0.zip | Microsoft [.Net SDK] 6.0 or newer |
Java | sample-bots-java-0.28.0.zip | Any [Java SDK] 11 or newer |
All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.
π¦ Bot API
In order to start developing bots for Robocode, the following APIs are available.
π¦ Java:
Available as:
- Jar file: robocode-tankroyale-bot-api-0.28.0.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.27.0
π¦ 0.27.0 - Lots of bug fixes - 02-Dec-2024
This version fixes various issues, some found when running legacy bots with the [Robocode API Bridge].
π Improvements
- Bot API for .Net:
- Improved performance of event handling by replacing
ImmutableList
andImmutableHashSet
withList
and
HashSet
protected withlock
blocks.
- Improved performance of event handling by replacing
- Bot API for Java:
- Improved performance of event handling by replacing
CopyOnWriteArrayList
with
synchronizedList(new ArrayList<>())
.
- Improved performance of event handling by replacing
π Bug Fixes
- Server:
- #117: Server process consumed 100% of a CPU core even when the game is paused (due to nano timing).
- Thank you, Tobias Zimmermann, for spotting and fixing this nasty issue! β€οΈ
- #117: Server process consumed 100% of a CPU core even when the game is paused (due to nano timing).
- Bot API:
- #1: Wrapped bot throws an exception. Fixes in both
the Bot API and Robocode API Bridge caused by the Tank
Royale Bot APIs. - #119: Battle was not starting on Windows 11 and 10 after installing Docker Linux subsystem.
- Bridged bots run multiple threads after round 2 due to old thread(s) hanging that could not be stopped.
- Bridged bots could not be restarted as they got a connection error with the WebSocket when restarting.
- .Net bots sometimes exited when running at max speed without any exceptions occurring.
- #1: Wrapped bot throws an exception. Fixes in both
π Documentation
You can read the Robocode Tank Royale documentation here.
π¨ Try it out
Please head over to My First Bot tutorial to learn how to set up your first bot for Robocode Tank Royale.
βΆ Running Robocode
You need Java 11 as a minimum or newer, e.g. the newest version of Java available.
You can read the installation guide to get more details about installing both Java and Robocode.
The main application is the GUI Application which is a Java application.
You can read more about how to use the GUI Application here.
The Robocode GUI application is run from the command line (shell or command prompt) in order to start and view
battles:
java -jar robocode-tankroyale-gui-0.27.0.jar
If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β Bot Root Directories
π€ Sample bots
These sample bots are currently available:
Platform | Archive | Requirements |
---|---|---|
C# | sample-bots-csharp-0.27.0.zip | Microsoft .Net SDK 6.0 or newer |
Java | sample-bots-java-0.27.0.zip | Any Java SDK 11 or newer |
All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.
π¦ Bot API
In order to start developing bots for Robocode, the following APIs are available.
π¦ Java:
Available as:
- Jar file: robocode-tankroyale-bot-api-0.27.0.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.26.1
π¦ 0.26.1 - Various bug fixes
π Improvements
- Server:
- When no bullets or functioning bots remain, the round ends immediately as a draw to speed things up.
- Bot API and schema:
- The
enemyCount
field was moved fromTickEvent
for the bot (tick-event-for-bot
) intoBotState
. This change
provides an observer with the enemy count for each bot, which is useful for the UI to display the current enemy
count for a specific bot. This also benefits the properties in the Bot Console.
- The
π Bug Fixes
- Bot API:
- Old events was not removed, causing
Maximum event queue size has been reached
.
- Old events was not removed, causing
- GUI:
- The Properties of the Bot Console did not show the correct enemy count for a bot.
- Server:
- The
enemy count
inTickEvent
was not calculated correctly for individual bots as well as for team bots.
- The
π Documentation
You can read the Robocode Tank Royale documentation here.
π¨ Try it out
Please head over to My First Bot tutorial to learn how to set up your first bot for Robocode Tank Royale.
βΆ Running Robocode
You need Java 11 as a minimum or newer, e.g. the newest version of Java available.
You can read the installation guide to get more details about installing both Java and Robocode.
The main application is the GUI Application which is a Java application.
You can read more about how to use the GUI Application here.
The Robocode GUI application is run from the command line (shell or command prompt) in order to start and view
battles:
java -jar robocode-tankroyale-gui-0.26.1.jar
If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β Bot Root Directories
π€ Sample bots
These sample bots are currently available:
Platform | Archive | Requirements |
---|---|---|
C# | sample-bots-csharp-0.26.1.zip | Microsoft .Net SDK 6.0 or newer |
Java | sample-bots-java-0.26.1.zip | Any Java SDK 11 or newer |
All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.
π¦ Bot API
In order to start developing bots for Robocode, the following APIs are available.
π¦ Java:
Available as:
- Jar file: robocode-tankroyale-bot-api-0.26.1.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.26.0
π¦ 0.26.0 - Support for remote servers
π Improvements
- GUI:
- Replaced the
Server
->Select Server
withConfig
->Server Config
which makes it possible choose between
using a local or remote server. In addition, it is possible to add, edit, and remove remote servers, and it is
possible to specify a controller and a bot secret to allow the GUI and bots to access the remote server. - If a booted bot process exits, it is now removed from the active New Battle window.
- Replaced the
- Booter:
- When a pid of a bot process cannot be found, the Booter writes out a
load {pid}
to indicate that a process could
not be found with the provided pid.
- When a pid of a bot process cannot be found, the Booter writes out a
π Bug Fixes
- GUI
- Control Panel was shown when server was stopped or rebooted.
π Documentation
You can read the Robocode Tank Royale documentation here.
π¨ Try it out
Please head over to My First Bot tutorial to learn how to set up your first bot for Robocode Tank Royale.
βΆ Running Robocode
You need Java 11 as a minimum or newer, e.g. the newest version of Java available.
You can read the installation guide to get more details about installing both Java and Robocode.
The main application is the GUI Application which is a Java application.
You can read more about how to use the GUI Application here.
The Robocode GUI application is run from the command line (shell or command prompt) in order to start and view
battles:
java -jar robocode-tankroyale-gui-0.26.0.jar
If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β Bot Root Directories
π€ Sample bots
These sample bots are currently available:
Platform | Archive | Requirements |
---|---|---|
C# | sample-bots-csharp-0.26.0.zip | Microsoft .Net SDK 6.0 or newer |
Java | sample-bots-java-0.26.0.zip | Any Java SDK 11 or newer |
All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.
π¦ Bot API
In order to start developing bots for Robocode, the following APIs are available.
π¦ Java:
Available as:
- Jar file: robocode-tankroyale-bot-api-0.26.0.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.25.0
π¦ 0.25.0 - Fix for Ranks and Event Queue improvements - 11-Oct-2024
π Bug Fixes
- Server:
- #108: The ranks were wrong as they did not reflect the total score and placements
- Bot API:
- An interruptible event was not interrupted when
setInterruptible(true)
was called. The event queue contained
more bot events than it should, due to this bug. - The event queue and dispatcher was improved so it is closer to the implementation for the original Robocode.
- An interruptible event was not interrupted when
π Documentation
You can read the Robocode Tank Royale documentation here.
π¨ Try it out
Please head over to My First Bot tutorial to learn how to set up your first bot for Robocode Tank Royale.
βΆ Running Robocode
You need Java 11 as a minimum or newer, e.g. the newest version of Java available.
You can read the installation guide to get more details about installing both Java and Robocode.
The main application is the GUI Application which is a Java application.
You can read more about how to use the GUI Application here.
The Robocode GUI application is run from the command line (shell or command prompt) in order to start and view
battles:
java -jar robocode-tankroyale-gui-0.25.0.jar
If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β Bot Root Directories
π€ Sample bots
These sample bots are currently available:
Platform | Archive | Requirements |
---|---|---|
C# | sample-bots-csharp-0.25.0.zip | Microsoft .Net SDK 6.0 or newer |
Java | sample-bots-java-0.25.0.zip | Any Java SDK 11 or newer |
All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.
π¦ Bot API
In order to start developing bots for Robocode, the following APIs are available.
π¦ Java:
Available as:
- Jar file: robocode-tankroyale-bot-api-0.25.0.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.24.4
π¦ 0.24.4 - Support for IPv6 endpoints
Improvements
- GUI:
- Improved the support for IPv6 endpoints.
π Bug Fixes
- GUI:
- #96: When starting a battle when a remote server was selected, no window was opened when starting a battle. Now an error message will show up plus the dialog for selecting a (local) server.
- Server
- #85: Fixed edge case when crossing the speed of 0, when target speed is 0.
π Documentation
You can read the Robocode Tank Royale documentation here.
π¨ Try it out
Please head over to My First Bot tutorial to learn how to set up your first bot for Robocode Tank Royale.
βΆ Running Robocode
You need Java 11 as a minimum or newer, e.g. the newest version of Java available.
You can read the installation guide to get more details about installing both Java and Robocode.
The main application is the GUI Application which is a Java application.
You can read more about how to use the GUI Application here.
The Robocode GUI application is run from the command line (shell or command prompt) in order to start and view
battles:
java -jar robocode-tankroyale-gui-0.24.4.jar
If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β Bot Root Directories
π€ Sample bots
These sample bots are currently available:
Platform | Archive | Requirements |
---|---|---|
C# | sample-bots-csharp-0.24.4.zip | Microsoft .Net SDK 6.0 or newer |
Java | sample-bots-java-0.24.4.zip | Any Java SDK 11 or newer |
All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.
π¦ Bot API
In order to start developing bots for Robocode, the following APIs are available.
π¦ Java:
Available as:
- Jar file: robocode-tankroyale-bot-api-0.24.4.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.24.3
π¦ 0.24.3 - Bugfixes - 26-Aug-2024
π Bug Fixes
- Server
π Documentation
You can read the Robocode Tank Royale documentation here.
π¨ Try it out
Please head over to My First Bot tutorial to learn how to set up your first bot for Robocode Tank Royale.
βΆ Running Robocode
You need Java 11 as a minimum or newer, e.g. the newest version of Java available.
You can read the installation guide to get more details about installing both Java and Robocode.
The main application is the GUI Application which is a Java application.
You can read more about how to use the GUI Application here.
The Robocode GUI application is run from the command line (shell or command prompt) in order to start and view
battles:
java -jar robocode-tankroyale-gui-0.24.3.jar
If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β Bot Root Directories
π€ Sample bots
These sample bots are currently available:
Platform | Archive | Requirements |
---|---|---|
C# | sample-bots-csharp-0.24.3.zip | Microsoft .Net SDK 6.0 or newer |
Java | sample-bots-java-0.24.3.zip | Any Java SDK 11 or newer |
All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.
π¦ Bot API
In order to start developing bots for Robocode, the following APIs are available.
π¦ Java:
Available as:
- Jar file: robocode-tankroyale-bot-api-0.24.3.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository
0.24.2
π¦ 0.24.2 - Bugfixes - 22-Aug-2024
π Improvements
- Server:
π Documentation
You can read the Robocode Tank Royale documentation here.
π¨ Try it out
Please head over to My First Bot tutorial to learn how to set up your first bot for Robocode Tank Royale.
βΆ Running Robocode
You need Java 11 as a minimum or newer, e.g. the newest version of Java available.
You can read the installation guide to get more details about installing both Java and Robocode.
The main application is the GUI Application which is a Java application.
You can read more about how to use the GUI Application here.
The Robocode GUI application is run from the command line (shell or command prompt) in order to start and view
battles:
java -jar robocode-tankroyale-gui-0.24.2.jar
If you are new to Robocode, you need to download some bots and extract those to directories on your system.
These bot directories can be added from the menu of the GUI: Config β Bot Root Directories
π€ Sample bots
These sample bots are currently available:
Platform | Archive | Requirements |
---|---|---|
C# | sample-bots-csharp-0.24.2.zip | Microsoft .Net SDK 6.0 or newer |
Java | sample-bots-java-0.24.2.zip | Any Java SDK 11 or newer |
All bots are put in zip archives, which should be installed in independent directories.
Each zip archive contains a ReadMe.md file with more information for the specific platform.
π¦ Bot API
In order to start developing bots for Robocode, the following APIs are available.
π¦ Java:
Available as:
- Jar file: robocode-tankroyale-bot-api-0.24.2.jar
- Artifact at Nexus Repository
- Artifact at Maven Central Repository (available after some time)
π¦ .Net:
Available as:
- Artifact at Nuget repository