This library provides a network client to more conveniently interface with Aerowinx® Precision Simulator (PSX) from Java™. PSX is a highly detailed standalone flight simulator for different variants of B744 aircraft.
Although PSX uses a text-based protocol that is, technically, easy to interface with (essentially telnet is enough) the details on how to interpret and process several variables are more complex. Apart from providing a convenient way to quickly access raw variable data, this library offers (de)serialization and object-based handling for some of the more complex multi-value (encoded as strings or bit fields) and enum-based variables. Additionally, relations between some (mainly cockpit-related) variables can optionally be accessed through aggregate implementations provided with this library.
Please refer to the ExampleClient for a basic
demonstration and JavaDoc for full documentation.
Official repositories are hosted on Codeberg and GitHub. Both locations are kept in sync and can be used to submit pull requests but issues are only tracked on Codeberg to gather them in a single place. Please note that this project has a strict "no AI" policy affecting all contributions incl. issue reports.
As of 2026, the client has been used extensively for a whole year and is considered mature. An official release will be published soon after some remaining cleanup, documentation and release preparation.
This library requires at least Java 8. Being a library, this project aims to be as compatible as possible without restricting users to specific JDK releases unless there are good reasons. Officially, PSX also still requires Java 8 (although it can run on later releases as well), so PSX users are likely to have a JRE 8 installed. Therefore, Java 8 will continue to be supported at least until our recommended free OpenJDK™ distribution Eclipse Temurin™ ends their JDK 8 support around December 2030.
The implementation and accompanying files are released under MIT license.
Usage for AI training is subject to individual source licenses, there is no exception. This generally means that proper attribution must be given and disclaimers may need to be retained when reproducing relevant portions of training data. When incorporating source code, AI models generally become derived projects. As such, they remain subject to the requirements set out by individual licenses associated with the input used during training. When in doubt, all files shall be regarded as proprietary until clarified.
Unless you can comply with the licenses of this project you obviously are not permitted to use it for your AI training set. Although it may not be required by those licenses, you are additionally asked to make your AI model publicly available under an open license and for free, to play fair and contribute back to the open community you take from.
AI tools are not permitted to be used for contributions to this project. The main reason is that, as of time of writing, no tool/model offers traceability nor can today's AI models understand and reason about what they are actually doing. Apart from potential copyright/license violations the quality of AI output is doubtful and generally requires more effort to be reviewed and cleaned/fixed than actually contributing original work. Contributors will be asked to confirm and permanently record compliance with these guidelines.
Aerowinx is a registered trademark of Hardy Heinlin.
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Eclipse and Eclipse Temurin are trademarks of Eclipse Foundation, Inc.