Glossary of Photon Terms

Ack

A command (used internally) to make UDP reliable.

Actor

Players in a room are also called "Actor". An Actor has an ActorNumber, valid in the room.

Application

Applications contain the game logic, written in C# and run by the Photon Core. They extend the abstract class Application for this.

Binaries Folder

The binaries folders contain platform specific builds of the Photon Core. They are prefixed with "bin_" and in the "deploy" folder of the Server SDK.

Build script

A batch file or MsBuild project to compile and copy applications for their deployment. Takes care of getting a clean build for deployment.

Business logic

A game's logic, which runs on top of Photon Core. This "layer" handles operations and events.

Channel

In Photon, channels are used to split up communication into several sequences of operations and events. In a single channel, all operations and events are in order.

Command

Commands are used on the eNet protocol layer to transport your data or establish / shutdown connections. You won't write these, but we will explain them for your background knowledge.

Connect

Before clients can call operations on Photon, they need to connect and establish a connection.

Custom Operation

Any operation that is not in the client API or new to the server side (not in the Lite Application).

Dashboard

The Dashboard is a service which aggregates Dashboard Counters and generates graphs on a website to monitor them.

Deploy Folder

In the Server SDK, this folder contains everything that is needed to run Photon. Namely: the binaries-folders and compiled Applications.

Device

In general: a mobile. Or any other system to runs your client application.

Disconnect

Ends a connection between client and server. Happens when a player wants to exit the client-app or there is a timeout. Also, the server logic could disconnect players.

Event

Events are asynchronous messages sent to clients. They can be triggered by operations (as sideeffect) or raised (as main purpose of an operation) and are identified by an event code. The origin is identified as ActorNumber.

EvCode

Short for EventCode. Identifies the type of Events and which information the event carries.

Game

Depending on context this means an entire application or a round / match between a few players. The Lite Application implements the latter by rooms where you play your game as group.

Latency

Time between request and ack. Might differ on client and server.

Lite

Means the Lite application, which is a basic business logic to get you started.

Lobby

Means either the application "Lite Lobby" or a "lobby room" in it.

Lobby Room

A lobby room is a special room in the Lite Lobby application. These rooms do not send join and leave events as the other players are not of interest. Instead, all players get lists of existing games so the player can choose.

Log Files

Photon is designed to run as service and does not have extensive GUI. There are two sets of Log Files used instead: Applications write into deploy/log. Photon Core writes into deploy/bin_*/log.

Matchmaking

The process of finding a game / match. The Lite application does not have matchmaking, aside from being able to join any room by name. Lite Lobby adds listing of rooms.

NNet

The "old" name of our eNet RUDP protocol implementation. This was a mixture of "eNet" and "Neutron".

Operation

Another word for RPC functions on the Photon server side. Clients use operations to do anything on the server and even to send events to others.

OpCode

Short for Operation Code. A byte-value that's used to trigger operations on the server side. Clients get operation responses with opCodes to identify the type of action for the returned values.

Peer

In short: any client (independent of its platform) that is connected to Photon. To be exact, the Photon server is also a peer for the client-side but in all cases the only one.

Photon Core

The C++ core of Photon. It handles connections and the eNet protocol for you.

PhotonControl

This is Photon's Administration tool. Start the PhotonControl.exe to get a tray-bar menu and easily manage Photon's services.

PhotonServer.config

This is the configuration file for the Photon Core. It configures IPs, Applications and performance settings. Formerly it was called PhotonSocketServer.xml and for a short time PhotonSocketServer.config.

Policy File

The Policy Application runs on Photon to send the crossdomain.xml. Webplayer platforms like Unity Webplayer, Flash and Silverlight request authorization before they contact a server.

Reliable

Reliable commands will reach the other side or lead to a timeout disconnect. They are sequenced per channel and dispatching will stall when a reliable command is temporarily missing.

ReturnCode

Primary result of every Operation in form of a byte-value. Can be checked if an Operation was done successfully (RC_OK == 0) or which error happened.

Room

A construct to group players or peers. This can be a game or simply a chat lobby or anything you make it. Also a class in the Lite Framework.

RUDP

Reliable UDP. A protocol on top of UDP which makes sent commands reliable on demand.

Socket Server

Another name for the Photon Core.

Timeout

With eNet, client and server monitor if the other side is acknowledging reliable commands. If these ACKs are missing for a longer time, the connection is considered lost.

Unreliable

Unreliable commands are not ACKd by the other side. They are sequenced per channel but when dispatching, the sequence can have holes.

The above documents the Photon v3 Network Engine. See navigation for other versions' documentation.