You need to consider the followings to protect your server with firewall without impacting the performance of ProudNet.
When starting server (Proud.CNetServer.Start), you need to allow transmission of TCP port assigned from Proud.CStartServerParameter.m_tcpPort.
And UDP ports(Proud.CStartServerParameter.m_udpPorts) that were assigned at the startup of server must be open for both send and receive. To apply these settings safely, please refer to 3.1 Firewall setup to defend DDOS attack.
Unless there is any otherwise, you should allow the transmission of ICMP type of IP packet. Without this on, there could be periodical failure in network. For example, if ICMP Type=3 Code=4 packet is blocked, it could sometimes cause disconnection between server and client.
Reference
3.1Firewall setup to defend DDOS attack
When the connection is made with a client in ProudNet, the server sends a random packet to the client just before starting UDP communication with that client. And the client just trashes that packet.
Some server firewall programs have a feature that a client with ‘A' IP address shoots out an UDP packet first then allows A to receive the UDP packet during a specific time which was originally sent by A. With this feature enabled, ProudNet can help setting up a firewall that is safe from DDOS attack even though UDP port is open.
If there is a firewall with this defensive maneuver, you can simply start the server with just settings of Proud.ServerUdpAssignMode_PerClient and empty Proud.CStartServerParameter.m_udpPorts. This way, you can also have a server with minimized restriction on concurrent users.
(More details on 6.4 Method of using Server UDP Port)
3.2Firewall setup for ICMP related
If you set to use Proud.ServerUdpAssignMode.ServerUdpAssignMode_Static from the server option, then we recommend you to block packet transmission of ICMP host unreachable packet. (More details on 6.4 Method of using Server UDP Port)
Next shows how you can set this up on Windows firewall.
From this point on, keep clicking on ‘Next' until ‘Finish' appears.