AI War 2:Finalizing Multiplayer
Contents
Known Issues
- Any bugs or requests should go to our mantis bugtracker
- If you need to submit log files, those can generally be found under your PlayerData folder in the folder your game is installed in. The most relevant one is called ArcenDebugLog.txt. You can send us the whole thing, or just strip out relevant parts.
- In rare cases, mainly if your entire game crashes (that almost never happens), we will need your unity player log. That gets overwritten the next time you run the game after a crash, unlike the other log. These can be found here:
- Windows: C:\Users\username\AppData\LocalLow\Arcen Games, LLC\AIWar2\Player.log
- macOS: ~/Library/Logs/Arcen Games, LLC/AIWar2/Player.log
- Linux: ~/.config/unity3d/Arcen Games, LLC/AIWar2/Player.log
- Multiplayer is in public beta, as noted below. There is a detailed multiplayer guide that we are working on building up.
- Feel free to join discussions on discord!
What Does Multiplayer Beta Mean?
Please see this link for details on multiplayer. This wound up taking up too much space in this document, so all of the multiplayer-relevant bits have been moved to the other page.
What's this phase all about?
Multiplayer is fully playable at this point, but still has a variety of glitches and doesn't have all of the features that we intend to have in the long term. So hence it still being in alpha status. But we greatly welcome folks to play, and hopefully give us reports on what is going wrong if something does go wrong.
We expect to be to a fully-polished non-beta status for multiplayer in May, if things continue as they have.
Our second expansion for the game, Zenith Onslaught, has a whole heck of a lot of it completed, but still needs more doing. Badger has done all of his parts for it, and has retired like Puffin before him, so at this point we are down to basically a one-person show again (me, Chris) on bugfixing, finishing multiplayer, finishing my parts of DLC2, and finishing the last of the kickstarter obligations. So if the schedule slips some, it's likely because I had trouble juggling that, or wanted extra time to make things truly shine, whichever. But at the start of this phase, things are feeling very positive.
Beta 2.801
(Not yet released -- we're still working on it!)
- Updated the game to allow parsing "false" as 0 when doing xml processing.
- This solves the problem of potential exceptions when someone has AutoBuildAssaultFrigates in the old format rather than the newer style.
- Thanks to KingSyphilis for reporting.
- Adjusted several parts of the game to use EnumerateFiles() rather than GetFiles(), and the same for directories, because these things cause less of a delay when you have a huge number of savegames or campaigns.
- Updated several aspects of the quick start window and load savegame window to make them load much faster when you have hundreds of savegames on your machine.
- Fixed a random cross-threading exception that could happen in FindProtectingForcefieldToHitInsteadOfTarget() if the stars aligned just wrong. This could affect multiplayer or singleplayer, and is not a new bug, but is just THAT rare.
- Fixed a fairly rare bug that was causing units to not serialize properly sometimes. It seemed to be related to the incomingshots list on units, which is something that really should only be sent in fully network syncs but should not be sent to disk or as part of smaller network syncs.
- Essentially, because of the many improvements made to multiplayer efficiency, this unfortunately had created a miniature version of Russian Roulette (some sort of fantasy chain gun with 2000 slots but only one with a bullet in it), where if you got tagged with it, it would corrupt your save.
- Thankfully, autosaves are a thing, and in the example save that had this issue, there was an autosave from literally 20 seconds earlier that did not have the problem. And with extensive testing on the same save, we couldn't get it to replicate.
- That said, some of the persistent intermittent errors that folks were seeing in multiplayer were a lot less rare (because multiplayer takes a lot more tries at Russian Roulette, not because the actual odds changed), and this is probably an accidental discovery of what those were.
- Thanks to deR Zaubererer and their MP partner for discovering this.
- Fixed an oversight where the "Intra Galactic Coordinators Permadeath" option was still in the advanced settings, even though IGCs themselves have been removed.
- Thanks to Democracy for reporting.
Multiplayer Updates
- New network setting: Steam P2P: Allow Network Relay
- The Steam P2P networking framework allows for all networking packets to be relayed through Valve's server infrastructure rather than over the wider Internet. This is off by default, as there have been some reliability and performance problems with this method.
- With this option off, the network framework will try to forge a direct connection (which is usually much faster, but may not always work).
- Please note that this defaults to off now, but previously it was essentially always forced on.
- Put in some code with Steam P2P networking that should make it more likely to connect in general for more people.
- Steam Connection-Oriented (Steam C-O) has been renamed to Steam Sockets, since that's what it is actually called.
- We will provide a way for direct connections to happen via Steam Sockets without relay servers in the near future, but it will require clients to enter the IP address of the host, which is suboptimal.
- We may also have found a way to implement the equivalent of multiple channels on Steam Sockets, which should dramatically improve performance on them if that does turn out to be the case. That will take some experimentation, though.
- Right now the reports are that LiteNetLib is really beating the pants off of the Steam options in terms of connection reliability and speed, which is very surprising to us.