View Issue Details

IDProjectCategoryView StatusLast Update
0000034Multi Theft AutoOtherpublic2024-10-08 17:56
ReporterSugarD-x Assigned To 
PriorityhighSeverityfeatureReproducibilityN/A
Status confirmedResolutionopen 
Product Version0.6 
Summary0000034: Add IPv6 Support
DescriptionAs the internet is constantly evolving, and other competing Grand Theft Auto multiplayer modifications have begun to support, IPv6 has proven to be slowly becoming a new standard that should work by default in MTA 0.5.1. Even if support for the mod is ended when the Blue core is released, allowing it to still connect over IPv6 ensures that future users who wish to play the "old school version" can still do so without issue. It also allows for more hosting capabilities and compatibility in the near future when IPv6 goes fully active across the internet.
Steps To ReproduceNot applicable.
Additional InformationIPv6 does not replace IPv4, the current internet protocol used by this game modification, however it should work in addition to it. Domain names running on IPv6 should also be able to be resolved via the modification just as IPv4 domains already can be.
TagsNo tags attached.

Activities

SugarD-x

2018-09-03 05:52

administrator   ~0000170

This needs to be added, as the Linux and Mac OS X server builds already support it, and are forcefully overriding IPv4 addresses where able.

SugarD-x

2024-02-15 10:31

administrator   ~0000203

This appears to be partially supported in the Windows server now after cURL was updated, however there are still some caveats that require us to go over the network code and configuration files to fully support it. I believe the client is also lacking the ability to correctly enter in IPv6 addresses, although I'm not sure how it will actually handle attempting to connect with them once it does. We may need to update it in order to do so.

SugarD-x

2024-10-07 05:20

administrator   ~0000207

This needs to be a requirement for 0.6 now. The server listing not only supports it, but Windows versions of the server are forcefully outputting IPv6 addresses prioritized over IPv4 on host systems that support IPv6. Support doesn't appear to be a problem on the server's end at all anymore as of 0.6 Nightly 2, but the client definitely needs this added to utilize IPv6 and connect to these servers properly.

Someone with C++ knowledge should be able to address this in the client by updating the related functions and applicable file includes so that both IPv4 and IPv6 can be used. The 0.6 Nightly 2 client also already allows IPv6 addresses to be input in the Quick Connect menu, as it doesn't limit the input length, however it doesn't know how to handle these addresses, and immediately errors before even showing the main client UI. (IPv4 addresses that would time out or fail correctly navigate to the main UI before failing, showing the connection attempt).

SugarD-x

2024-10-07 06:07

administrator   ~0000208

Upon further inspection, it appears that the CLuaSockets may also need to be updated in the server to fully support IPv6 properly with scripting.

During some tests with an IPv4/IPv6 dual upgrade on the client on Windows, I was able to bypass the original error message and have the main UI attempt to connect, however it was not successful in connecting at all. If the logic can be properly worked out, this may not be too difficult to correct for full support in the client with minimal code changes, however it will require one of the Developers to fix, as I do not have the C++ knowledge to do this myself.

SugarD-x

2024-10-07 18:57

administrator   ~0000209

There appears to be another bug with IPv6 in MTAServer's console on Windows. It does not display the address. This also appears to be an issue with Mac OS (aka Mac OS X) and *nix builds.

SugarD-x

2024-10-08 17:56

administrator   ~0000214

Regarding my previous comment, there seems to be something weird going on here. It doesn't show the address if not specified, however IPv4 specification will, but won't bind to the IPv4 address if IPv6 is present, leaving no way to override the connection despite the feature's intent. I have not tried with IPv6 to see if it will display or not yet, however if IPv6 is present, it will force that bind regardless, so the underlying issues definitely need fixing. I'm also unable to query MTAServer on IPv4 if IPv6 is active, even if the IPv4 bind attempt is done. (Manual querying via IPv6 is not currently implemented in the web interface, however MTAServer for 0.6-Nightly 2 does support sending it's IPv6 address to the server listing on its own. MTAServer 0.6-Nightly 1 behaves the same way as 0.5r2 and earlier versions of MTAServer where IPv6 is not usable or visible at all).

Issue History

Date Modified Username Field Change
2012-09-02 23:13 SugarD-x New Issue
2018-01-06 17:30 SugarD-x Status new => acknowledged
2018-09-03 05:52 SugarD-x Status acknowledged => confirmed
2018-09-03 05:52 SugarD-x Note Added: 0000170
2024-02-15 10:31 SugarD-x Note Added: 0000203
2024-10-07 05:20 SugarD-x Note Added: 0000207
2024-10-07 06:07 SugarD-x Note Added: 0000208
2024-10-07 18:57 SugarD-x Note Added: 0000209
2024-10-08 17:56 SugarD-x Note Added: 0000214