What's new in v1.2.11
Main Changes:
- Support for PlayFab Servers 2.0
- Support for Source Control Systems
- Force Public Binding Endpoint of Game Server
- New Thread Pool Manager
For a full list of changes, check the log here.
Support for PlayFab Servers 2.0
In this version we've extended the support to cloud hosting services to include the new Azure PlayFab Servers 2.0, also known as Thunderhead.
The PlayFab integration grants to you the option to run Headless servers inside the Azure infrastructure, spin news servers on-the-fly and retrieve metrics from your servers from the main dashboard.
You can find more information about the integration on our dedicated page and also on the PlayFab Sample.
It shows how to build a working headless server running directly on the PlayFab VMs and a client capable of connecting to the game server.
Support for Source Control Systems
Photon Bolt now include support to Source Control Systems integrated with the Unity Editor, like Perforce and others that use the VersionControl.Provider API to synchronize files.
By default the support is disabled, so it will not interphere on the normal usage of Bolt, but if your team make use of such tool, you can enable it on the Bolt Settings
window, at the Miscellaneous
section, on the Enable Source Provider Integration
checkbox.
Force Public Binding Endpoint of Game Server
Photon Bolt has built-in procedure capable of discovering the public IP and PORT of the peer running the SDK, it makes usage of the STUN protocol.
This is useful and necessary in order to accomplish the punch-through between the game server and the client, creating a direct connection.
The procedure works fine in most of the network scenarios and grants lower delays among the players.
Unfortunately, this behavior will not work on 100% of the cases, mostly because the game server is running on a very constrained network configuration, that is the case on some hosting service providers, corporative infrastructures, universities, as examples.
For those cases, Bolt has now the option to force the public endpoint of the local peer.
This configuration is only useful if you are able to get this information at the startup of your game server or it's fixed for the current server.
Here is shown how to inform Photon Bolt which endpoint it should use as it's public IP:PORT configuration.
The endpoint information is sent to any client trying to connect to this server in order to try the punch procedure.
C#
public class Menu : Bolt.GlobalEventListener
{
private void Awake()
{
BoltLauncher.SetUdpPlatform(new PhotonPlatform(new PhotonPlatformConfig()
{
ForceExternalEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1234)
}));
}
}
New Thread Pool Manager
In order to improve the memory allocation and power consumption, it was created a new Thread Pool manager, responsible for the creation and management of Threads inside the SDK.
It guarantees an on-demand initialization, recycling, and destruction of Threads.
This is mainly useful in some restricted platforms like the mobile targets and consoles like Nintendo Switch (that has limited usage of Threads).
The Thread Pool controls all threads used by the SDK, those are focused on running the network updates and maintaining the background connections.