This is an experimental project. Because of the limitations of the project's dependencies, subsequent updates and maintenance of the project are not guaranteed.
I am not a native English speaker. Although I can read and write some English, I use DeepL to translate and reply. In order to communicate as smoothly as possible, try not to use slang, abbreviations or internet words in your replies.
Overview
1. Play a LAN 1v1 combat via "Missions".
2. It's a pseudo-synchronized combat because both sides of the combat process data independently. So the player can only operate the flagship without any AI ship.
(1) Missile AI seems to be able to act synchronized with only two ships.
(2) I haven't tested adding AI ships to the combat yet. If the default AI of the ship doesn't have any random behavior, and in case the behaviors of both sides of the combat are strongly consistent, theoretically all the behaviors of the AI ships in both clients should be strongly consistent too.
3. The mod only supports the vanilla hulls and variants.
(1) Custom variants and ships from other mods are not supported, because CombatUtils.spawnShipOrWingDirectly() can't read custom .variant files.
(2) MissionDefinitionAPI.addToFleet() can dynamically read the .variant file each time a PVP mission is clicked, and it allows the player to modify the ship directly without having to manually modify the .variant file.
(3) MissionDefinitionAPI.addToFleet() is also flawed in that it lets the local player customize the variant while not allowing the remote player to immediately perceive the variant change. I don't have a good solution right now.4. ioGate
(1) Install ioGate in the same way as other mods.
(2) An ioGate client communicates with another ioGate client through an ioHub server.
(3) ioGate requires
LunaLib 1.8.4 and
LazyLib 2.8b.
5. ioHub
(1) ioHub is a standalone jar package.
(2) The ioHub is the equivalent of a relay station that contains connections to multiple ioGate clients and handles requests from ioGate.
6. For developers, when downloading the source code using git clone, set the download path to be under Starsector\mods.
7. You can get more information in the README.md of the ioGate/ioHub repository. If you have any suggestions, questions or you find any bugs, you can leave a comment on this post or create an issue on GitHub.
Download ioGateDownload ioHub