Player.IO

Platform for web games

Multiplayer

This information is mostly tidbits of information. For more information about the capabilities of the Player.IO multiplayer service, go to the multiplayer features page and go to the multiplayer code reference for code-specific documentation.

Uploading Code

Serverside code is uploaded to PlayerIO via the admin panel. The code for a game can also be updated from this panel.

Each game can have multiple types of code, which can be updated independently. For instance, if a game has an embedded card game, that might be one code type, while the main game is another.

Security

Part of the code scanning is a whitelist of classes game developers are allowed to use.

We've expanded on the list for many years, but if you run into one or more classes you wish to use that aren't allowed, simply contact us, and we'll update the whitelist if the class is acceptable.

Code is scanned against a list of requirements when uploaded, and whenever a server loads the code (including the development server).

Any issues found during the scan are reported to the developer during development, directly in the development server, so they're easy to locate and fix.

This scan is performed to ensure that code will behave nicely when running on the Player.IO server cluster.

In addition to the code scan, your code is completely sandboxed from others code, such that your code can't affect other games, and other games can't affect your game.

Permissions

Serverside multiplayer code has full read/write access to all data stored in Player.IO

That is, Serverside code always has full permissions towards Player.IO, regardless of which connection was used to Connect. This is because the code is running in the multiplayer servers is guarenteed to be running securely in a trusted environment.

Room limits

There cannot be more than 45 players in a single room. The 46th time the JoinRoom method is called, an error will be returned indicating that the room is full.

TimeZones

Every time you get the current data and time inside servercode, you'll get the current data and time in UTC time (almost the same as Greenwich mean time).

This is because your game can potentially be running on servers across different timezones, and a lot of problems are avoided if all the code seems to be running in the same timezone.

FAQ

Development

What do I need to start developing a multiplayer game with Player.IO?

Just grab a package from our download section. You may also wish to read the Player.IO Documentation.

What languages can I use for the Flash part of my multiplayer game?

We currently only support ActionScript 3.

What languages can I use for the server part of my multiplayer game?

You can use any language than can compile to a .Net 2.0 DLL, i.e. C#, VB.Net, Managed C++, JScript.Net, etc. We strongly recommend that you use C#.

Do I need to know anything about server programming and TCP/IP sockets to make my multiplayer game?

No. The API takes care of all of that for you, you only have to concentrate on the game logic on the server.

Where can I get a development environment for .Net?

We recommend Microsoft Visual Studio. You can download the free version called Visual Studio Express here.

What do I need to run the local development server?

The development server requires Microsoft Windows and Microsoft .Net Framework 2.0.

Where can I download Microsoft .Net Framework 2.0?

You can download the installation package here.

I'm not running Microsoft Windows, does that mean I won't be able to develop multiplayer games for Player.IO?

We are working on getting our development server running under Mono which means it will be available for all major platforms in the future.

Distribution

Can I embed my multiplayer game on other sites?

Yes, of course you can! It's your game, you can do whatever you want with it.

Can I upload my multiplayer game to other sites?

Yes, of course you can! It's your game, you can do whatever you want with it.

Can I put ads in my multiplayer game?

Yes, you can put whatever ads and other monetization methods you want in your game. We impose no restrictions.

Wait, I don't need to rent a server or something?

Absolutely not. Your game code will automatically distributed and run on entire Player.IO Game Server cluster.

Ok, what if my game gets hugely popular and needs more server capacity?

Don't worry about it, new instances of your game will automatically be assigned to available Player.IO Servers within our cluster, and we will ensure that there is enough capacity in our cluster to service all games.