From WikiChip
Difference between revisions of "mirc/ipv6"
< mirc

Line 1: Line 1:
 
{{mirc title|IPv6}}
 
{{mirc title|IPv6}}
There are two mode in which you can use IPv6 in mIRC:
 
  
* Local mode - Using {{mIRC|/server}} -6
+
mIRC has a pretty weird implementation of ipv6 and it is not really well integrated with the scripting language.
* Global mode - Using the option (alt + o > Connect > options > ports button > Enable IPv6 support and prioritize IPv6 over IPv4 connections)
 
  
== Local mode ==
+
== /server -6 (without -4) & ipv6 server address ==
  
When you use /server -6, mIRC binds to an IPv6 adapter, this overrides the Global mode for that connection only.
+
When you use /server -6 (without -4) or connect to an ipv6 ip address (passing an hostname which eventually resolve to an ipv6 address or passing an ipv6 address), this puts the whole status window in an ipv6 mode, meaning that disconnecting and reconnecting, regardless of how you do it, will attempt to connect with ipv6.
  
This means you cannot use IPv4 on that connection.
+
It must be noted that in the above situation, ipv4 is simply disabled by default, any script which has to resolve ipv4 addresses run from that status window will fail, by default, this is breaking backward compatibility.
  
In this mode, using /sockopen with an host that resolve to an IPv4 IP address will not work by default.
+
Such scripts can now be updated by using the -4 switches on either /server, /dns, or /sockopen, which force it to 'support' ipv4
  
In Local mode, you can force ipv4 support using the -4 switches on /sockopen and /dns.
+
== mIRC option ==
  
Regardless, if you want to use IPv6 while still having IPv4 support (and without having to enforce it with -4), you must use the Global mode, see below.
+
Remember, this option can be enabled/disabled at alt + o > Connect > options > ports button > Enable IPv6 support and prioritize IPv6 over IPv4 connections.
 +
 
 +
In this mode, IPv6 has priority but IPv4 is not disabled.
  
 +
This mode is recommended. Use /server -6 only if you want to disable IPv4 for anything happening from that connection by default, which should not be something you want to do.
  
== Global mode ==
+
== Issues ==
  
Remember, this option can be enabled/disabled at alt + o > Connect > options > ports button > Enable IPv6 support and prioritize IPv6 over IPv4 connections.
+
There are severals issues with this:
 +
 
 +
1) If you're using the /server -6 (or equivalent) option, it just breaks old scripts which couldn't use the -4 switch before to connect to ipv4 ip address.
 +
 
 +
2) All in all, the only way to correctly get ipv4 fallback on any ipv6 connection is to never use /server -6 nor pass an ipv6 ip address, which seriously limits how you can connect: you are forced to pass an hostname.
 +
It does not make sense to see mirc being connected using ipv6 with ipv4 fallback support because we passed an hostname which resolved to ipv6 address and see mIRC fail on ipv4 just because we passed the ipv6 directly to /server.
  
In this mode, IPv6 has priority but IPv4 is not disabled.
 
  
This mode is recommended. Use /server -6 only if you want to disable IPv4 for anything happening from that connection by default.
 
 
[[Category:mIRC|ipv6]]
 
[[Category:mIRC|ipv6]]

Revision as of 08:44, 20 December 2019


mIRC has a pretty weird implementation of ipv6 and it is not really well integrated with the scripting language.

/server -6 (without -4) & ipv6 server address

When you use /server -6 (without -4) or connect to an ipv6 ip address (passing an hostname which eventually resolve to an ipv6 address or passing an ipv6 address), this puts the whole status window in an ipv6 mode, meaning that disconnecting and reconnecting, regardless of how you do it, will attempt to connect with ipv6.

It must be noted that in the above situation, ipv4 is simply disabled by default, any script which has to resolve ipv4 addresses run from that status window will fail, by default, this is breaking backward compatibility.

Such scripts can now be updated by using the -4 switches on either /server, /dns, or /sockopen, which force it to 'support' ipv4

mIRC option

Remember, this option can be enabled/disabled at alt + o > Connect > options > ports button > Enable IPv6 support and prioritize IPv6 over IPv4 connections.

In this mode, IPv6 has priority but IPv4 is not disabled.

This mode is recommended. Use /server -6 only if you want to disable IPv4 for anything happening from that connection by default, which should not be something you want to do.

Issues

There are severals issues with this:

1) If you're using the /server -6 (or equivalent) option, it just breaks old scripts which couldn't use the -4 switch before to connect to ipv4 ip address.

2) All in all, the only way to correctly get ipv4 fallback on any ipv6 connection is to never use /server -6 nor pass an ipv6 ip address, which seriously limits how you can connect: you are forced to pass an hostname. It does not make sense to see mirc being connected using ipv6 with ipv4 fallback support because we passed an hostname which resolved to ipv6 address and see mIRC fail on ipv4 just because we passed the ipv6 directly to /server.