Files
Rendezvous/tests/FinalFactory.Rendezvous.Tests/TestData/Contracts/v1/contracts-public-api.txt
KyuubiYoru 6d076c281a
quality-gate / quality (push) Successful in 59s
feat: implement authenticated NAT mediator (#11)
Closes #11
2026-07-16 07:37:02 +02:00

336 lines
18 KiB
Plaintext

TYPE FinalFactory.Rendezvous.Contracts.AddressFamilyKind
ENUM Ipv4=4
ENUM Ipv6=6
TYPE FinalFactory.Rendezvous.Contracts.ApiError
CTOR ()
PROP FinalFactory.Rendezvous.Contracts.RendezvousErrorCode Code {get;set;}
PROP System.Int32 ContractVersion {get;set;}
PROP System.String CorrelationId {get;set;}
PROP System.String Message {get;set;}
PROP System.Nullable<System.Int32> RetryAfterSeconds {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.BrowseHostJoinAttemptsResponse
CTOR ()
PROP System.Int32 ContractVersion {get;set;}
PROP System.Collections.Generic.List<FinalFactory.Rendezvous.Contracts.HostJoinAttempt> Items {get;set;}
PROP System.String NextCursor {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.BrowseSessionsRequest
CTOR ()
PROP System.Int32 ContractVersion {get;set;}
PROP System.String Cursor {get;set;}
PROP FinalFactory.Rendezvous.Contracts.EnvironmentId EnvironmentId {get;set;}
PROP System.Boolean ExcludeFull {get;set;}
PROP FinalFactory.Rendezvous.Contracts.GameId GameId {get;set;}
PROP System.Int32 PageSize {get;set;}
PROP System.UInt32 ProtocolVersion {get;set;}
PROP System.Nullable<FinalFactory.Rendezvous.Contracts.RegionId> RegionId {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.BrowseSessionsResponse
CTOR ()
PROP System.Int32 ContractVersion {get;set;}
PROP System.Collections.Generic.List<FinalFactory.Rendezvous.Contracts.SessionListing> Items {get;set;}
PROP System.String NextCursor {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.ConnectionOutcomeKind
ENUM Connected=1
ENUM Cancelled=2
ENUM TimedOut=3
ENUM IncompatibleProtocol=4
ENUM StaleHost=5
ENUM ServiceRejected=6
ENUM HostRejected=7
ENUM TransportFailed=8
ENUM FallbackOffered=9
TYPE FinalFactory.Rendezvous.Contracts.ContractJson
PROP System.Text.Json.JsonSerializerOptions Options {get;}
METHOD System.Void Configure(System.Text.Json.JsonSerializerOptions options)
METHOD System.Text.Json.JsonSerializerOptions CreateOptions()
TYPE FinalFactory.Rendezvous.Contracts.ContractLimits
FIELD System.Int32 BrowserPageMaxItems=100
FIELD System.Int32 BrowserResponseMaxBytes=262144
FIELD System.Int32 BuildVersionMaxBytes=64
FIELD System.Int32 ConnectionTicketMaxCharacters=192
FIELD System.Int32 ContractVersion=1
FIELD System.Int32 CursorMaxCharacters=512
FIELD System.Int32 DerivedCredentialCharacters=43
FIELD System.Int32 DiagnosticCodeMaxCharacters=64
FIELD System.Int32 DisplayNameMaxBytes=128
FIELD System.Int32 EnvironmentIdMaxCharacters=32
FIELD System.Int32 ErrorMessageMaxBytes=256
FIELD System.Int32 GameIdMaxCharacters=64
FIELD System.Int32 HttpRequestMaxBytes=16384
FIELD System.Int32 IdempotencyKeyMaxCharacters=64
FIELD System.Int32 LiteNetLibNatTokenMaxCharacters=256
FIELD System.Int32 MetadataKeyMaxBytes=64
FIELD System.Int32 MetadataMaxBytes=4096
FIELD System.Int32 MetadataMaxKeys=32
FIELD System.Int32 MetadataValueMaxBytes=256
FIELD System.Int32 NatPunchRequestTokenCharacters=192
FIELD System.Int32 OpaqueHttpCredentialMaxCharacters=1024
FIELD System.Int32 RegionIdMaxCharacters=32
FIELD System.Int32 SessionCapacityMaxPlayers=10000
FIELD System.Int32 UdpCapabilityMaxCharacters=192
FIELD System.Int32 UdpDatagramMaxBytes=1200
TYPE FinalFactory.Rendezvous.Contracts.ContractValidation
METHOD System.Boolean AreProtocolsCompatible(System.UInt32 requested, System.UInt32 offered)
METHOD System.Boolean IsBrowserResponseSizeValid(System.Int32 byteCount)
METHOD System.Boolean IsBuildVersionValid(System.String value)
METHOD System.Boolean IsCapabilityValid(System.String capability)
METHOD System.Boolean IsCapacityValid(FinalFactory.Rendezvous.Contracts.SessionCapacity capacity)
METHOD System.Boolean IsConnectionTicketValid(System.String ticket)
METHOD System.Boolean IsCursorValid(System.String value)
METHOD System.Boolean IsDiagnosticCodeValid(System.String value)
METHOD System.Boolean IsDisplayNameValid(System.String value)
METHOD System.Boolean IsHttpRequestSizeValid(System.Int32 byteCount)
METHOD System.Boolean IsIdempotencyKeyValid(System.String value)
METHOD System.Boolean IsMetadataValid(System.Collections.Generic.IReadOnlyDictionary<System.String,System.String> metadata)
METHOD System.Boolean IsNetworkEndpointValid(FinalFactory.Rendezvous.Contracts.NetworkEndpoint endpoint)
METHOD System.Boolean IsOpaqueHttpCredentialValid(System.String value)
METHOD System.Boolean IsPageSizeValid(System.Int32 pageSize)
METHOD System.Boolean IsUtf8LengthWithin(System.String value, System.Int32 maximumBytes)
METHOD FinalFactory.Rendezvous.Contracts.RendezvousErrorCode ValidateContractVersion(System.Int32 contractVersion)
TYPE FinalFactory.Rendezvous.Contracts.CreateJoinAttemptRequest
CTOR ()
PROP System.Int32 ContractVersion {get;set;}
PROP FinalFactory.Rendezvous.Contracts.EnvironmentId EnvironmentId {get;set;}
PROP FinalFactory.Rendezvous.Contracts.GameId GameId {get;set;}
PROP System.String IdempotencyKey {get;set;}
PROP FinalFactory.Rendezvous.Contracts.SessionListingId ListingId {get;set;}
PROP System.UInt32 ProtocolVersion {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.CreateJoinAttemptResponse
CTOR ()
PROP FinalFactory.Rendezvous.Contracts.JoinAttemptId AttemptId {get;set;}
PROP System.String ClientPunchCapability {get;set;}
PROP System.Int32 ContractVersion {get;set;}
PROP FinalFactory.Rendezvous.Contracts.NetworkEndpoint DedicatedFallback {get;set;}
PROP System.DateTimeOffset ExpiresAt {get;set;}
PROP FinalFactory.Rendezvous.Contracts.MediationHandle MediationHandle {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.DeleteSessionRequest
CTOR ()
PROP System.Int32 ContractVersion {get;set;}
PROP System.String LeaseToken {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.EnvironmentId
CTOR (System.String value)
PROP System.String Value {get;}
METHOD System.Boolean Equals(FinalFactory.Rendezvous.Contracts.EnvironmentId other)
METHOD System.Boolean Equals(System.Object obj)
METHOD System.Int32 GetHashCode()
METHOD System.String ToString()
METHOD System.Boolean TryParse(System.String value, FinalFactory.Rendezvous.Contracts.EnvironmentId& environmentId)
METHOD System.Boolean op_Equality(FinalFactory.Rendezvous.Contracts.EnvironmentId left, FinalFactory.Rendezvous.Contracts.EnvironmentId right)
METHOD System.Boolean op_Inequality(FinalFactory.Rendezvous.Contracts.EnvironmentId left, FinalFactory.Rendezvous.Contracts.EnvironmentId right)
TYPE FinalFactory.Rendezvous.Contracts.GameId
CTOR (System.String value)
PROP System.String Value {get;}
METHOD System.Boolean Equals(FinalFactory.Rendezvous.Contracts.GameId other)
METHOD System.Boolean Equals(System.Object obj)
METHOD System.Int32 GetHashCode()
METHOD System.String ToString()
METHOD System.Boolean TryParse(System.String value, FinalFactory.Rendezvous.Contracts.GameId& gameId)
METHOD System.Boolean op_Equality(FinalFactory.Rendezvous.Contracts.GameId left, FinalFactory.Rendezvous.Contracts.GameId right)
METHOD System.Boolean op_Inequality(FinalFactory.Rendezvous.Contracts.GameId left, FinalFactory.Rendezvous.Contracts.GameId right)
TYPE FinalFactory.Rendezvous.Contracts.GetSessionResponse
CTOR ()
PROP System.Int32 ContractVersion {get;set;}
PROP FinalFactory.Rendezvous.Contracts.SessionListing Session {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.HealthResponse
CTOR ()
PROP System.Int32 ContractVersion {get;set;}
PROP System.String Status {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.HostJoinAttempt
CTOR ()
PROP FinalFactory.Rendezvous.Contracts.JoinAttemptId AttemptId {get;set;}
PROP System.DateTimeOffset ExpiresAt {get;set;}
PROP System.String HostPunchCapability {get;set;}
PROP FinalFactory.Rendezvous.Contracts.MediationHandle MediationHandle {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.JoinAttemptId
CTOR (System.Guid value)
PROP System.Guid Value {get;}
METHOD System.Boolean Equals(FinalFactory.Rendezvous.Contracts.JoinAttemptId other)
METHOD System.Boolean Equals(System.Object obj)
METHOD System.Int32 GetHashCode()
METHOD System.String ToString()
METHOD System.Boolean TryParse(System.String value, FinalFactory.Rendezvous.Contracts.JoinAttemptId& id)
METHOD System.Boolean op_Equality(FinalFactory.Rendezvous.Contracts.JoinAttemptId left, FinalFactory.Rendezvous.Contracts.JoinAttemptId right)
METHOD System.Boolean op_Inequality(FinalFactory.Rendezvous.Contracts.JoinAttemptId left, FinalFactory.Rendezvous.Contracts.JoinAttemptId right)
TYPE FinalFactory.Rendezvous.Contracts.LeaseId
CTOR (System.Guid value)
PROP System.Guid Value {get;}
METHOD System.Boolean Equals(FinalFactory.Rendezvous.Contracts.LeaseId other)
METHOD System.Boolean Equals(System.Object obj)
METHOD System.Int32 GetHashCode()
METHOD System.String ToString()
METHOD System.Boolean TryParse(System.String value, FinalFactory.Rendezvous.Contracts.LeaseId& id)
METHOD System.Boolean op_Equality(FinalFactory.Rendezvous.Contracts.LeaseId left, FinalFactory.Rendezvous.Contracts.LeaseId right)
METHOD System.Boolean op_Inequality(FinalFactory.Rendezvous.Contracts.LeaseId left, FinalFactory.Rendezvous.Contracts.LeaseId right)
TYPE FinalFactory.Rendezvous.Contracts.ListingVisibility
ENUM Public=1
ENUM Unlisted=2
TYPE FinalFactory.Rendezvous.Contracts.MediationHandle
CTOR (System.Guid value)
PROP System.Guid Value {get;}
METHOD System.Boolean Equals(FinalFactory.Rendezvous.Contracts.MediationHandle other)
METHOD System.Boolean Equals(System.Object obj)
METHOD System.Int32 GetHashCode()
METHOD System.String ToString()
METHOD System.Boolean TryParse(System.String value, FinalFactory.Rendezvous.Contracts.MediationHandle& id)
METHOD System.Boolean op_Equality(FinalFactory.Rendezvous.Contracts.MediationHandle left, FinalFactory.Rendezvous.Contracts.MediationHandle right)
METHOD System.Boolean op_Inequality(FinalFactory.Rendezvous.Contracts.MediationHandle left, FinalFactory.Rendezvous.Contracts.MediationHandle right)
TYPE FinalFactory.Rendezvous.Contracts.NatPunchPeerRole
ENUM HostPresence=1
ENUM Host=2
ENUM Client=3
TYPE FinalFactory.Rendezvous.Contracts.NatPunchRequestToken
CTOR ()
PROP System.String Capability {get;set;}
PROP FinalFactory.Rendezvous.Contracts.MediationHandle MediationHandle {get;set;}
PROP FinalFactory.Rendezvous.Contracts.NatPunchPeerRole Role {get;set;}
METHOD System.String ToString()
TYPE FinalFactory.Rendezvous.Contracts.NatPunchRequestTokenCodec
FIELD System.Int32 EncodedLength=192
METHOD System.String Encode(FinalFactory.Rendezvous.Contracts.NatPunchPeerRole role, FinalFactory.Rendezvous.Contracts.MediationHandle mediationHandle, System.String capability)
METHOD System.Boolean TryDecode(System.String encoded, FinalFactory.Rendezvous.Contracts.NatPunchRequestToken& token)
TYPE FinalFactory.Rendezvous.Contracts.NetworkEndpoint
CTOR ()
PROP System.String Address {get;set;}
PROP FinalFactory.Rendezvous.Contracts.AddressFamilyKind AddressFamily {get;set;}
PROP System.Int32 Port {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.PresenceDatagram
CTOR ()
PROP FinalFactory.Rendezvous.Contracts.AddressFamilyKind AddressFamily {get;set;}
PROP System.String Capability {get;set;}
PROP System.Int32 ContractVersion {get;set;}
PROP System.String LocalAddress {get;set;}
PROP System.Int32 LocalPort {get;set;}
PROP FinalFactory.Rendezvous.Contracts.MediationHandle MediationHandle {get;set;}
PROP FinalFactory.Rendezvous.Contracts.UdpPresenceMessageType MessageType {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.PublisherTrustMode
ENUM ManagedDedicated=1
ENUM PlayerGrant=2
ENUM AnonymousUnlisted=3
TYPE FinalFactory.Rendezvous.Contracts.RegionId
CTOR (System.String value)
PROP System.String Value {get;}
METHOD System.Boolean Equals(FinalFactory.Rendezvous.Contracts.RegionId other)
METHOD System.Boolean Equals(System.Object obj)
METHOD System.Int32 GetHashCode()
METHOD System.String ToString()
METHOD System.Boolean TryParse(System.String value, FinalFactory.Rendezvous.Contracts.RegionId& regionId)
METHOD System.Boolean op_Equality(FinalFactory.Rendezvous.Contracts.RegionId left, FinalFactory.Rendezvous.Contracts.RegionId right)
METHOD System.Boolean op_Inequality(FinalFactory.Rendezvous.Contracts.RegionId left, FinalFactory.Rendezvous.Contracts.RegionId right)
TYPE FinalFactory.Rendezvous.Contracts.RegisterSessionRequest
CTOR ()
PROP System.String BuildVersion {get;set;}
PROP FinalFactory.Rendezvous.Contracts.SessionCapacity Capacity {get;set;}
PROP System.Int32 ContractVersion {get;set;}
PROP System.String DisplayName {get;set;}
PROP FinalFactory.Rendezvous.Contracts.EnvironmentId EnvironmentId {get;set;}
PROP FinalFactory.Rendezvous.Contracts.GameId GameId {get;set;}
PROP System.String IdempotencyKey {get;set;}
PROP System.Collections.Generic.Dictionary<System.String,System.String> Metadata {get;set;}
PROP System.UInt32 ProtocolVersion {get;set;}
PROP FinalFactory.Rendezvous.Contracts.RegionId RegionId {get;set;}
PROP FinalFactory.Rendezvous.Contracts.ListingVisibility Visibility {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.RegisterSessionResponse
CTOR ()
PROP System.Int32 ContractVersion {get;set;}
PROP System.DateTimeOffset ExpiresAt {get;set;}
PROP System.String HostPresenceCapability {get;set;}
PROP FinalFactory.Rendezvous.Contracts.MediationHandle HostPresenceHandle {get;set;}
PROP System.Int32 HostPresenceRefreshAfterSeconds {get;set;}
PROP FinalFactory.Rendezvous.Contracts.LeaseId LeaseId {get;set;}
PROP System.Int32 LeaseRenewAfterSeconds {get;set;}
PROP System.String LeaseToken {get;set;}
PROP FinalFactory.Rendezvous.Contracts.SessionListingId ListingId {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.RendezvousErrorCode
ENUM None=0
ENUM InvalidRequest=1
ENUM UnsupportedContractVersion=2
ENUM IncompatibleProtocol=3
ENUM AuthenticationRequired=4
ENUM Forbidden=5
ENUM NotFound=6
ENUM Conflict=7
ENUM RateLimited=8
ENUM StaleHost=9
ENUM Expired=10
ENUM ReplayRejected=11
ENUM CapacityExceeded=12
ENUM ServiceUnavailable=13
ENUM InternalError=14
TYPE FinalFactory.Rendezvous.Contracts.RendezvousUdpCodec
FIELD System.Byte FlagsNone=0
FIELD System.Byte MagicFirst=82
FIELD System.Byte MagicSecond=86
METHOD System.Byte[] Encode(FinalFactory.Rendezvous.Contracts.PresenceDatagram datagram)
METHOD System.Boolean TryDecode(System.ReadOnlySpan<System.Byte> encoded, FinalFactory.Rendezvous.Contracts.PresenceDatagram& datagram, FinalFactory.Rendezvous.Contracts.UdpDecodeError& error)
TYPE FinalFactory.Rendezvous.Contracts.RenewLeaseRequest
CTOR ()
PROP System.Int32 ContractVersion {get;set;}
PROP System.String LeaseToken {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.RenewLeaseResponse
CTOR ()
PROP System.Int32 ContractVersion {get;set;}
PROP System.DateTimeOffset ExpiresAt {get;set;}
PROP System.Int32 RenewAfterSeconds {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.ReportConnectionOutcomeRequest
CTOR ()
PROP System.Int32 ContractVersion {get;set;}
PROP System.String DiagnosticCode {get;set;}
PROP System.Int32 ElapsedMilliseconds {get;set;}
PROP FinalFactory.Rendezvous.Contracts.ConnectionOutcomeKind Outcome {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.ReportConnectionOutcomeResponse
CTOR ()
PROP System.Boolean Accepted {get;set;}
PROP System.Int32 ContractVersion {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.SessionCapacity
CTOR ()
PROP System.Int32 CurrentPlayers {get;set;}
PROP System.Int32 MaximumPlayers {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.SessionListing
CTOR ()
PROP System.String BuildVersion {get;set;}
PROP FinalFactory.Rendezvous.Contracts.SessionCapacity Capacity {get;set;}
PROP System.Int32 ContractVersion {get;set;}
PROP System.String DisplayName {get;set;}
PROP FinalFactory.Rendezvous.Contracts.EnvironmentId EnvironmentId {get;set;}
PROP FinalFactory.Rendezvous.Contracts.GameId GameId {get;set;}
PROP FinalFactory.Rendezvous.Contracts.SessionListingId ListingId {get;set;}
PROP System.Collections.Generic.Dictionary<System.String,System.String> Metadata {get;set;}
PROP System.UInt32 ProtocolVersion {get;set;}
PROP FinalFactory.Rendezvous.Contracts.PublisherTrustMode PublisherTrustMode {get;set;}
PROP FinalFactory.Rendezvous.Contracts.RegionId RegionId {get;set;}
PROP FinalFactory.Rendezvous.Contracts.ListingVisibility Visibility {get;set;}
TYPE FinalFactory.Rendezvous.Contracts.SessionListingId
CTOR (System.Guid value)
PROP System.Guid Value {get;}
METHOD System.Boolean Equals(FinalFactory.Rendezvous.Contracts.SessionListingId other)
METHOD System.Boolean Equals(System.Object obj)
METHOD System.Int32 GetHashCode()
METHOD System.String ToString()
METHOD System.Boolean TryParse(System.String value, FinalFactory.Rendezvous.Contracts.SessionListingId& id)
METHOD System.Boolean op_Equality(FinalFactory.Rendezvous.Contracts.SessionListingId left, FinalFactory.Rendezvous.Contracts.SessionListingId right)
METHOD System.Boolean op_Inequality(FinalFactory.Rendezvous.Contracts.SessionListingId left, FinalFactory.Rendezvous.Contracts.SessionListingId right)
TYPE FinalFactory.Rendezvous.Contracts.UdpDecodeError
ENUM None=0
ENUM DatagramTooLarge=1
ENUM Truncated=2
ENUM InvalidMagic=3
ENUM UnsupportedVersion=4
ENUM UnknownMessageType=5
ENUM InvalidFlags=6
ENUM InvalidHandle=7
ENUM InvalidAddressFamily=8
ENUM InvalidAddress=9
ENUM InvalidPort=10
ENUM InvalidCapability=11
ENUM TrailingData=12
TYPE FinalFactory.Rendezvous.Contracts.UdpPresenceMessageType
ENUM HostPresence=1
ENUM ClientPresence=2
TYPE FinalFactory.Rendezvous.Contracts.UpdateSessionRequest
CTOR ()
PROP System.String BuildVersion {get;set;}
PROP FinalFactory.Rendezvous.Contracts.SessionCapacity Capacity {get;set;}
PROP System.Int32 ContractVersion {get;set;}
PROP System.String DisplayName {get;set;}
PROP System.String LeaseToken {get;set;}
PROP System.Collections.Generic.Dictionary<System.String,System.String> Metadata {get;set;}