Skip to content

hitech95/Hytale_Connection_Tester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QUIC client/server test tool (Python)

A simple QUIC-based client/server that:

  • can run as server or client
  • uses QUIC connectivity (via aioquic)
  • auto-generates TLS certificates (self-signed) if not provided
  • client and server both send data to each other
  • can push MTU by sending near-max datagrams
  • can push data rate via configurable streaming sender
  • allows port configuration
  • uses Python + venv

Protocol framing is inspired by packet-style binary protocols (length-prefixed frames).

Quick start

1) Create venv + install deps

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

2) Run server

python -m quic_tool server --host 0.0.0.0 --port 4433

3) Run client

python -m quic_tool client --host 127.0.0.1 --port 4433 --insecure

--insecure disables certificate verification (useful with auto-generated self-signed certs).

Options (high level)

  • --port: UDP port to listen/connect
  • --cert, --key: provide TLS cert/key. If omitted (server), tool generates ./certs/server.pem and ./certs/server.key.
  • MTU / datagram push:
    • --datagram-size: payload size for datagrams (will be clamped to a safe upper bound)
    • --datagram-rate: datagrams/second
  • Data-rate push (streaming):
    • --stream-bytes-per-sec: target bytes/sec on a stream
    • --stream-chunk: write chunk size

Protocol

Binary frames:

| type: u8 | flags: u8 | length: u32 (big-endian) | payload: bytes[length] |

Frame types (examples):

  • 0x01 HELLO: payload = UTF-8 name
  • 0x02 DATA: arbitrary bytes
  • 0x03 PING: empty payload
  • 0x04 STATS: JSON payload (UTF-8)

Both sides:

  • accept a bidirectional stream 0 for framed messages
  • periodically send PING + STATS
  • optionally blast DATAGRAM frames

Notes

  • This is a test tool; don’t use in production.
  • QUIC uses UDP; ensure firewall allows the configured port.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages