Phacanu's Forum Posts

  • (Open the images in a new tab the Forums aren't showing the full sizes)

    All of the lag can be hidden by proper clientside interpolation

    Test project

    http://photonsandbox.ga/

    And based on this

    You're using it extremely inefficient by sending full c2 arrays(Overall tho the game does look good), Every time the player moves a short distance you're sending out 3583 bytes of data or 3.5kb.

    You can get away with sending waay less data and still have a smooth experience,and since its a smaller blast of data if you're on a mobile device you wont notice as much lag cause you wont be sending or receiving alot of data

    The limit of 20 players is only if you use the free edition of the service,IF you download a on-premise server your player limit is 100 by default so its a significant boost

  • tarek2 - there is no technical reason for Canvas+ and Webview to have any difference in JavaScript performance. It doesn't make any sense at all.

    Canvas Android V8 update

    [quote:53r3mkrq]Canvas+ Android uses the v8 Javascript engine internally. We haven’t updated it in a long time as it requires quite a big code update inside Cocoon. As the previous version was a bit old already (v3.5), after the summer we decided to take the time to update v8 to a more recent version (v5.4) and now it’s ready to be used in the latest Canvas+ plugin v2.6.0 that is available in Cocoon v2.2.0.

    What can I expect from this update?

    The main two things that you’ll notice with this update are:

    [quote:53r3mkrq]The main two things that you’ll notice with this update are:

    Better performance in JS. This version delivers a number of key improvements in memory footprint and startup speed. These primarily help accelerate initial script execution and reduce page load.

    ECMAScript ES6 support.

    Better performance includes many different specific performance improvements like:

    TypedArray performance improvements. TypedArrays are heavily used in rendering engines. For example, engines often create typed arrays (such as Float32Array) in JavaScript and pass them to WebGL after applying transformations.

    Refrence https://forums.cocoon.io/t/cocoon-2-2-0-v8-update-is-here/6912

  • The multiplayer plugn isnt supported on IOS so thats 50% of the mobile market you cant have access to

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • the Mnk Photon is a advanced relay networking plugin so it does behave the same way as the normal MP plugin behaves in the sense that it's Peer to peer the only difference is photon uses WebSocket,Has packet culling(You can filter out data so you don't get hit by C2s multiplayer plugin limit of 100 players due to it sending data about everyone even if that data doesn't need to be sent) and since it doesn't use Webrtc like the default multiplayer plugin your audience reach is much higher.And yes photon is hosted on dedicated servers but the way it transmits data isn't in a Server client architecture you shouldn't confuse the two completely separate things

  • newt

    Stop trolling please, it's a bit unnecessary for you to make such sarcastic remarks towards improving c3

  • I don't know why this isn't apart of the browser plugin already but this is a +1 for me too

  • Yes it is,Thanks to both of you!

  • Essentially what I'm asking is how could I say target an object when it reaches the blue area then do an action like a move towards the selected object

    This is what i have atm but it doesn't seem to be working

    Seems like its starting already, For the past few days I've noticed that about every c2 bug that Ashley replies to ends with "Well at least it works/is fixed in C3"

    Did you check your graphics card and if you're using a Windows application?

    Gotta check those out

  • ThePhotons For the past few days, I've been trying to get WSS working on my test server.

    I managed to get SSL and all working fine for this testing domain with the help of https://letsencrypt.org/ I bought, https://photonssl.science/, I'm able to connect to the server via WebSockets using ws://photonssl.science:9090.When I attempted to just outright connect to the servers WSS port it resulted in an error so I went to https://doc.photonengine.com/en-us/onpremise/current/operations/websockets-ssl-setup in hopes of finding a solution to this problem, I've been reading the documentation over and over and I still don't know exactly what I'm doing wrong,And I've searched the forums only to find dead ends or posts so old that different onpremise versions might render the answers useless,If it wouldnt be too much of a trouble to help me out with this here are the full configs that im currently using

    PhotonServer.config

    <?xml version="1.0" encoding="Windows-1252"?>
    <!--
    	(c) 2015 by Exit Games GmbH, http://www.exitgames.com
    	Photon server configuration file.
    	For details see the photon-config.pdf.
    
    	This file contains two configurations:
    		
    		"LoadBalancing"
    				Loadbalanced setup for local development: A Master-server and a game-server.
    				Starts the apps: Game, Master, CounterPublisher
    				Listens: udp-port 5055, tcp-port: 4530, 843 and 943		
    	
    -->
    
    <Configuration>
    	<!-- Multiple instances are supported. Each instance has its own node in the config file. -->
        
    	<LoadBalancing
    		MaxMessageSize="512000"
    		MaxQueuedDataPerPeer="512000"
    		PerPeerMaxReliableDataInTransit="51200"
    		PerPeerTransmitRateLimitKBSec="256"
    		PerPeerTransmitRatePeriodMilliseconds="200"
    		MinimumTimeout="5000"
    		MaximumTimeout="30000"
    		DisplayName="LoadBalancing (MyCloud)">
    
    		<!-- 0.0.0.0 opens listeners on all available IPs. Machines with multiple IPs should define the correct one here. -->
    		<!-- Port 5055 is Photon's default for UDP connections. -->
    		<UDPListeners>
    			<UDPListener
    				IPAddress="0.0.0.0"
    				Port="5055"
    				OverrideApplication="Master">
    			</UDPListener>
    			<UDPListener
    				IPAddress="0.0.0.0"
    				Port="5056"
    				OverrideApplication="Game">
    			</UDPListener>
    			
    		</UDPListeners>
    		
    		<!-- 0.0.0.0 opens listeners on all available IPs. Machines with multiple IPs should define the correct one here. -->		
    		<TCPListeners>
    			<!-- TCP listener for Game clients on Master application -->
    			<TCPListener
    				IPAddress="0.0.0.0"
    				Port="4530"
    				OverrideApplication="Master"
    				PolicyFile="Policy\assets\socket-policy.xml"
    				InactivityTimeout="10000"
    				>
    			</TCPListener>
    			
    			<TCPListener
    				IPAddress="0.0.0.0"
    				Port="4531"
    				OverrideApplication="Game"
    				PolicyFile="Policy\assets\socket-policy.xml"
    				InactivityTimeout="10000">
    			</TCPListener>
    			
    			<!-- DON'T EDIT THIS. TCP listener for GameServers on Master application -->
    			<TCPListener
    				IPAddress="0.0.0.0"
    				Port="4520">
    			</TCPListener>
    		</TCPListeners>
    		
    		<!-- Policy request listener for Unity and Flash (port 843) and Silverlight (port 943)  -->
    		<PolicyFileListeners>
    		  <!-- multiple Listeners allowed for different ports -->
    		  <PolicyFileListener
    			IPAddress="0.0.0.0"
    			Port="843"
    			PolicyFile="Policy\assets\socket-policy.xml">
    		  </PolicyFileListener>
    		  <PolicyFileListener
    			IPAddress="0.0.0.0"
    			Port="943"
    			PolicyFile="Policy\assets\socket-policy-silverlight.xml">
    		  </PolicyFileListener>
    		</PolicyFileListeners>
    
    		
    		<!-- WebSocket (and Flash-Fallback) compatible listener -->
    		<WebSocketListeners>
    		    <WebSocketListener
    		        IPAddress="45.32.221.12"
    		        Port="19090"
    		        DisableNagle="true"
    		        InactivityTimeout="10000"
    		        OverrideApplication="Master"
    		        Secure = "true"
    		        StoreName = "My"
    		        CertificateName = "photonssl.science"
    		        UseMachineStore = "true">
    		    </WebSocketListener>
    		    <WebSocketListener
    		        IPAddress="45.32.221.12"
    		        Port="19091"
    		        DisableNagle="true"
    		        InactivityTimeout="10000"
    		        OverrideApplication="Game"
    		        Secure = "true"
    		        StoreName = "My"
    		        CertificateName = "photonssl.science"
    		        UseMachineStore = "true"> 
    		    </WebSocketListener>
    		</WebSocketListeners>
    
    		<!-- Defines the Photon Runtime Assembly to use. -->
    		<Runtime
    			Assembly="PhotonHostRuntime, Culture=neutral"
    			Type="PhotonHostRuntime.PhotonDomainManager"
    			UnhandledExceptionPolicy="Ignore">
    		</Runtime>
    
    		<!-- Defines which applications are loaded on start and which of them is used by default. Make sure the default application is defined. -->
    		<!-- Application-folders must be located in the same folder as the bin_win32 folders. The BaseDirectory must include a "bin" folder. -->
    		<Applications Default="Master">		
    			<Application
    				Name="Master"
    				BaseDirectory="LoadBalancing\Master"
    				Assembly="Photon.LoadBalancing"
    				Type="Photon.LoadBalancing.MasterServer.MasterApplication"
    				ForceAutoRestart="true"
    				WatchFiles="dll;config"
    				ExcludeFiles="log4net.config"
    				>
    			</Application>
    			<Application
    				Name="Game"
    				BaseDirectory="LoadBalancing\GameServer"
    				Assembly="Photon.LoadBalancing"
    				Type="Photon.LoadBalancing.GameServer.GameApplication"
    				ForceAutoRestart="true"
    				WatchFiles="dll;config"
    				ExcludeFiles="log4net.config">
    			</Application>
    			
    			<!-- CounterPublisher Application -->
    			<Application
    				Name="CounterPublisher"
    				BaseDirectory="CounterPublisher"
    				Assembly="CounterPublisher"
    				Type="Photon.CounterPublisher.Application"
    				ForceAutoRestart="true"
    				WatchFiles="dll;config"
    				ExcludeFiles="log4net.config">
    			</Application>	
    		</Applications>
    	</LoadBalancing>	
    	
    	
    	
    	<!-- Instance settings -->
    	<MMoDemo
    		MaxMessageSize="512000"
    		MaxQueuedDataPerPeer="512000"
    		PerPeerMaxReliableDataInTransit="51200"
    		PerPeerTransmitRateLimitKBSec="256"
    		PerPeerTransmitRatePeriodMilliseconds="200"
    		MinimumTimeout="5000"
    		MaximumTimeout="30000"
    		DisplayName="MMO Demo"
    		>
    		
    		<!-- 0.0.0.0 opens listeners on all available IPs. Machines with multiple IPs should define the correct one here. -->
    		<!-- Port 5055 is Photon's default for UDP connections. -->
    		<UDPListeners>
    			<UDPListener
    				IPAddress="0.0.0.0"
    				Port="5055"
    				OverrideApplication="MMoDemo">
    			</UDPListener>
    		</UDPListeners>
        
    		<!-- 0.0.0.0 opens listeners on all available IPs. Machines with multiple IPs should define the correct one here. -->
    		<!-- Port 4530 is Photon's default for TCP connecttions. -->
    		<!-- A Policy application is defined in case that policy requests are sent to this listener (known bug of some some flash clients) --> 
    		<TCPListeners>
    			<TCPListener
    				IPAddress="0.0.0.0"
    				Port="4530"
    				PolicyFile="Policy\assets\socket-policy.xml"
    				InactivityTimeout="10000"
    				OverrideApplication="MMoDemo"				
    				>
    			</TCPListener>
    		</TCPListeners>
    
    		<!-- Policy request listener for Unity and Flash (port 843) and Silverlight (port 943)  -->
    		<PolicyFileListeners>
    		  <!-- multiple Listeners allowed for different ports -->
    		  <PolicyFileListener
    			IPAddress="0.0.0.0"
    			Port="843"
    			PolicyFile="Policy\assets\socket-policy.xml"
    			InactivityTimeout="10000">
    		  </PolicyFileListener>
    		  <PolicyFileListener
    			IPAddress="0.0.0.0"
    			Port="943"
    			PolicyFile="Policy\assets\socket-policy-silverlight.xml"
    			InactivityTimeout="10000">
    		  </PolicyFileListener>
    		</PolicyFileListeners>
    
    		<!-- WebSocket (and Flash-Fallback) compatible listener -->
    		<WebSocketListeners>
    			<WebSocketListener
    				IPAddress="0.0.0.0"
    				Port="9090"
    				DisableNagle="true"
    				InactivityTimeout="10000"
    				OverrideApplication="MMoDemo">
    			</WebSocketListener>
    		</WebSocketListeners>
    
    		<!-- Defines the Photon Runtime Assembly to use. -->
    		<Runtime
    			Assembly="PhotonHostRuntime, Culture=neutral"
    			Type="PhotonHostRuntime.PhotonDomainManager"
    			UnhandledExceptionPolicy="Ignore">
    		</Runtime>
    				
    
    		<!-- Defines which applications are loaded on start and which of them is used by default. Make sure the default application is defined. -->
    		<!-- Application-folders must be located in the same folder as the bin_win32 folders. The BaseDirectory must include a "bin" folder. -->
    		<Applications Default="MMoDemo">
    		
    			<!-- MMO Demo Application -->
    			<Application
    				Name="MMoDemo"
    				BaseDirectory="MmoDemo"
    				Assembly="Photon.MmoDemo.Server"
    				Type="Photon.MmoDemo.Server.PhotonApplication"
    				ForceAutoRestart="true"
    				WatchFiles="dll;config"
    				ExcludeFiles="log4net.config">
    			</Application>
    
    			<!-- CounterPublisher Application -->
    			<Application
    				Name="CounterPublisher"
    				BaseDirectory="CounterPublisher"
    				Assembly="CounterPublisher"
    				Type="Photon.CounterPublisher.Application"
    				ForceAutoRestart="true"
    				WatchFiles="dll;config"
    				ExcludeFiles="log4net.config">
    			</Application>	
    
    		</Applications>
    	</MMoDemo>
    	
    </Configuration>
    [/code:gdo1ezrr]
    [b]Photon.LoadBalancing.dll.config
    [/b]
    [code:gdo1ezrr]
    <?xml version="1.0"?>
    
    <configuration>
      <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <section name="Photon.LoadBalancing.Common.CommonSettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
          <section name="Photon.LoadBalancing.GameServer.GameServerSettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
          <section name="Photon.LoadBalancing.MasterServer.MasterServerSettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
          <section name="Photon.Common.Authentication.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
        <section name="Photon" type="Photon.SocketServer.Diagnostics.Configuration.PhotonSettings, Photon.SocketServer" />
        <section name="PluginSettings" type="Photon.Hive.Configuration.PluginSettings, PhotonHive" />
        <section name="WebRpcSettings" type="Photon.Hive.WebRpc.Configuration.WebRpcSettings, PhotonHive" />
        <section name="AuthSettings" type="Photon.Common.Authentication.Configuration.Auth.AuthSettings, Photon.Common" />
      </configSections>
      <applicationSettings>
    
        <Photon.LoadBalancing.Common.CommonSettings>
          <setting name="NodesFileName" serializeAs="String">
            <value>Nodes.txt</value>
          </setting>
          <setting name="NodesFilePath" serializeAs="String">
            <value>..\..\</value>
          </setting>
          <setting name="EnablePerformanceCounters" serializeAs="String">
            <value>True</value>
          </setting>
        </Photon.LoadBalancing.Common.CommonSettings>
    
        <Photon.Common.Authentication.Settings>
          <setting name="AuthCacheUpdateInterval" serializeAs="String">
            <value>300</value>
          </setting>
    
          <setting name="AuthTokenKey" serializeAs="String">
            <value>76B2814E-2A50-4E29-838A-20411D335FC9</value>
          </setting>
    
          <setting name="AuthTokenExpiration" serializeAs="String">
            <value>10000</value>
          </setting>
    
          <!-- Custom Authentication Queue Settings -->
          <setting name="MaxConcurrentRequests" serializeAs="String">
            <value>50</value>
          </setting>
          <setting name="MaxQueuedRequests" serializeAs="String">
            <value>5000</value>
          </setting>
          <setting name="MaxErrorRequests" serializeAs="String">
            <value>10</value>
          </setting>
          <setting name="MaxTimedOutRequests" serializeAs="String">
            <value>10</value>
          </setting>
          <setting name="HttpRequestTimeoutMS" serializeAs="String">
            <value>30000</value>
          </setting>
          <setting name="ReconnectIntervalS" serializeAs="String">
            <value>60</value>
          </setting>
          <setting name="QueueTimeoutS" serializeAs="String">
            <value>20</value>
          </setting>
          <setting name="MaxBackoffTimeInMiliseconds" serializeAs="String">
            <value>10000</value>
          </setting>
        </Photon.Common.Authentication.Settings>
    
        <Photon.LoadBalancing.GameServer.GameServerSettings>
          <setting name="AppStatsPublishInterval" serializeAs="String">
            <value>1000</value>
          </setting>
          <!-- GameServer-to-Master connections. -->
          <setting name="ConnectReytryInterval" serializeAs="String">
            <value>15</value>
          </setting>
          <setting name="EnableNamedPipe" serializeAs="String">
            <value>False</value>
          </setting>
          <!-- Path for Client-to-Gameserver HTTP connections -->
          <setting name="GamingHttpPath" serializeAs="String">
            <value>photon/g</value>
          </setting>
          <!-- Client-to-Gameserver HTTP connections. Needs to match the RHTTPListener in PhotonServer.config -->
          <setting name="GamingHttpPort" serializeAs="String">
            <value>80</value>
          </setting>
          <!-- Client-to-Gameserver HTTPS connections. Needs to match the RHTTPListener in PhotonServer.config -->
          <setting name="GamingHttpsPort" serializeAs="String">
            <value>443</value>
          </setting>
          <!-- Client-to-Gameserver Secure WebSocket connections. Needs to match the secure WebSocketListener in PhotonServer.config -->
          <setting name="GamingSecureWebSocketPort" serializeAs="String">
            <value>19090</value>
          </setting>
          <!-- Client-to-Gameserver TCP connections. Needs to match the TCPListener in PhotonServer.config -->
          <setting name="GamingTcpPort" serializeAs="String">
            <value>4531</value>
          </setting>
          <!-- Client-to-Gameserver UDP connections. Needs to match the UDPListener in PhotonServer.config -->
          <setting name="GamingUdpPort" serializeAs="String">
            <value>5056</value>
          </setting>
          <!-- Client-to-Gameserver WebSocket connections. Needs to match the WebSocketListener in PhotonServer.config -->
          <setting name="GamingWebSocketPort" serializeAs="String">
            <value>9091</value>
          </setting>
          <setting name="HttpQueueMaxErrors" serializeAs="String">
            <value>30</value>
          </setting>
          <setting name="HttpQueueMaxTimeouts" serializeAs="String">
            <value>30</value>
          </setting>
    		<setting name="HttpQueueRequestTimeout" serializeAs="String">
    			<value>30000</value>
    		</setting>
    		<setting name="HttpQueueMaxBackoffTime" serializeAs="String">
    			<value>10000</value>
    		</setting>
    		<setting name="HttpQueueMaxQueuedRequests" serializeAs="String">
    			<value>5000</value>
    		</setting>
    		<setting name="HttpQueueQueueTimeout" serializeAs="String">
    			<value>90000</value>
    		</setting>
    		<setting name="HttpQueueReconnectInterval" serializeAs="String">
    			<value>60000</value>
    		</setting>
    		<setting name="HttpQueueMaxConcurrentRequests" serializeAs="String">
    			<value>1</value>
    		</setting>
    		<setting name="LastTouchCheckIntervalSeconds" serializeAs="String">
            <value>60</value>
          </setting>
          <setting name="LastTouchSecondsDisconnect" serializeAs="String">
            <value>0</value>
          </setting>
          <!-- Set to the IP Address of the Photon instance where your Master application is running. -->
          <setting name="MasterIPAddress" serializeAs="String">
            <value>45.32.221.12</value>
          </setting>
          <setting name="MaxEmptyRoomTTL" serializeAs="String">
            <value>60000</value>
          </setting>
          <!-- Gameserver-to-Master connections. -->
          <setting name="OutgoingMasterServerPeerPort" serializeAs="String">
            <value>4520</value>
          </setting>
          <setting name="PublicIPAddress" serializeAs="String">
            <value>45.32.221.12</value>
          </setting>
          <setting name="PublicIPAddressIPv6" serializeAs="String">
            <value></value>
          </setting>
          <!-- the hostname for this gameserver. Required for HTTP & websocket connections. Change it to a useful entry, like hostname.mydomain.com, for a production scenario. -->
          <setting name="PublicHostName" serializeAs="String">
            <!--<value>%COMPUTERNAME%.mydomain.com</value>-->
            <value>photonssl.science</value>
          </setting>
          
          <!-- The domain name for this gameserver. Required for websocket connections and needs to match the certificate for secure websocket / https connections. 
               For example:  mydomain.com -->
          <setting name="PublicDomainName" serializeAs="String">
            <value>photonssl.science</value>
          </setting>
          <setting name="RelayPortHttp" serializeAs="String">
            <value>0</value>
          </setting>
          <setting name="RelayPortSecureWebSocket" serializeAs="String">
            <value>0</value>
          </setting>
          <setting name="RelayPortTcp" serializeAs="String">
            <value>0</value>
          </setting>
          <setting name="RelayPortUdp" serializeAs="String">
            <value>0</value>
          </setting>
          <setting name="RelayPortWebSocket" serializeAs="String">
            <value>0</value>
          </setting>
          <setting name="ServerStateFile" serializeAs="String">
            <value>ServerState.txt</value>
          </setting>
          <setting name="WorkloadConfigFile" serializeAs="String">
            <value>Workload.config</value>
          </setting>
        </Photon.LoadBalancing.GameServer.GameServerSettings>
    
        <Photon.LoadBalancing.MasterServer.MasterServerSettings>
          <setting name="AppStatsPublishInterval" serializeAs="String">
            <value>5000</value>
          </setting>
          <setting name="EnableProxyConnections" serializeAs="String">
            <value>False</value>
          </setting>
          <setting name="GameChangesPublishInterval" serializeAs="String">
            <value>1000</value>
          </setting>
          <setting name="GameExpiryCheckPeriod" serializeAs="String">
            <value>1</value>
          </setting>
          <setting name="GameListLimit" serializeAs="String">
            <value>0</value>
          </setting>
          <!-- Gameserver-to-Master connections. Needs to match the TCPListener in PhotonServer.config -->
          <setting name="IncomingGameServerPeerPort" serializeAs="String">
            <value>4520</value>
          </setting>
          <setting name="LobbyStatsLimit" serializeAs="String">
            <value>0</value>
          </setting>
          <setting name="LobbyStatsPublishInterval" serializeAs="String">
            <value>120</value>
          </setting>
          <setting name="MasterRelayPortTcp" serializeAs="String">
            <value>0</value>
          </setting>
          <setting name="MasterRelayPortUdp" serializeAs="String">
            <value>0</value>
          </setting>
          <setting name="MasterRelayPortWebSocket" serializeAs="String">
            <value>0</value>
          </setting>
          <setting name="PersistentGameExpiryMinute" serializeAs="String">
            <value>60</value>
          </setting>
          <!-- Leave empty and the the IP address will be looked up dynamically at runtime. -->
          <setting name="PublicIPAddress" serializeAs="String">
            <value>45.32.221.12</value>
          </setting>
          <setting name="RedisDB" serializeAs="String">
            <value />
          </setting>
        </Photon.LoadBalancing.MasterServer.MasterServerSettings>
      </applicationSettings>
    
      <Photon>
        <CounterPublisher enabled="True" updateInterval="1">
          <Sender endpoint="udp://255.255.255.255:40001" protocol="PhotonBinary" initialDelay="10" sendInterval="10" />
        </CounterPublisher>
      </Photon>
      <!-- Enable webhooks plugin by setting Enabled to "true" -->
      <PluginSettings Enabled="false">
        <Plugins>
          <Plugin Name="WebHooksPlugin1.2" Version="" AssemblyName="PhotonHive.WebhooksPlugin1.2.dll" Type="Photon.Hive.Plugin.WebHooks.PluginFactory" BaseUrl="http://photon-photon-pluginsdk-v1.webscript.io" IsPersistent="true" HasErrorInfo="true" PathClose="GameClose" PathCreate="GameCreate" PathEvent="GameEvent" PathGameProperties="GameProperties" PathJoin="GameJoin" PathLeave="GameLeave" PathLoad="GameCreate" />
        </Plugins>
      </PluginSettings>
      <!-- Enable webRPCs by setting Enabled to "true" -->
      <WebRpcSettings Enabled="false">
        <BaseUrl Value="http://photon-photon-pluginsdk-v1.webscript.io" />
      </WebRpcSettings>
    
      <!-- Enable Custom Authentication by setting Enabled to "true" -->
      <AuthSettings Enabled="false" ClientAuthenticationAllowAnonymous="true">
        <AuthProviders>
          <AuthProvider Name="Custom" AuthenticationType="0" AuthUrl="http://photon.webscript.io/auth-demo" secret="customauthsecret" />
          
          <AuthProvider Name="Facebook" AuthenticationType="2" AuthUrl="" secret="Val1" appid="Val2" />
        </AuthProviders>
      </AuthSettings>
    
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
      </startup>
    </configuration>
    
    [/code:gdo1ezrr]
  • Phacanu

    I talk to build 100% multiplayer system from scratch. Based on php maybe, whatever script to call from construct 2, but the server to be on my hosting. No any extra plugins.

    It'd be more sane to use the websocket plugin to do that than using php,You can build your own server side code and everything and just use the websocket plugin to receive packets

  • odiusfly Without photon cloud,onpremise or photon altogether?

  • ahhk xD