OpenRA / OpenRA/OpenRA

Use QUIC as transport protocol

Open
#20,223 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Idea/Wishlist Networking
Dominant language
C#
Stars
17.4k
Forks
3k
Avg merge
1d 12h
Merged PRs (30d)
14

Description

QUIC is a UDP based protocol that offer rialable transportation of data. HTTP3 uses it.

An advantage is that it uses connection ID's over IP adresses plus port number to indentify a connection. I.e. when a user switches from a mobile connection to Wifi, or switches Wifi access points - the stream can continue where it left off - following a different path.

Feature request:

  • Consider running game protocol over QUIC.
  • Or, consider adding a connection ID to the protocol. Allowing user within i.e. the time frame of 60 seconds to reconnect to a running game - using a new tcp/ip connection.

Benefit:

  • Multi player games can continue after the TCP connection of one client drops.
  • People have an oppertunity to switch from Wifi to Cable - in gane.
  • With a force reconnexct button under settings. Players can do a quick reconnect - where a new TCP connection may have less lag.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by locating OpenRA's current TCP game-connection handling and documenting how transport changes or reconnects would fit it. Done would require a decided approach—QUIC transport or connection-ID-based reconnection—with successful continuation after a client network change.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
game-dev, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.