Click on the "Create a new Plugin" button on bottom of the page.Ĭonfigure the plugin by adding key/value entries of type string.Ĭonfiguration is done by defining key/value pairs of strings.Go to the management page of one of the Photon applications listed there.Go to the dashboard of one of the supported Photon product types.Public override IGamePlugin Create(string pluginName) Public class PluginFactory : PluginFactoryBase It is responsible for the creation of a plugin instance per room.įor the sake of simplicity, in the following snippet the factory returns an instance of CustomPlugin by default without checking the plugin name requested by client. Return "CustomPlugin" // anything other than "Default" or "ErrorPlugin"Ī plugin factory class is expected to be implemented as part of the plugins assembly. "Default" and "ErrorPlugin" are reserved names used internally and should not be used as a custom plugin name. However, plugin can still interact with host even after processing. Once processed, the request sent by client/server is useful "as read-only". issue HTTP request, query room/actor, set timer, etc.)ĭecide how and process the request (see " ICallInfo Processing Methods") Interact with the host before processing call (e.g. When the callback is triggered, the host transfers control to the plugin.Īccess and modify request sent by client/server, before it is processed. The Photon hooking mechanism relies on a 6 steps flow:
#Qliks sense authentication mono framework code
Source code of Webhooks 1.2 is available in the plugins SDK. Webhooks is a good example of Photon plugins. The latter can be directly accessed from plugins and they both share the same lifecycle. The room which triggers the plugin creation is called the "host" game. The configured plugins assembly is dynamically loaded at runtime with each room creation.Ī plugin instance is then created based on a factory pattern. Then, the required files are "deployed" on your Photon server or uploaded to your Enterprise Cloud. To add custom server logic, you inject your code into predefined Photon server hooks.Ĭurrently Photon server supports GameServer plugins only as hooks are triggered by room events.īy definition, a Photon plugin has a unique name and implements those event callbacks.Ĭustom plugins are compiled into a DLL file called plugins assembly.
#Qliks sense authentication mono framework free
allowing to use lock free code: plugin instances will never get more than one call at the time and the framework provides a HTTP client and timers integrated in the underlying Photon message passing architecture (fibers).minimizing chances to break the flow: failing fast providing errors on client and server.keeping a high degree of flexibility: allowing to hook into the core flow before and after its processing.The Plugins API has been designed close to the core flow (create room, join, leave, etc.) To discover what's new in Photon Server Plugins SDK v5 see here.įor best practices and frequently asked questions see the Photon Plugins FAQ. Photon Plugins are available only for Enterprise Cloud or self-hosted Photon Server.