ProudNet.Eng
WebsiteProud ConsoleLanguage
  • 🌐ProudNet
    • ProudNet Introduction
    • Download and Install
      • How to verify your ProudNet license
      • AMI
    • Project Settings
      • C++
      • C#
      • Mac Xcode
      • Linux
      • Unity3D
        • iOS Build
      • Unreal Engine 4
      • Running the PIDL Compiler
    • Using ProudNet
      • Server and Client
        • Utilization of Server
        • Utilization of Client
      • RMI
        • Utilization of RMI
      • PIDL
        • Utilization of PIDL
      • Event handling
      • Communication messages
      • P2P Communication
        • Using P2P communication
    • Utilization of ProudNet
      • How to use
      • Tips for performance
    • Using DB in ProudNet
      • DB Cache System ver.2
        • DB Cache Theory and Understanding
        • Install DB Cache and Set Up Network
        • DB Cache Server and Client
        • DB Cache usage and application
          • Utilization of DB Cache
      • ADO API
      • ODBC API
    • ProudNet Utility
  • ProudNet Note
    • Technical Notes
      • Main Loop
      • Setting up a server firewall
      • Encryption and decryption
      • What to do in case of an error
      • List of error messages
      • Synchronizing Character Position
      • Client-Server Communication
      • MiniDump (Error Dump System)
      • [Version 1.6] Server-to-Server LAN Communicator
    • Glossary
    • Sample examples
  • 🌐Proud Service
    • Guide for Console
    • ProudChat
      • Download SDK
        • C++
        • C#
        • Unity3D
        • Unreal Engine 4
      • Features in Console
Powered by GitBook
On this page
  • Setting up a firewall against DDOS attacks
  • Setting up an ICMP firewall
  1. ProudNet Note
  2. Technical Notes

Setting up a server firewall

PreviousMain LoopNextEncryption and decryption

Last updated 1 year ago

If your game server is protected by a firewall, you must consider the following for ProudNet to perform properly.

  • When the server is started (Proud.CNetServer.Start), the UDP ports specified in Proud.CStartServerParameter.m_tcpPort (Proud.CStartServerParameter.m_udpPorts) must be open for both sending and receiving.

  • Unless absolutely necessary, you should disallow sending and receiving ICMP-type IP packets to avoid occasional network failures.

Setting up a firewall against DDOS attacks

In ProudNet, when a client connects, the server first throws a random packet to the client before any UDP communication, and the client receives it and discards it.

Some server firewalls have the ability to send UDP packets to a client with internet address A first, and then allow A to send UDP packets to the server, but only for a certain amount of time. With this feature turned on, ProudNet can be used to set up a firewall that keeps UDP open but is still secure against DDOS attacks.

If your firewall is capable of this, you can run the server with only the Proud.ServerUdpAssignMode_PerClient and empty Proud.CStartServerParameter.m_udpPorts settings, which has the added benefit of minimizing the concurrent connections limit.

Reference

Setting up an ICMP firewall

If you use Proud.ServerUdpAssignMode.ServerUdpAssignMode_Static in your server startup options, we recommend that you block receiving ICMP host unreachable packets.

This is an example of how to set it up when using Windows Firewall.

From now on, just keep pressing the ‘Next’ button until ‘Finish’ appears.

Reference

Example of how to enable firewall
How the server uses UDP port
How the server uses UDP port