Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[Feature]: NAT punching for easier connection

Aperta
#5,938 0 commenti 1 reazione 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
java
Ambito
networking

Direzione di ricerca

Start by reading the existing hosting and UPnP connection flow to understand where NAT traversal would fit. The issue proposes a coordination server and NAT punching but does not specify a protocol or implementation entry point, so those details need design first. Done should mean players can connect without router configuration or port forwarding.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

feature
Describe the Problem

UPnP doesn't always work, and not everyone can access their router settings to forward ports. It's also not the safest to do port forwarding, as that can expose your machine to attacks even when you aren't playing.

The Solution you'd like

NAT punching is a pretty simple way to get around hosting issues, without port forwarding or any configuration required by the dm/players. It is also safer, as it only allows connections between the specific clients you want to accept.

This does require a minimal coordination server, but it might even be possible to just use a free cloudflare worker, as it doesn't really require serious runtime or resources.

The actual nat punching code should be just a couple lines, it's just: connect to the server, get the dm's ip and port, and connect to it twice.

Alternatives that you've considered.

Not doing it, I guess? Many game servers don't use this method, and you were presumably fine without it as well.

Additional Context

No response

Lingua principale
Java
Stelle
927
Fork
286
Merge medio
1g 13h
PR unite (30g)
41

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di RPTools/maptool

Tutte le issue di RPTools/maptool

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.