Portforwarding
What are ports and why should they be forwarded? Port is the number called by the player who needs to play with you, if you do not answer then he cannot join your game. In the times when this game came out there was no modem with a NAT firewall so there was no need to forward the ports but then not everything was ideal the problem was the internet speed. With the arrival of the NAT modem on the market, everything changed, increased internet surfing security and speed, but Blizzard never redesigned the old battle.net and even implemented the old design in Warcraft III in 2002, although even then it was a problem for many players at the time.
6112-6119 TCP/UDP
One of the biggest misconceptions I hear very often is that all ports need to be forwarded and that means 6112-6119 UDP and TCP but that's not true. Diablo 1 can only use one port at a time and this is by default 6112 unless otherwise set in Regedit "Game Data Port". Now you're wondering why everyone is talking about 6112-6119 ports, so because Blizzard thought ahead when he made Battle.net it's a range that can be used on one local network to use multiple computers on one battle.net server so that everyone can host without any problems(now on the official blizzard servers you can only use the 6112 port, on ours you can use any) and this means that all traffic passes through the host, see the picture below. When a host comes out one random player takes that responsibility.
How to Portforward?
It all depends on your configuration, there are two types of modem-router-pc and modem-pc (maybe with WiFi network). The modem-router is a little harder to forward because you are behind 2 NAT (firewalls), which means that you must first forward the modem to the router and then from the router to your local PC IP address. In essence, you only need to forward the 6112 UDP port and type in your IP, which you can easily find using CMD ipconfig /all, or go to Netowrk and Sharing Center /Adapter Settings. When you do portforwarding it is necessary to test your ports, first enter our server and type /netinfo then you should see the port to your IP address (6112 default) which means that Diablo uses exactly that port if it is something else you are not foward then portforwarding will not work. Go to this page when you are in the chat lobby or in the game it doesn’t matter. If it turns green then everything is fine and the ports are fowarded. We have many manufacturers of modems/routers and each is a little different from the other in some ways so it is best to take the manual of your device and read, there is certainly information about it. YouTube and portforward.com provide a great source of information on this.
Game Data Port
Simply put, the Game Data Port is the port you specify for the game to use. This is used if you first want the game to use 6113 instead of 6112 ports. So to get started go to Run / regedit / HKEY_CURRENT_USER / Battle.net / Configuration for the CD version, for the GOG version it's a little different Run / regedit / HKEY_CURRENT_USER / Battle.net / D1 / Configuration. Right-click on your mouse, New / DWORD (32-bit) Value, rename that file to Game Data Port go to modify and choose "Decimal" Base. Value data: 6113. Go to the server and check if your game uses that port using the /netinfo command. If everything is OK stay in the lobby and go to this page and check you port. If the result is green then you are ready to host.