Fixing Double NAT & CGNAT for P2P Multiplayer
Meccha Chameleon uses direct peer-to-peer UDP connections for multiplayer. Double NAT and CGNAT (Carrier-Grade NAT) both create layers of address translation that block these connections. This causes Strict NAT, failed lobby joins, and frequent disconnections. This guide helps you detect, diagnose, and fix both issues.
What Is Double NAT?
Double NAT occurs when two devices on your network are both performing Network Address Translation. The most common setup:
Internet → ISP Modem/Router (NAT #1) → Your Router (NAT #2) → Your PC
Each NAT layer translates addresses, but the second layer cannot forward incoming UDP ports because it does not control the first layer’s port mapping. The result: your game cannot receive incoming connections.
What Is CGNAT?
CGNAT (Carrier-Grade NAT) is when your ISP performs NAT at their infrastructure level. Instead of giving you a public IP address, they put you behind a shared public IP used by hundreds of customers. You cannot fix CGNAT yourself — you must contact your ISP.
Detection Steps
Step 1: Check Your Router’s WAN IP
- Log into your router’s admin panel (usually
192.168.1.1). - Look for WAN IP, Internet IP, or External IP.
- Check if it is a private address:
192.168.x.x— You have Double NAT (your router is behind another router)10.x.x.x— You have Double NAT or carrier private network100.64.x.xto100.127.x.x— You are behind CGNAT- A normal public IP (like
73.45.12.89) — No Double NAT
Step 2: Check from Command Prompt
Open Command Prompt and run:
ipconfig
Look at the Default Gateway under your active adapter. If it starts with 100.64., you are behind CGNAT. If it starts with 192.168. or 10. and your router’s WAN IP is also private, you have Double NAT.
Fix Solutions
Fix 1: Bridge Mode on ISP Modem (Double NAT)
If you have your own router connected to an ISP-provided modem/router:
- Log into your ISP modem’s admin page (check the label on the modem for the IP and credentials).
- Find Bridge Mode, DMZ, or IP Passthrough.
- Enable Bridge Mode. This turns off the modem’s NAT and routing, making your own router the only NAT device.
- If Bridge Mode is not available, set your own router’s WAN IP as the modem’s DMZ host.
- Restart both devices.
Fix 2: Request Public IP from ISP (CGNAT)
If you are behind CGNAT, you need your ISP to assign a public IP address.
- Call your ISP’s technical support line.
- Say: “I need a public IP address for online gaming. I am currently behind CGNAT.”
- Some ISPs offer this free; others charge a small monthly fee.
- After the change, restart your modem/router and verify your WAN IP is now a public address.
Fix 3: Use IPv6 (If Available)
Some ISPs provide IPv6 without CGNAT. If your ISP supports IPv6:
- Check if your connection has an IPv6 address: run
ipconfigand look for an IPv6 address starting with2orfe80. - Enable IPv6 in your router settings.
- Meccha Chameleon supports IPv6 for P2P connections, bypassing CGNAT entirely.
Fix 4: Enable UPnP as a Workaround
While UPnP cannot fix Double NAT or CGNAT, it can work around simpler Strict NAT issues:
- Enable UPnP in your router (see the UPnP Setup Guide).
- Restart the game after enabling UPnP.
- Check your NAT type in-game. If it changes from Strict to Moderate, UPnP resolved the issue.
Verifying the Fix
After applying a fix, test your NAT type:
- Open Command Prompt.
- Run:
ping 8.8.8.8 - Then run:
tracert 8.8.8.8 - If the first hop is your router’s IP (like
192.168.1.1) and the second hop is your ISP, you have a single NAT layer. - Join a Meccha Chameleon lobby. If you can host and other players can join, your NAT is working correctly.
For additional NAT troubleshooting, see the NAT Type Fix Guide.