Jump to content

Raw UDP Sockets - Server Stability Note for Server Admins


Drathek

Recommended Posts

  • Replies 82
  • Created
  • Last Reply
  • 10 months later...
On 12/31/2015 at 6:47 PM, Drathek said:

We are still currently investigating performance and stability issues that are related to use of raw UDP socket server connection mode. We recommend server hosts, and admins disable this option by removing "bRawSockets" from the launch parameters until issues are resolved. This will result in your server using the Steam peer-to-peer API instead.

Original: http://steamcommunity.com/app/346110/discussions/10/517142892069785665/

Please tell me how to disable ue raw Upd socket

Link to comment
Share on other sites

On 4/30/2021 at 7:03 PM, mihajlo5200 said:

Please tell me how to disable ue raw Upd socket

You can't.  It's the only "option" now.

The alternative was to use the Steam networking library but WildCard "disabled" that option when Ark went to EPIC (since EPIC's network library is different to Steam's).

"Raw sockets" were WC's attempt to improve performance over the Steam library, but became more useful because the raw sockets library works on both the Steam and EPIC versions of Ark.

Link to comment
Share on other sites

  • 4 months later...
On 5/5/2021 at 2:18 AM, Larkfields said:

You can't.  It's the only "option" now.

The alternative was to use the Steam networking library but WildCard "disabled" that option when Ark went to EPIC (since EPIC's network library is different to Steam's).

"Raw sockets" were WC's attempt to improve performance over the Steam library, but became more useful because the raw sockets library works on both the Steam and EPIC versions of Ark.

Incorrect. Go back to 1998. What port does Unreal Engine use? UDP 7777. UT2003/2004? UDP 7777. You see, UDP 7777 is how the Unreal Engine has ALWAYS worked (huge UE guy here) and initially Ark only supported the Steam library, meaning UDP 7777 was tunneled over SteamWorks stuff to get around NAT, which many games still use. However, they eventually ADDED the "raw sockets" option, which allowed the Unreal Engine to directly communicate with clients, but this method requires networking knowledge and port-forwarding to use. My cluster used it and it greatly reduced pings because UDP is faster than TCP networking (SteamWorks uses TCP to encapsulate the UDP data a game uses to get around NAT) and one reason games use UDP.

A while back they REMOVED the UDP option (raw sockets was removed) and now our only choice is SteamWorks. This was done for Epic players and had increased latency for normal Ark players on all of our servers. I have been unable to start my servers for a week now (they crash instantly) due to ANOTHER thing they did for Epic players; The Vivox stuff crashes the second a server tries to start. I do not give a damn about Epic, let me have a Steam-only UDP server so everybody I know can play. Epic is RUINING Ark.

ASM Thread On UDP Removal

A thread here about raw socket removal

A Reddit PSA about raw sockets being removed

Link to comment
Share on other sites

4 hours ago, Xenithar said:

Incorrect. Go back to 1998. What port does Unreal Engine use? UDP 7777. UT2003/2004? UDP 7777. You see, UDP 7777 is how the Unreal Engine has ALWAYS worked (huge UE guy here) and initially Ark only supported the Steam library, meaning UDP 7777 was tunneled over SteamWorks stuff to get around NAT, which many games still use. However, they eventually ADDED the "raw sockets" option, which allowed the Unreal Engine to directly communicate with clients, but this method requires networking knowledge and port-forwarding to use. My cluster used it and it greatly reduced pings because UDP is faster than TCP networking (SteamWorks uses TCP to encapsulate the UDP data a game uses to get around NAT) and one reason games use UDP.

A while back they REMOVED the UDP option (raw sockets was removed) and now our only choice is SteamWorks. This was done for Epic players and had increased latency for normal Ark players on all of our servers. I have been unable to start my servers for a week now (they crash instantly) due to ANOTHER thing they did for Epic players; The Vivox stuff crashes the second a server tries to start. I do not give a damn about Epic, let me have a Steam-only UDP server so everybody I know can play. Epic is RUINING Ark.

ASM Thread On UDP Removal

A thread here about raw socket removal

A Reddit PSA about raw sockets being removed

Your first link explains what WC did...

"[WildCard] removed the Raw Sockets option.
They have instead enabled it by default and it cannot be turned off."

Your second link has things the wrong way around.  It says to open your "port=" number and the one below.  However, the correct thing to do is open your "port=" number and the one above.
The use of port numbers is explained here https://ark.fandom.com/wiki/Dedicated_server_setup

Your third link is incomplete (it should say to open 7777/UDP and 7778/UDP) - and it contradicts your first link (it says RawSockets aren't supported - but your first link says they are the default).

Ark still uses UDP and you're correct that UDP are faster than TCP.  Ark's TCP sockets are only used for RCON.

Note that ports 7777 and 7778 are the default port numbers, but the Ark server allows you to use your own values.
For example: I have these (plus 8 other maps)...

Island            RCONPort=27042?Port=7785?QueryPort=27023
Center           RCONPort=27044?Port=7787?QueryPort=27025

I see that a few people are having trouble with Vivox...  Maybe that is the source of your troubles?

Link to comment
Share on other sites

If that's the case then explain years of Ark working without UDP ports being forwarded at our colocation? We removed them after they disabled the ports. Do you really believe that, after all this time, they would not have issued a notice of correction if they forced it enabled? Come on now.

As to your needing two ports, technically the engine uses many more than two, but the initial connection is formed ONLY on 7777 (or whatever you specify on the command-line). Try it. Forward only that port and see that it works. Once the connection is formed it is handed off to a random port, generally ephemeral ports. These do not need to be forwarded because the connection is established despite being established on another port. You are correct in that it is the port above which is suggested all over, though again, it is not required.

I wasn't referring to Ark's use of UDP versus TCP. Are you aware how Steam allows players to connect on games without port-forwarding or static addresses? It tunnels the games UDP data (and TCP if needed) through a TCP tunnel between players. For example, I hosted a No Man's Sky game just today. I have no ports forwarded. It just works thanks to SteamWorks. If this was a traditional game, such as Quake 2 which I own on CD-ROM, I would have to forward ports. Check out how Steam defeats NAT so players can play games together with NO networking knowledge.

Yes, I have a ten-server cluster. They worked until the last update and now as soon as it starts and shows the PID, it crashes while trying to load Vivox, despite not being enabled. That's why I said Epic is ruining Ark. I have submitted crash-dumps and logs in a bug-report, but we're still down, along with many others. Maybe we can play again by the time Dodo-rex arrives...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...