server | v3 switch to v4  

Photon Server Intro

Photon is a on-premises real-time socket server and cross platform multiplayer game development framework that is extremely fast and very simple to use.

Available Photon Server Client SDKs
Client SDKs are available for all major platforms

Use the multiplayer API from Photon Server to join many players together in a shared game session and transfer data and messages synchronously, in real-time, between connected players across platforms.
All client SDKs can interact with each other, no matter if iOS, Android, Web or standalone.

Your own Multiplayer Game Backend!

Photon Cloud allows for a broad range of game types using the client SDKs, including and not limited to:

  • First Person Shooters
  • Racing Games
  • Minecraft type of games
  • Casual real-time games
  • Asynchronous and synchronous games
  • ...

With Photon Server applications you get the frameworks to build and run your own multiplayer game backend.
All applications are provided in C# source code. The apps are tuned for performance and can be used out of the box or customized as needs be. Deploy is very convenient using xcopy deploy with either automatic or manual restarting.

Applications available with the Photon Server SDK are

  • Lite: Simple and powerful room based game logic,
  • Lite Lobby: Lobby functionality and room logic,
  • Policy: Policy server for Unity3d, Flash and Silverlight and
  • LoadBalancing: Load balanced scaling across servers - this is powering our Photon Cloud!.

Get the FREE SDK now. After signup you can download a FREE 100 CCU license!

Under the Hood

Photon Server Architecture

Photon High Level Architecture
Photon High Level Architecture

The Photon Core is written in native C++ for performance reasons

  • The core uses IO Completions Ports (IOCP) for high performance socket handling
  • Implements the heavy "lifting" of the protocols
  • Support reliable UDP, TCP, HTTP and Web Sockets

The business logic executes in a .NET CLR hosted by the core.

  • Contains the applications running on Photon
  • Written in C# or any other .NET language

Protocols

The Photon Server core supports the following protocols

  • reliable UDP (based on eNET) and specially tuned for Client-2-Server architectures
  • Binary TCP
  • Web Sockets
  • HTTP

The transfer protocol is very lean and slim. Photon wraps up the networking layer of each client platform for you. Have your game clients communicate cross-platform and across protocols. Put your data in hashtables and just send it. Photon does the de-/serialization, you dont!

Server Dev Framework (C#)

All applications sit on top of a development framework that solves common tasks for you.

  • RPC calls are simply and flexible mapped to operation instances.
  • Threading problems are solved using message passing through fibers.
  • Photon is designed to saturate traffic before the CPU becomes the bottleneck.

Server Development Tools

Fully running in Visual Studio >> F5 >> Debug right from your code! Use all the first class tools from .NET Development.

Data Persistence (DBs)

Photon Server does not provide a persistence layer.

.NET/Windows supports all major products. - SQL: MySQL, Postgres, MS SQL Server, SQLLite, ... - NoSQL: MongoDB, Redis, MemCached, ...

For the optional usage of ORM (mapping) layers use e.g. - nHibernate - Lightspeed ORM - Codesmith Tools

Get Support

We, the Photon Team ( sometimes referred to as Photonians :), are dedicated to help you. If you've got questions, curiosities, ... or your app doesn't work but you really wish it would, try any of these:

Get It Faster

For quick turnarounds please include, together with reproducible steps:

  • Photon Client SDK version
    • This is part of the SDK zip file name.
    • In case of PUN send us the value of: PhotonNetwork.versionPun.
  • Photon Cloud
    • Drop us the AppId and the Game Version which is set via Connect*() call.
    • If you have trouble with some room, send us the RoomName and the Server Address of it. In C#, log client.CurrentServerAddress while in the room
    • Let us know the Region and the Server Address.
  • Photon Server
    • Hosting a Server? Let us know the Server SDK Version. Again, this is part of the SDK zip file name.
    • Add your logs.

Get in Touch

We'd love to know what you want to read and see in our docs, whether that is more demos, specific documentation, an FAQ or example applications. If there's something you'd like to see that's not already in drop us your suggestion to developer@photonengine.com.

Want to learn more about Photon?

Get started, Try Free Plan
Find us at these events and venues.
Request a meeting.

 To Document Top