Photon server on Linux ??

Arnaud
edited April 2015 in Photon Server
Hi,

I was wondering if anyone ever tried to run a Photon instance on a Linux server ?

Or ... Do you have any plan to make a Linux version of your great piece of software ?
Photon will be our sockect server of choice (after trying SFS ...) but running on Linux is mandatory for anything serverside in our projects.

Cheers,

Arnaud
«1

Comments

  • There's currently no support for Linux.
    There will be a Linux version eventually, but when is undetermined.
  • Bump.

    Any news on a Linux based Photon server?
  • Photon on Linux is in the works. It is scheduled for Q4/2011.
    - Support for Linux-based servers (native Core & Mono Runtime)
    - Windows Server and Linux will be preferred platforms
    - Existing apps will run on Windows or Linux with no or minor code changes

    We did a port of Photon to a pure .NET/C# version - we will probably release it as a "Photon Express" in July/August. This version runs on Linux/OSX & Windows.
  • This is fantastic news! I look forward to being able to do Photon development (and eventually deployment) on Mac OS X or Linux.

    What is the difference between the impending Photon Express release and the full Photon on Linux?
  • What is the difference between the impending Photon Express release and the full Photon on Linux?

    "Photon Express" is a pure managed port of Photon supporting UDP and TCP.
    - FYI: The CLR socket performance is 5-10 times better than Mono

    "Photon Linux" as the same architecture "Photon Windows" - this allows much more CCUs than the pure managed version:
    a) native core (C/C++) doing the heavy lifting of RUDP/eNet
    b) CLR/Mono for the business logic
  • What is the difference between the impending Photon Express release and the full Photon on Linux?

    "Photon Express" is a pure managed port of Photon supporting UDP and TCP.
    - FYI: The CLR socket performance is 5-10 times better than Mono

    "Photon Linux" as the same architecture "Photon Windows" - this allows much more CCUs than the pure managed version:
    a) native core (C/C++) doing the heavy lifting of RUDP/eNet
    b) CLR/Mono for the business logic


    just what Iam waiting for :D:D:D:D:D
  • Sorry, I am unfamiliar with some of the terms you are using, especially “pure managed port”. Am I right in thinking that the main difference between Photon Express and Photon Linux is performance, with the latter being better, in large part because Photon Linux will have native Linux/C++ code to handle the lower-level networking work?

    Let me ask a more direct question: I am doing Unity 3D front-end development, and I would like to investigate Photon as the backend for my MMO — will Photon Express be adequate for that kind of initial investigation (if not full deployment)?
  • Yeah it would / should be a few times faster on unix using native C, depending on how much windows api calls are there at the moment it will improve speed if they fall off.

    Photon can easily handle and mmo, but this is also up to the system you build. It needs to be well designed and at least you will need to have some knowledge about networks/high ccu systems. But the Server itself is definitely capable of handling this.
  • The standard Photon has a unmanged core for socket handling that is written in C++.

    "pure managed port" means that the whole server is written in C#: When running it with mono it uses the Mono sockets, when running with .NET it uses the .NET sockets.
    Photon Express skips a few networking features and is not suitable for production stage, just for development.

    Photon Linux will have just like the standard Photon an unmanaged core and it will host Mono for the business logic. That version will be a 1:1 port of Photon (not express).
  • What is Photon Express for? :?
    I mean I don't clearly understand when should anyone use it if he already has non-Express version of Photon.

    thanks,
    Slav
  • Photon express runs on Linux and MAC - for development.

    Chris
  • gnoblin: The express version runs on anything that runs a Net Runtime but it's not as performant as the regular version with a optimized C++ core to handle most of the protocol. Also, the Express version might be available a bit earlier and allows you to use Linux before the C++ port is done.
  • Photon on Linux is in the works. It is scheduled for Q4/2011.
    - Support for Linux-based servers (native Core & Mono Runtime)
    - Windows Server and Linux will be preferred platforms
    - Existing apps will run on Windows or Linux with no or minor code changes

    We did a port of Photon to a pure .NET/C# version - we will probably release it as a "Photon Express" in July/August. This version runs on Linux/OSX & Windows.

    So now that it is late August... what can you tell us about Photon Express and/or Photon on Linux?
  • The roadmap doesn't show this yet but after the initial experiments with Express, we found it will lack performance. It would only be useful for development with low CCUs.
    For the time being, we decided against a linux build and put our engery into a hosted service, which is about to launch soon. Self-hosting will stay but the option to let us host your server in an efficient way should solve more problems than a linux port which (in best case) has the same cost per user.

    Sorry for the bad news for linux. This project is delayed.
  • Depending on the state of the Mono version I would like to voice my support for it.

    Not for reasons of using it in production environment, but for easier and more performant development with developers on the OSX side or also if one has to present something with an OSX Machine & Unity in an environment without internet where its otherwise simply impossible to do it (happened in the past unhappily)

    If it was naturally cancelled in an early form it makes no sense to persuade it just for this purpose.
  • I don't know the exact state but "basic" and "still buggy" should describe it best. The problem is also that we would have to support and continue this. For the time being, this project is in hibernation.
    On OSX, Photon runs with (e.g.) Parallels.
  • Yes but if you run parallels + unity, you need a mac pro to get enough FPS to show anything fast in the editor, no longer really mobile, thats why thats no option right from the start.

    But thats what I expected, that its buggy and wouldn't work well.

    Can't comment on the effort "supporting" would have naturally, even when it has no performance critical aspect that would need to be present, thats why I would only support such a motion if it comes as "little effort side product" as I want you guys to focus the available resources in the real thing :)
  • photon express has been running with acceptable performance on windows, but on mac OS the results were quite shocking. Might still be good enough for a few localhost players though. It has not been tested on Linux.
    Right now it's not 100% feature complete, specifically the new s2s functionality is missing and we would need to retest with the new mono versions and the new OSX.
    I expect that Photon Express will require a lot of support / testing / fixing, just because we get a different behavior under every OS and MONO version.
  • As i see the last message was in 2011...
    Im wondering is there any news or updates on making Photon server for Linux?

    As for me i would prefer to have Linux machine as i can have just command line to run server, no GUI and other stuff. So i would be able to squeeze as much performance as possible from machine, windows so far taking much more resources for it fanciness and GUI then Linux.

    To be honest im very surprised that Photon pramerly was oriented for windows as all serious servers (DB, WEB, games etc) usually hosted from Linux as it more stably and eat less resources for OS internal management.
  • I think there is, given its 2013 now, still far too much '2005 class' information floating around the net related to how much faster Linux Servers is compared to current Windows Server Versions, not the 2003 one or Windows 2000

    1. Windows servers offers a non visual, shell based environment too

    2. AThe additional performance you can squeeze out is minimal (if present at all anymore with Windows Server 2012 - I doubt it unless you custom modify and highly use case optimize your linux installation from my own experience with the previous generation already) compared to the major performance slice you lose from the Mono vs MS .NET 4.5 switch unluckily.
    Mono 3.x might finally even the field basing on Xamarins general progress and the GC 2.10.x progress made, but its just not there yet as per Q1 2013. But it might become a field that at least could be considered to be looked into again to be prepared for later / late 2013 after Mono 2.6 and 2.8 last year with their GC were definitely no option as the GC was not remotely capable of doing its job fine in a highly concurrent setup.

    Back when Photon started, Mono was a running gag in the developer community when it came to production usage, with only few betting on it (Mono 1.x with a GC that was slower than MS .NET 1.0 one basically with major memory leaks), so even with the whole worlds love poured into Linux and a 7 figure amount of money to back that love up, it would not have been an option.
  • Thanks for pointing out some of the reasons, dreamora, and thanks for letting us know that there is still a demand for it, Briksins. We really appreciate any feedback.

    However, we don't have any plans to support Photon on Linux at the moment.
    Our current focus is to make Photon available for as many client platforms as possible, but we'll stick with Windows for the server side.The amount of work that would be required to build a Linux version with equal stability and performance as the Windows version is immense, and we feel that it is just not worth the effort - we rather want to spend our time on other features we consider more useful. Sorry that I can not give "better" news.
  • Looking forward to it Nicole, especially basing on the progress the technology made the last year on the client and server front.

    Given that Windows servers nowadays cost a few bucks more than Linux ones, which in contrast of the 3-4+ figure monthly costs for the hardware and traffic itself is ignorable, I fully understand and support any decision that gets me a more stable and performant environment to work with as thats what counts to me, my clients and in the very end all our customers.
  • Thank you Nicole and others, clarification is accepted :)

    Im still at the beginning of Photon researching and i like it so far no matter of the OS the server side would hosted from. And im fully supporting your motivation to push client sides to make it available for various platforms. very good work! my first experience to write server from scratch was half successful, so i decide better spend money on good product rather then spend 7 years of learning how to write scale-able servers :)

    I am also very thankful for indie licensing schema, thank you for supporting indie developers and putting adequate prices

    Good luck with development!
  • Mono performance mainly has been an issue for the "Photon Express" solution, which we have thought about in the past, which would have been a version, that would have been completely written in C#.
    For a real port of Photon to Linux the Mono performance isn't that critical like for the Express version, as the low-levelcode, thats actual performance-relevant, is written in C++, anyway, while only the not performance critical high level stuff is written in C#.

    However performance test results, when prototyping the full C# way have been that disappointing with Mono, that we do not even consider it an option for development only usage, let alone live servers, so we have discontinued this approach.

    That leaves the option of porting Photons C++ core code to Linux. This code has been highly optimized for nearly two decades to achieve maximum speed and a lot of these optimizations are very windows specific.
    We would either loose most of the performance advantages of Photon on Linux or have to put in a real lot of time and money to archieve a similar performance on Linux.

    Thats why we currently can't offer a Linux version of the Photon server: With the developer ressources that we would have to invest therefor we can just add so many cool features in the meantime instead.
  • Thanks for letting us know the current standings for Linux server. Much Appreciated.

    Justin
  • Is there any updates for this port? It's been awhile since the last update so I'm guessing not. Is there any form of photon server which could run on a linux? I am currently developing a game and would like to have a server running 24/7 during the testing phase only accessible to myself and testers. I was planning to run this on a Raspberry Pi for the most efficient testing server I can personally use at this current stage of development.
  • The last post by exit games made it pretty clear that there would be no port to Linux. If you're going to write a socket server in C++ for windows you're probably using sockets with io completion ports/async io, etc. All this tech is specific to the windows operating system. That is why calling Photon for Linux a "port" is somewhat misleading because what we're really talking about is probably close to a 100% rewrite of the core server code. That means the company would have to support 2 server codebases that were completely different. Doing this would increase the resources required to support both code bases and increase the risk and complexity of maintaining and adding new features to the core server. I don't see why a company would do this unless there was a compelling business case to support it.

    I also agree with dreamora. The performance argument regarding windows vs Linux is somewhat dated and moot in 2015. The only thing Linux has going for it is Licensing. Currently, if I have a multi player game that runs on 5 servers, I need to purchase 5 licenses, which can be a bit pricy when compared to Linux. However, the cloud is mitigating this to some degree, as long as you don't need to customize the server. If you need to write your own server, like me, then there is always Azure, AWS, or even self hosting if you have the resources to support it.
  • Ah I see, that all makes sense. The thought only occurred to me as I have an unused Pi here and thought this would be a great little instant server solution for me to test on :)
  • Hello!
    Is there any updates regarding linux distribution of photon server ? As I can see it was promised back in 2011... :)

    Best regards,
    Vitaliy
  • well, we are regularly looking at things but there is nothing that we may share with you

    best,
    Ilya