BSD Ports

net/gamenetworkingsockets 1.3.0_13 FreeBSD

GameNetworkingSockets is a basic transport layer for games

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
License
BSD3CLAUSE
Categories
net
Package size
461.6 KiB, 2759.9 KiB installed

Description

GameNetworkingSockets is a basic transport layer for games. The features are:

  • Connection-oriented API (like TCP)

  • ... but message-oriented (like UDP), not stream-oriented.

  • Supports both reliable and unreliable message types

  • Messages can be larger than underlying MTU. The protocol performs fragmentation, reassembly, and retransmission for reliable messages.

  • A reliability layer significantly more sophisticated than a basic TCP-style sliding window. It is based on the "ack vector" model from DCCP (RFC 4340, section 11.4) and Google QUIC and discussed in the context of games by Glenn Fiedler. The basic idea is for the receiver to efficiently communicate to the sender the status of every packet number (whether or not a packet was received with that number). By remembering which segments were sent in each packet, the sender can deduce which segments need to be retransmitted.

  • Encryption. AES-GCM-256 per packet, Curve25519 for key exchange and cert signatures. The details for shared key derivation and per-packet IV are based on the design used by Google's QUIC protocol. Tools for simulating packet latency/loss, and detailed stats measurement IPv6 support Peer-to-peer networking:

In the other systems

SystemPortVersion
FreeBSDnet/gamenetworkingsockets1.3.0_13
DragonFlynet/gamenetworkingsockets1.3.0_11

Install

Binary package:

pkg install gamenetworkingsockets

From the ports tree:

cd /usr/ports/net/gamenetworkingsockets/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	gamenetworkingsockets>0:net/gamenetworkingsockets
LIB_DEPENDS=	libGameNetworkingSockets.so:net/gamenetworkingsockets

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest1.3.0_131.3.0_131.3.0_41.3.0_121.3.0_13
FreeBSD:14:quarterly1.3.0_131.3.0_13n/a1.3.0_121.3.0_13
FreeBSD:15:latest1.3.0_131.3.0_13n/a1.3.0_121.3.0_12
FreeBSD:15:quarterly1.3.0_131.3.0_13n/an/an/a
FreeBSD:16:latest1.3.0_131.3.0_13n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Library 1

The full lists below include those, and their dependencies in turn.

Build dependencies 17
Run dependencies 3

No port depends on this one.

Configuration

No options to configure.

USES
cmake compiler:c++17-lang
Service scripts
none

Files

pkg-plist 19
  • include/GameNetworkingSockets/steam/isteamnetworkingmessages.h
  • include/GameNetworkingSockets/steam/isteamnetworkingsockets.h
  • include/GameNetworkingSockets/steam/isteamnetworkingutils.h
  • include/GameNetworkingSockets/steam/steam_api_common.h
  • include/GameNetworkingSockets/steam/steamclientpublic.h
  • include/GameNetworkingSockets/steam/steamclientpublic.h.orig
  • include/GameNetworkingSockets/steam/steamnetworkingcustomsignaling.h
  • include/GameNetworkingSockets/steam/steamnetworkingsockets.h
  • include/GameNetworkingSockets/steam/steamnetworkingsockets_flat.h
  • include/GameNetworkingSockets/steam/steamnetworkingtypes.h
  • include/GameNetworkingSockets/steam/steamtypes.h
  • include/GameNetworkingSockets/steam/steamuniverse.h
  • lib/cmake/GameNetworkingSockets/GameNetworkingSockets-.cmake
  • lib/cmake/GameNetworkingSockets/GameNetworkingSockets.cmake
  • lib/cmake/GameNetworkingSockets/GameNetworkingSocketsConfig.cmake
  • lib/libGameNetworkingSockets.so
  • lib/libGameNetworkingSockets.so.1
  • lib/libGameNetworkingSockets.so.1.3.0
  • lib/libGameNetworkingSockets_s.a
distinfo 1
FileSizeSHA256
ValveSoftware-GameNetworkingSockets-v1.3.0_GH0.tar.gz1.0921035e+07f473789ae8a8415dd1f5473793775e68a919d27eba18b9ba7d0a14f254afddf9

Commit history 0

No commits in the history this site was built from.