新增FishNet文档
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
---
|
||||
description: Transports control how data is sent, received, and handled over the network.
|
||||
---
|
||||
|
||||
# Transports
|
||||
|
||||
The **Transport** is the low-level layer responsible for sending and receiving raw data over the network. It abstracts away the details of TCP/UDP sockets and handles packet delivery, reliability, ordering, etc. FishNet uses events internally to plug into transport messages. Although it be unlikely you would need to access such messages, they are available to you for your development as well.
|
||||
|
||||
There are many transports available, some are maintained by the Fish-Networking team and others maintained by the community.
|
||||
|
||||
{% hint style="success" %}
|
||||
[Tugboat](tugboat.md) is the default transport and will be added to your project at runtime. If you wish to use a different transport or customize **Tugboat** you must add the component to your [NetworkManager](../components/managers/network-manager.md) object.
|
||||
{% endhint %}
|
||||
|
||||
## Switching transports at run-time or using multiple transports
|
||||
|
||||
FishNet has support for changing transports on your NetworkManager while the network is not running as well as allowing servers to utilize multiple transports at once. For example you may want to use FishyEOS or Unity Transport to support your console users, but also use Tugboat to give a better experience to your Non-Console users.
|
||||
|
||||
FishNet uses the Multipass transport to achieve both of these goals.
|
||||
|
||||
{% hint style="info" %}
|
||||
Even with **Multipass**, clients can only ever utilize one active **transport**. More info can be found on the [Component](multipass.md) and [Guide](../../guides/features/transports/multipass.md) pages.
|
||||
{% endhint %}
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
description: >-
|
||||
Bayou is a WebGL transport, evolved from SimpleWebTransport, built for
|
||||
seamless browser communication.
|
||||
---
|
||||
|
||||
# Bayou
|
||||
|
||||
## Description
|
||||
|
||||
Bayou is the transport you are looking for when you want communication on WebGL.\
|
||||
\
|
||||
It is an updated and repurposed version of the "SimpleWebTransport" that was originally designed for Mirror Networking.
|
||||
|
||||
***
|
||||
|
||||
## Compatibility
|
||||
|
||||
<table data-full-width="false" data-search="false"><thead><tr><th width="149">System</th><th width="198">Supported?</th></tr></thead><tbody><tr><td>Windows</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>MacOS</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Linux</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Web</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>IOS</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Android</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Xbox</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>PlayStation</td><td><mark style="color:red;">Not Supported</mark></td></tr><tr><td>Nintendo</td><td><mark style="color:red;">Not Supported</mark></td></tr></tbody></table>
|
||||
|
||||
***
|
||||
|
||||
## How to install
|
||||
|
||||
Bayou does not come with FishNet by default; you must download it from GitHub.\
|
||||
You can find the latest version at the link below!
|
||||
|
||||
[https://github.com/FirstGearGames/Bayou/releases](https://github.com/FirstGearGames/Bayou/)\
|
||||
\
|
||||
Once downloaded and imported into Unity alongside FishNet. You should add the component to your network manager, and assign the **Transport** field on the **Transport Manager** to the Bayou component.
|
||||
|
||||
***
|
||||
|
||||
## Settings
|
||||
|
||||
<div align="left"><figure><img src="../../.gitbook/assets/bayou-component.png" alt=""><figcaption><p>Default settings</p></figcaption></figure></div>
|
||||
|
||||
### :gear: **Use WSS**
|
||||
|
||||
> When enabled, Bayou will use Secure WebSockets instead of normal WebSockets.
|
||||
>
|
||||
> When this is enabled the following options will be available:
|
||||
>
|
||||
> * **Enabled**: Turns on/off Requiring SSL Certificate.
|
||||
> * **Certificate Path**: File Path for the certificate
|
||||
> * **Certificate Password**: Password for certificate
|
||||
> * **SSL Protocol**: The protocol you would like to use for encryption.
|
||||
|
||||
### :gear: **MTU**
|
||||
|
||||
> Maximum Transmission Unity for the unreliable channel (in bytes)
|
||||
|
||||
### :gear: **Port**
|
||||
|
||||
> The port you want to bind the server to. Default port is 7770.
|
||||
|
||||
### :gear: **Maximum Clients**
|
||||
|
||||
> The maximum amount of clients allowed to connect to the server. Default is 2000 clients.
|
||||
|
||||
### :gear: **Client Address**
|
||||
|
||||
> The Address the client should use to connect to the server.
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
description: >-
|
||||
A WebRTC transport for FishNetworking, inspired by Bayou, FishyWebRTC,
|
||||
SimpleWebTransport, Tugboat, and more.
|
||||
---
|
||||
|
||||
# Canoe WebRTC
|
||||
|
||||
## Description
|
||||
|
||||
A WebRTC transport for FishNetworking that supports WebGL and Standalone builds with reliable and unreliable UDP channels, partial P2P via host, and exposed signaling functionality—built on Bayou, FishyWebRTC, SimpleWebTransport, Tugboat, and more.
|
||||
|
||||
***
|
||||
|
||||
## How to install
|
||||
|
||||
For installation and usage please visit the project's [GitHub here](https://github.com/gmrodriguez124/CanoeWebRTC).
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
description: >-
|
||||
Blitz Relay for Fish-Networking is a transport for a free, self-hostable
|
||||
relay.
|
||||
---
|
||||
|
||||
# Blitz Relay for FishNet
|
||||
|
||||
## Description
|
||||
|
||||
[Blitz Relay for FishNet](https://github.com/abdelfattahradwan/blitz-relay-for-fishnet) is a relay transport that routes all client traffic through a free self-hostable [Blitz Relay](https://github.com/abdelfattahradwan/blitz-relay) server instance, eliminating the need for clients to have publicly reachable IP addresses or open ports.
|
||||
|
||||
This makes it ideal for deployments where NAT traversal or firewall restrictions prevent direct peer‑to‑peer connections. Internally, the transport uses a modified build of **LiteNetLib** for its UDP connections to the relay, ensuring efficient and reliable communication.
|
||||
|
||||
You can find out more about Blitz Relay here: [https://github.com/abdelfattahradwan/blitz-relay](https://github.com/abdelfattahradwan/blitz-relay)
|
||||
|
||||
## How to install
|
||||
|
||||
For installation and usage please visit the project's [GitHub here](https://github.com/abdelfattahradwan/fishyblitzrelay).
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
---
|
||||
description: >-
|
||||
FishyEOS integrates Epic Online Services with FishNet, enabling matchmaking
|
||||
and relay through the PlayEveryware EOS Plugin for Unity.
|
||||
---
|
||||
|
||||
# FishyEOS (Epic Online Services)
|
||||
|
||||
## Description
|
||||
|
||||
EOS transport allows you to utilize Epic's Online Services, such as matchmaking and relay, as the base of your FishNet connection.\
|
||||
\
|
||||
FishyEOS uses the [PlayEveryware EOS Plugin for Unity SDK](https://eospluginforunity.playeveryware.com/), which is a wrapper API/SDK for developers using C# and Unity to take advantage of Epic's Online Services API.
|
||||
|
||||
***
|
||||
|
||||
## Compatibility
|
||||
|
||||
<table data-full-width="false" data-search="false"><thead><tr><th width="149">System</th><th width="198">Supported?</th><th>Epic Overlay Support?</th></tr></thead><tbody><tr><td>Windows</td><td><mark style="color:green;">Supported</mark></td><td><mark style="color:green;">Yes</mark></td></tr><tr><td>MacOS</td><td><mark style="color:green;">Supported</mark></td><td><mark style="color:red;">No</mark></td></tr><tr><td>Linux</td><td><mark style="color:green;">Supported</mark></td><td><mark style="color:red;">No</mark></td></tr><tr><td>Web</td><td><mark style="color:red;">Not Supported</mark></td><td><mark style="color:red;">No</mark></td></tr><tr><td>IOS</td><td><mark style="color:green;">Supported</mark></td><td><mark style="color:red;">No</mark></td></tr><tr><td>Android</td><td><mark style="color:green;">Supported</mark></td><td><mark style="color:red;">No</mark></td></tr><tr><td>Xbox</td><td><mark style="color:yellow;">In Preview</mark></td><td><mark style="color:yellow;">Unknown</mark></td></tr><tr><td>PlayStation</td><td><mark style="color:yellow;">In Preview</mark></td><td><mark style="color:yellow;">Unknown</mark></td></tr><tr><td>Nintendo</td><td><mark style="color:yellow;">In Preview</mark></td><td><mark style="color:yellow;">Unknown</mark></td></tr></tbody></table>
|
||||
|
||||
***
|
||||
|
||||
## How to install
|
||||
|
||||
Please visit the GitHub locations for official installation and usage instructions.
|
||||
|
||||
Main: [https://github.com/ETdoFresh/FishyEOS](https://github.com/ETdoFresh/FishyEOS)
|
||||
|
||||
Fork: [https://github.com/FirstGearGames/FishyEOS](https://github.com/FirstGearGames/FishyEOS).
|
||||
|
||||
{% hint style="warning" %}
|
||||
Remember that this transport requires a separate installation of the PlayEveryware EOS for Unity SDK. Installation instructions for that are included in the GitHub pages above.
|
||||
{% endhint %}
|
||||
|
||||
***
|
||||
|
||||
## Component settings
|
||||
|
||||
* Maximum Clients: Maximum number of players which may be connected at once
|
||||
|
||||
#### EOS
|
||||
|
||||
* Socket Name: Socket ID \[Must be the same on all clients and server]
|
||||
* Remote Server Product User ID: Server Product User ID. Must be set for remote clients.
|
||||
* Auto Authenticate: Automatically Authenticate/Login to EOS Connect when starting server or client.
|
||||
* Auto Connect Data: All the data necessary to login to EOS and connect to a remote peer.
|
||||
* Login Credential Type:
|
||||
* ID:
|
||||
* Token:
|
||||
* Display Name:
|
||||
* Automatically Create Device ID:
|
||||
* Auth Scope Flags:
|
||||
* Timeout:
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: >-
|
||||
FishyFacepunch connects FishNet to Steam via the Facepunch.Steamworks API,
|
||||
offering a simpler wrapper over Steamworks.Net for your transport layer.
|
||||
---
|
||||
|
||||
# FishyFacepunch (Steam)
|
||||
|
||||
## Description
|
||||
|
||||
FishyFacepunch is a transport to interface with Steam using Facepunch.Steamworks API.\
|
||||
\
|
||||
You will need [FishyFacepunch](https://github.com/FirstGearGames/FishyFacepunch) to be the transport layer, and you will need [FacePunch.Steamworks](https://github.com/Facepunch/Facepunch.Steamworks), which is a subjectively simpler wrapper for the Steamworks.Net API.\
|
||||
\
|
||||
See the How to Install section to setup the Transport and FacePunch.Steamworks.
|
||||
|
||||
***
|
||||
|
||||
## Compatibility
|
||||
|
||||
<table data-full-width="false" data-search="false"><thead><tr><th width="149">System</th><th width="198">Supported?</th></tr></thead><tbody><tr><td>Windows</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>MacOS</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Linux</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Web</td><td><mark style="color:red;">Not Supported</mark></td></tr><tr><td>IOS</td><td><mark style="color:red;">Not Supported</mark></td></tr><tr><td>Android</td><td><mark style="color:red;">Not Supported</mark></td></tr><tr><td>Xbox</td><td><mark style="color:red;">Not Supported</mark></td></tr><tr><td>PlayStation</td><td><mark style="color:red;">Not Supported</mark></td></tr><tr><td>Nintendo</td><td><mark style="color:red;">Not Supported</mark></td></tr></tbody></table>
|
||||
|
||||
***
|
||||
|
||||
## How to install
|
||||
|
||||
To install visit [https://github.com/FirstGearGames/FishyFacepunch](https://github.com/FirstGearGames/FishyFacepunch) and follow the Setup instructions.
|
||||
|
||||
{% hint style="warning" %}
|
||||
Note that this transport requires Facepunch.Steamworks to be installed separately, as well as .Net 4x or greater. Links to install these should be on the GitHub as well.
|
||||
{% endhint %}
|
||||
|
||||
***
|
||||
|
||||
## Component settings
|
||||
|
||||
<div align="left"><figure><img src="../../.gitbook/assets/facepunch-component.png" alt=""><figcaption><p>Default settings</p></figcaption></figure></div>
|
||||
|
||||
* **Steam App ID:** The App ID assigned to your game when registered with Steam. The default is 480 which is Steam's testing game (SpaceWar).
|
||||
|
||||
#### Server
|
||||
|
||||
* **Server Bind Address:** Used if you want to manually Bind a Steam ID to the server.
|
||||
* **Port:** The port you want the server to be bound to. Default is 27015
|
||||
* **Maximum Clients:** The maximum number of clients you would like to connect to the server. Default is 16.
|
||||
|
||||
#### Client
|
||||
|
||||
* **Client Address:** The Steam ID of the server you are connecting to. The Servers Steam ID if its standalone, or the Hosts Client Steam ID if the server is a host.
|
||||
* **Timeout (Seconds):** The amount of time allowed to establish a connection, in seconds.
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
description: A Photon Realtime transport for Fish-Networking.
|
||||
---
|
||||
|
||||
# FishyRealtime (Photon)
|
||||
|
||||
{% hint style="danger" icon="dollar-sign" %}
|
||||
While the FishyRealtime Transport itslef is free and under the MIT license, Exit Games' Photon Realtime is subject to their own service charges and license.
|
||||
{% endhint %}
|
||||
|
||||
## Description
|
||||
|
||||
FishyRealtime is a transport that allows the [Photon Realtime](https://www.photonengine.com/Realtime) service from the company **Exit Games** to work with FishNet!
|
||||
|
||||
***
|
||||
|
||||
## Compatibility
|
||||
|
||||
<table data-full-width="false" data-search="false"><thead><tr><th width="149">System</th><th width="198">Supported?</th></tr></thead><tbody><tr><td>Windows</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>MacOS</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>IOS</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Android</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Linux</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Xbox</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>PlayStation</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Nintendo</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Web</td><td><mark style="color:red;">Not Supported</mark></td></tr></tbody></table>
|
||||
|
||||
***
|
||||
|
||||
## How to install
|
||||
|
||||
Please visit the official GitHub link for installation and usage instructions.
|
||||
|
||||
Main: [https://github.com/REIO7200/FishyRealtime](https://github.com/REIO7200/FishyRealtime)
|
||||
|
||||
{% hint style="warning" %}
|
||||
To reiterate, this transport does depend on installing the Photon Realtime SDK separately.
|
||||
{% endhint %}
|
||||
|
||||
***
|
||||
|
||||
## Component settings
|
||||
|
||||
* **Photon APP ID:** The app id of the Photon Realtime product.
|
||||
* **App Version:** The version of the product (game), only clients with the same version can connect to each other.
|
||||
|
||||
#### Default room options
|
||||
|
||||
* **Max Players:** Default max players.
|
||||
* **Is Visible:** Whether Room is Visible to Public Room List.
|
||||
* **Is Open:** Whether the room is public or private.
|
||||
* **Connection Protocol:** Connection Type.
|
||||
* **Region:** The Region the Server is hosted on.
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
description: >-
|
||||
FishySteamworks is a reformed version of FizzySteamworks, delivering major
|
||||
performance gains and full support for Heathen Engineering’s Steamworks SDK
|
||||
Toolkit.
|
||||
---
|
||||
|
||||
# FishySteamworks (Steam)
|
||||
|
||||
## Description
|
||||
|
||||
FishySteamworks is FizzySteamworks reformed. FishySteamworks has significant performance improvements and has been made to fully support [Toolkit for Steamworks SDK](https://kb.heathen.group/toolkit-for-steamworks-sdk/steamworks) by _Heathen Engineering._
|
||||
|
||||
***
|
||||
|
||||
## Compatibility <a href="#server-and-host" id="server-and-host"></a>
|
||||
|
||||
<table data-full-width="false" data-search="false"><thead><tr><th width="149">System</th><th width="198">Supported?</th></tr></thead><tbody><tr><td>Windows</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>MacOS</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Linux</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Web</td><td><mark style="color:red;">Not Supported</mark></td></tr><tr><td>IOS</td><td><mark style="color:red;">Not Supported</mark></td></tr><tr><td>Android</td><td><mark style="color:red;">Not Supported</mark></td></tr><tr><td>Xbox</td><td><mark style="color:red;">Not Supported</mark></td></tr><tr><td>PlayStation</td><td><mark style="color:red;">Not Supported</mark></td></tr><tr><td>Nintendo</td><td><mark style="color:red;">Not Supported</mark></td></tr></tbody></table>
|
||||
|
||||
***
|
||||
|
||||
## How to install
|
||||
|
||||
Github: [https://github.com/FirstGearGames/FishySteamworks/](https://github.com/FirstGearGames/FishySteamworks/)\
|
||||
\
|
||||
Download and import the latest package from the [GitHub releases](https://github.com/FirstGearGames/FishySteamworks/releases) into your Unity FishNet project and add the **FishySteamworks** component to your [Transport Manager.](../components/managers/transportmanager/)
|
||||
|
||||
{% hint style="warning" %}
|
||||
FishySteamworks is dependent upon [Steamworks.NET](https://steamworks.github.io/). An [installation article](https://steamworks.github.io/installation/#unity-instructions) for Unity is available on their webpage.
|
||||
{% endhint %}
|
||||
|
||||
***
|
||||
|
||||
## Component settings <a href="#server-and-host" id="server-and-host"></a>
|
||||
|
||||
* **Steam App Id:** is the Id for your steam application. 480 is the default, which is often used as a test App Id.
|
||||
* **Server Bind Address:** Which IP the server will bind/listen on. The default value is empty.
|
||||
* **Port:** Indicates which port the server will listen on.
|
||||
* **Peer To Peer:** Will allow clients to act as [host](../../guides/high-level-overview/terminology/server-client-host.md#server-and-host-2) when running your project. IP addresses are **NOT** revealed.
|
||||
* **Maximum Clients:** is how many players can be connected to the server at once.
|
||||
* **Client Address:** is the IP of the server, which clients connect to. Empty is the default value for local testing.
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
---
|
||||
description: >-
|
||||
FishyUnityTransport integrates Unity’s Official Transport with FishNet,
|
||||
supporting both 1.0 and 2.0 while enabling Unity Multiplayer Services like
|
||||
Relay.
|
||||
---
|
||||
|
||||
# FishyUnityTransport
|
||||
|
||||
## Description
|
||||
|
||||
A transport to utilize Unity's Official Transport with FishNet. Supports both Unity Transport 1.0 and Unity Transport 2.0\
|
||||
\
|
||||
Using **FishyUnityTransport** also allows you to utilize some of [Unity's Multiplayer Services](https://unity.com/solutions/multiplayer), like [Relay](https://unity.com/products/relay)!
|
||||
|
||||
***
|
||||
|
||||
## Compatibility
|
||||
|
||||
<table data-full-width="false" data-search="false"><thead><tr><th width="149">System</th><th width="198">Supported?</th></tr></thead><tbody><tr><td>Windows</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>MacOS</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Linux</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Web</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>IOS</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Android</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Xbox</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>PlayStation</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Nintendo</td><td><mark style="color:green;">Fully Supported</mark></td></tr></tbody></table>
|
||||
|
||||
***
|
||||
|
||||
## How to install
|
||||
|
||||
For installation instructions and usage please visit the official GitHub site.
|
||||
|
||||
Main: [https://github.com/ooonush/FishyUnityTransport](https://github.com/ooonush/FishyUnityTransport)
|
||||
|
||||
***
|
||||
|
||||
## Component settings
|
||||
|
||||
{% hint style="warning" %}
|
||||
Settings marked in <mark style="color:yellow;">**Yellow**</mark> are only supported on Unity Transport 2.0!
|
||||
{% endhint %}
|
||||
|
||||
* **Protocol Type:** Configure whether the transport is done via direct connection or over Unity Relay.
|
||||
* <mark style="color:yellow;">**Use Web Sockets:**</mark> Per default the client/server will communicate over UDP. Set to true to communicate with WebSocket.
|
||||
* <mark style="color:yellow;">**Use Encryption:**</mark> Per default the client/server communication will not be encrypted. Select true to enable DTLS for UDP and TLS for Websocket
|
||||
* **Max Packet Queue Size:** The maximum amount of packets that can be in the internal send/receive queues. Basically this is how many packets can be sent/received in a single update/frame.
|
||||
* **Max Payload Size:** The maximum size of an unreliable payload that can be handled by the transport.
|
||||
* **Heartbeat Timeout (ms):** Timeout in milliseconds after which a heartbeat is sent if there is no activity.
|
||||
* **Connect Timeout (ms):** Timeout in milliseconds indicating how long we will wait until we send a new connection attempt.
|
||||
* **Max Connect Attempts:** The maximum amount of connection attempts we will try before disconnecting.
|
||||
* **Disconnect Timout (ms):** Inactivity timeout after which a connection will be disconnected. The connection needs to receive data from the connected endpoint within this timeout. Note that with heartbeats enabled, simply not sending any data will not be enough to trigger this timeout (since heartbeats count as connection events
|
||||
* **Connection Data:**
|
||||
* **Address:** IP address of the server (address to which clients will connect to)
|
||||
* **Port:** UDP port of the server.
|
||||
* **Server Listen Address:** IP address the server will listen on. If not provided, will use localhost.
|
||||
* **Maximum Clients**: The Number of Clients allowed to connect to the FishNet server.
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
description: >-
|
||||
A WebRTC transport plugin for FishNetworking that brings UDP to the browser
|
||||
with reliable and unreliable channels, built on Bayou and SimpleWebTransport.
|
||||
---
|
||||
|
||||
# FishyWebRTC
|
||||
|
||||
## Description
|
||||
|
||||
This WebRTC transport plugin extends FishNetworking with full browser‑based UDP support, enabling both reliable and unreliable channels directly in WebGL builds. It makes multiplayer communication possible in the browser without sacrificing performance or flexibility. While clients can only be run in WebGL (due to the JavaScript‑based WebRTC implementation), servers can be built for most platforms, with Linux Dedicated Server builds tested. Multipass can be used to combine Yak or other transports for hybrid offline/online play, and HTTPS signaling can be added via a reverse proxy. With straightforward installation through Unity’s Package Manager and minimal setup, this plugin provides a practical way to bring WebRTC networking into FishNetworking projects.
|
||||
|
||||
***
|
||||
|
||||
## How to install
|
||||
|
||||
For installation and usage please visit the project's [GitHub here](https://github.com/cakeslice/FishyWebRTC).
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
description: >-
|
||||
Multipass lets a single server run multiple transports simultaneously, uniting
|
||||
players across platforms in the same game.
|
||||
---
|
||||
|
||||
# Multipass
|
||||
|
||||
## Description
|
||||
|
||||
**Multipass** is a pass-through transport that allows multiple transports to run on the server at once. For example, you may want to run Tugboat for your desktop or mobile users, and Bayou for your web users. With **Multipass** a single server build can run both, joining players from both together in the same game.
|
||||
|
||||
For usage see the [guide](../../guides/features/transports/multipass.md#setup).
|
||||
|
||||
***
|
||||
|
||||
## Compatibility
|
||||
|
||||
<table data-full-width="false"><thead><tr><th width="149">System</th><th width="198">Supported?</th></tr></thead><tbody><tr><td>All Platforms</td><td><mark style="color:green;">Fully Supported</mark></td></tr></tbody></table>
|
||||
|
||||
***
|
||||
|
||||
## How to install
|
||||
|
||||
Multipass comes with FishNet by default! No extra downloads needed.\
|
||||
\
|
||||
Just add Multipass to your [Transport Manager](../components/managers/transportmanager/) and follow the usage guide mentioned in General above.
|
||||
|
||||
***
|
||||
|
||||
## Settings
|
||||
|
||||
<div align="left"><figure><img src="../../.gitbook/assets/multipass-component.png" alt=""><figcaption><p>Default settings</p></figcaption></figure></div>
|
||||
|
||||
### :gear: **Global Server Actions**
|
||||
|
||||
> **W**hile enabled, this will perform server actions such as start or stop server on all transports.
|
||||
|
||||
### :gear: **Transports**
|
||||
|
||||
> A collection of [transports](../../guides/features/transports/) you wish **Multipass** to support.
|
||||
@@ -0,0 +1,71 @@
|
||||
---
|
||||
description: >-
|
||||
The default transport of FishNet, utilizing the power, efficiency and
|
||||
reliability of LiteNetLib.
|
||||
---
|
||||
|
||||
# Tugboat
|
||||
|
||||
## Description
|
||||
|
||||
Tugboat uses [LiteNetLib](https://github.com/RevenantX/LiteNetLib) to support reliable and unreliable messages. This is the default transport for Fish-Networking and will automatically be added to your [NetworkManager](../components/managers/network-manager.md) if no other [transport](./) has been added already. It supports a large variety of platforms, and is a good choice for many games.
|
||||
|
||||
***
|
||||
|
||||
## Compatibility <a href="#server-and-host" id="server-and-host"></a>
|
||||
|
||||
<table data-full-width="false" data-search="false"><thead><tr><th width="149">System</th><th width="198">Supported?</th></tr></thead><tbody><tr><td>Windows</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>MacOS</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Linux</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Web</td><td><mark style="color:red;">Not Supported</mark></td></tr><tr><td>IOS</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Android</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Xbox</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>PlayStation</td><td><mark style="color:green;">Fully Supported</mark></td></tr><tr><td>Nintendo</td><td><mark style="color:green;">Fully Supported</mark></td></tr></tbody></table>
|
||||
|
||||
***
|
||||
|
||||
## How to install
|
||||
|
||||
Tugboat is the default transport of FishNet! Which means it comes with FishNet by default when Importing FishNet from your favorite source.
|
||||
|
||||
The [Transport Manager](../components/managers/transportmanager/) will automatically make this the default transport at runtime, if you did not add any other Transport to the Network Manager Game Object.
|
||||
|
||||
***
|
||||
|
||||
## Settings <a href="#server-and-host" id="server-and-host"></a>
|
||||
|
||||
<div align="left"><figure><img src="../../.gitbook/assets/tugboat-component.png" alt=""><figcaption><p>Default settings</p></figcaption></figure></div>
|
||||
|
||||
### :gear: Stop Sockets On Thread
|
||||
|
||||
> When enabled, causes the local server and client sockets to be stopped using a new thread. This option can be useful for ensuring that the socket shutdown process does not block the main thread, which may help with smoother shutdowns or prevent the application from freezing during network cleanup.
|
||||
|
||||
### :gear: Don't Route
|
||||
|
||||
> Enable **Don't Route** if you want your Tugboat server or client to send data directly to the local interface, avoiding any network routing by the operating system. This is an advanced option primarily for special networking requirements.
|
||||
|
||||
### :gear: **Unreliable MTU**
|
||||
|
||||
> This is the largest size an unreliable packet may be. When a single outbound data exceeds this value it is sent reliably. Smaller unreliable datas will be automatically split over multiple unreliable sends.
|
||||
|
||||
### :gear: **Reuse Address**
|
||||
|
||||
> Allows the same address and port to be used multiple times by the server. This can be useful if you wish to launch multiple builds or server instances on the same machine using the same configuration.
|
||||
|
||||
### :gear: I**Pv4 Bind Address**
|
||||
|
||||
> This is which address to bind the server to. If set and IPv4 is not available this will cause a socket error upon server start.
|
||||
|
||||
### :gear: **Enable IPv6**
|
||||
|
||||
> Enables IPv6 binding when available. In some cases you may want this disabled if you have an IPv6 interface you do not want used.
|
||||
|
||||
### :gear: **IPv6 Bind Address**
|
||||
|
||||
> This is which address to bind the server to. If set and IPv6 is not available this will cause a socket error upon server start.
|
||||
|
||||
### :gear: **Port**
|
||||
|
||||
> Is which port the server will listen on. This is also the port clients will connect to. In some instances you may need to change this at runtime using `TransportManager.SetPort()`.
|
||||
|
||||
### :gear: **Maximum Clients**
|
||||
|
||||
> **Maximum Clients** is the maximum active clients allowed before the transport begins to deny connections.
|
||||
|
||||
### :gear: **Client Address**
|
||||
|
||||
> This is which address to connect to as a client. This is typically your server address. Localhost is set as default for local testing.
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
description: >-
|
||||
Yak is an offline transport that runs your multiplayer code without opening
|
||||
any sockets, seamlessly supporting offline/singleplayer play.
|
||||
---
|
||||
|
||||
# Yak (Pro Feature)
|
||||
|
||||
{% hint style="info" icon="rectangle-pro" %}
|
||||
Yak is part of Fish-Networking Pro features.
|
||||
{% endhint %}
|
||||
|
||||
## Description
|
||||
|
||||
An offline transport that runs off your multiplayer code. No local or remote connections are made using this transport.
|
||||
|
||||
Besides being an offline transport, Yak API behaves exactly as our many other transports. In result, you do not need to change any of your code to take advantage of Yak.
|
||||
|
||||
To support offline play and online play you will want to consider using [Multipass](multipass.md) with Yak and an online transport of your choice.
|
||||
|
||||
***
|
||||
|
||||
## Compatibility
|
||||
|
||||
<table data-full-width="false"><thead><tr><th width="149">System</th><th width="198">Supported?</th></tr></thead><tbody><tr><td>All Platforms</td><td><mark style="color:green;">Fully Supported</mark></td></tr></tbody></table>
|
||||
|
||||
***
|
||||
|
||||
## How to install
|
||||
|
||||
Yak is part of FishNet Pro! So you must have purchased pro. See how to purchase and download FishNet Pro [here](../../overview/readme/pro-projects-and-support.md).\
|
||||
\
|
||||
After Installing FishNet Pro, just add Yak to your Transport manager, most likely you will be adding Yak onto Multipass like mentioned in the General Section above.
|
||||
|
||||
***
|
||||
|
||||
## Settings
|
||||
|
||||
No settings needed to be configured with Yak.
|
||||
Reference in New Issue
Block a user