There is no argument given that corresponds to the required formal parameter 'configuration' of 'App

Options
using Photon.SocketServer;

namespace TestServer3
{
public class PhotonAckServer : ApplicationBase
{
protected override PeerBase CreatePeer(InitRequest initRequest)
{
return new PhotonAckPeer(initRequest);
}

protected override void Setup()
{
}

protected override void TearDown()
{
}
}
}

I am studying with Photon's old reference book.

However, I am trying to compose a program with the latest library.

1>D:\photon-server-sdk_v5-0-12-24499-rc1\src-server\TestServer3\PhotonAckServer.cs(5,18,5,33): error CS7036: There is no argument given that corresponds to the required formal parameter 'configuration' of 'ApplicationBase.ApplicationBase(IConfiguration)'

I'm getting this error, can you tell me how to fix it?

Comments

  • chvetsov
    chvetsov mod
    edited May 2021
    Options
    hi, @youb1649

    the simplest way is to create default constructor that calls base constructor and passes there result of 'new ConfigurationBuilder().Build()' call
    take a look at LoadBalancing apps to see how to load your own configuration. Here for instance:
    (sdk_root)\src-server\Loadbalancing\LoadBalancing\GameServer\GameApplication.cs

    best,
    ilya
  • youb1649
    Options
    using Microsoft.Extensions.Configuration;
    using Photon.SocketServer;

    namespace TestServer3
    {
    public class PhotonAckServer : ApplicationBase
    {

    public PhotonAckServer(IConfiguration configuration) : base(configuration)
    {

    }

    protected override PeerBase CreatePeer(InitRequest initRequest)
    {
    return new PhotonAckPeer(initRequest);
    }

    protected override void Setup()
    {
    }

    protected override void TearDown()
    {
    }
    }
    }




    28556: 17:59:00.638 - ---
    28556: 17:59:00.638 - Service: "Photon Socket Server" starting
    28556: 17:59:00.638 - Config File: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonServer.config
    28556: 17:59:00.639 - Config|INFO| Adding config path macro: "[CONFIG]" - "D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64"
    28556: 17:59:00.639 - Config|INFO| Adding config path macro: "[DEPLOY]" - "[CONFIG]\.."
    28556: 17:59:00.639 - Config|INFO| Adding config path macro: "[EXE]" - "D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64"
    28556: 17:59:00.641 - Will produce at most: 10 crash dumps
    28556: 17:59:00.641 - Construction of service object complete
    58276: 17:59:00.644 - Server Starting...
    58276: 17:59:00.644 - Tick count: 1466612125 (wraps in: 32.7356 days)
    58276: 17:59:00.644 - Tick count 64: 1466612125
    58276: 17:59:00.644 - ENet high resolution Tick count: 1466622805 (wraps in: 32.7355 days)
    58276: 17:59:00.644 - Photon Version: 5.0.12.7770
    58276: 17:59:00.644 - Photon Build: RELEASE - x64 - VS2019 (16.8) - 192829336
    58276: 17:59:00.644 - PID: 57368
    58276: 17:59:00.644 - EXE: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonSocketServer.exe
    58276: 17:59:00.644 - OpenSSL 1.1.1i 8 Dec 2020
    58276: 17:59:00.650 - Current directory is: C:\WINDOWS\system32
    58276: 17:59:00.650 - Changing current directory to: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64
    58276: 17:59:00.650 - Config File: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonServer.config
    58276: 17:59:00.651 - Will NOT log unimportant exceptions
    58276: 17:59:00.652 - Performance Counter Configuration for: "Photon Socket Server"
    58276: 17:59:00.652 - First Counter Index: 14002
    58276: 17:59:00.653 - Last Counter Index: 14930
    58276: 17:59:00.653 - First Help Index: 14003
    58276: 17:59:00.653 - Last Help Index: 14931
    58276: 17:59:00.653 - Object List: 14002 14102 14208 14308 14352 14486 14516 14546 14638 14672 14736 14842
    58276: 17:59:00.653 - Perf Ini File: Photon_Socket_Server.ini
    58276: 17:59:00.653 - Schema Checksum: 5979F91EE7E960B64504E91EBC830577
    58276: 17:59:00.653 - DLL name: PhotonSocketServerCounters.dll
    58276: 17:59:00.654 - Counters are installed? - "Photon Socket Server"
    58276: 17:59:00.661 - Not using perfmon performance counters. The installed counters do not match the counter dll
    58276: 17:59:00.661 - Run the service with /InstallCounters to reinstall the latest counters.
    58276: 17:59:00.661 - Using in-proc performance counters, access via Interop API only
    58276: 17:59:00.672 - Shutdown timeout enabled: 60000ms
    58276: 17:59:00.672 - Starting I/O thread pool with 4 threads
    19844: 17:59:00.672 - InitialiseWorkerThread - I/O thread - COM enabled
    48852: 17:59:00.673 - InitialiseWorkerThread - I/O thread - COM enabled
    10512: 17:59:00.673 - InitialiseWorkerThread - I/O thread - COM enabled
    22576: 17:59:00.673 - InitialiseWorkerThread - I/O thread - COM enabled
    58276: 17:59:00.673 - ENet: buffer size: 4096
    58276: 17:59:00.673 - ENet: buffer pool: 5000
    58276: 17:59:00.673 - Max message size: 512000
    58276: 17:59:00.673 - CMultiPoolBufferAllocator::GetAllocator() - "CENetThreadPool"
    44460: 17:59:00.673 - Initialise - ENet thread pool thread
    28136: 17:59:00.673 - Initialise - ENet thread pool thread
    41544: 17:59:00.673 - Initialise - ENet thread pool thread
    54244: 17:59:00.673 - Initialise - ENet thread pool thread
    38544: 17:59:00.673 - Initialise - ENet thread pool thread
    51696: 17:59:00.673 - Initialise - ENet thread pool thread
    52848: 17:59:00.673 - Initialise - ENet thread pool thread
    58276: 17:59:00.673 - Starting ENet thread pool with the following settings
    58276: 17:59:00.673 - InitialThreads: 8 threads
    58276: 17:59:00.673 - MinThreads: 8 threads
    58276: 17:59:00.673 - Thread pool is fixed size
    58276: 17:59:00.673 - OnlyDispatchTimers: False
    53132: 17:59:00.673 - Initialise - ENet thread pool thread
    58276: 17:59:01.856 - Resolution ~ 153274 - 15ms
    58276: 17:59:01.856 - ENet timer granularity: 15ms
    58276: 17:59:01.856 - ENet high performance timers: False
    58276: 17:59:01.858 - Config|INFO| TCP S2S: no explicit configuration, using defaults. Add a <S2S> node to configure.
    58276: 17:59:01.858 - Config|INFO| TCP S2S: - flow control: Max queued bytes: 50000
    58276: 17:59:01.858 - Config|INFO| TCP S2S: - flow control: Notification step size: 25
    58276: 17:59:01.858 - Config|INFO| TCP S2S: - no read timeout
    58276: 17:59:01.858 - Config|INFO| TCP S2S: - rate limit: 32000 bytes per 250ms (125KB/sec)
    58276: 17:59:01.858 - Config|INFO| TCP S2S: Nagle: disabled
    58276: 17:59:01.858 - Config|INFO| TCP S2S: PingFrequency: 2500
    58276: 17:59:01.858 - Config|INFO| TCP S2S: MaxInboundMessageSize: 512000
    58276: 17:59:01.858 - Config|INFO| TCP S2S: MaxOutboundMessageSize: 512000
    58276: 17:59:01.858 - Config|INFO| TCP S2S: ConnectTimeout: 30000ms
    58276: 17:59:01.858 - Config|INFO| TCP S2S: No App Data inactivity timeout
    58276: 17:59:01.858 - Config|INFO| TCP S2S: No write completion timeout
    58276: 17:59:01.868 - GetRuntime - About to load CLR - versions available:
    58276: 17:59:01.868 - v2.0.50727
    58276: 17:59:01.868 - v4.0.30319
    58276: 17:59:01.868 - Configuration requests: "v4.0.30319"
    58276: 17:59:01.868 - About to load version: "v4.0.30319"
    58276: 17:59:01.878 - About to load runtime: PhotonHostRuntime.PhotonDomainManager from PhotonHostRuntime, Culture=neutral, PublicKeyToken=02C301B61B060C4D
    58276: 17:59:01.878 - CLRBaseDirectory set to "D:\photon-server-sdk_v5-0-12-24499-rc1\deploy"
    58276: 17:59:01.879 - Start: About to load CLR - versions available:
    58276: 17:59:01.879 - v2.0.50727
    58276: 17:59:01.879 - v4.0.30319
    58276: 17:59:01.879 - No preference in configuration file, will load latest.
    58276: 17:59:01.879 - About to load version: "v4.0.30319"
    58276: 17:59:01.879 - Using server GC
    58276: 17:59:01.879 - GC: Server garbage collector enabled
    58276: 17:59:01.879 - GC: Concurrent garbage collector enabled
    58276: 17:59:01.879 - GC: Trim on commit disabled
    58276: 17:59:01.880 - Using CLR config file: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonSocketServer.exe.config
    58276: 17:59:01.880 - Loaded version: "v4.0.30319"
    58276: 17:59:02.084 - Photon host runtime loaded
    58276: 17:59:03.664 - License is valid.
    58276: 17:59:03.664 - Licensed for 100 concurrent connections.
    58276: 17:59:03.664 - ENet: Ping interval: 1000 ms
    58276: 17:59:03.664 - ENet: Data sending delay: 5 ms
    58276: 17:59:03.664 - ENet: ACK sending delay: 5 ms
    58276: 17:59:03.664 - ENet: Max Reliable Data In Transit (awaiting ACKs) per peer : 51200 bytes
    58276: 17:59:03.664 - ENet: Per peer bandwidth limit
    58276: 17:59:03.664 - ENet: Transmit Rate Limit: 256 KB/Sec
    58276: 17:59:03.664 - ENet: Limit period: 200ms
    58276: 17:59:03.664 - ENet: Limit per period: 52428 bytes
    58276: 17:59:03.664 - ENet: Max queued data for transmission per peer: 512000 bytes
    58276: 17:59:03.664 - ENet: Minimum retransmit timeout: 200
    58276: 17:59:03.664 - ENet: No Maximum retransmit timeout
    58276: 17:59:03.664 - ENet: Minimum timeout: 5000ms
    58276: 17:59:03.664 - ENet: Maximum timeout: 30000ms
    58276: 17:59:03.664 - ENet: Max Inbound Reliable Data Queued (awaiting resends of earlier sequence numbers) per peer : 163840 bytes
    58276: 17:59:03.664 - ENet: Will validate inbound ENet datagram CRC if present
    58276: 17:59:03.664 - ENet: No RTT ACK adjustment timeout
    58276: 17:59:03.664 - ENet: Packet throttle enabled: True
    58276: 17:59:03.664 - ENet: Default packet throttle: 32
    58276: 17:59:03.664 - ENet: Packet throttle scale: 32
    58276: 17:59:03.664 - ENet: Packet throttle counter: 7
    58276: 17:59:03.664 - ENet: Round Trip throttle multiplier: 2
    58276: 17:59:03.664 - ENet: Unreliable Queue timeout: 5ms
    58276: 17:59:03.664 - ENet: AO: Initial queue size: 4096
    58276: 17:59:03.664 - ENet: AO: Max consecutive ops: 200
    58276: 17:59:03.664 - ENet: max pooled buffers in peer: 10
    58276: 17:59:03.664 - ENet: Packet trace ring buffer size: 10
    58276: 17:59:03.664 - ENet: No Application data inactivity timeout
    58276: 17:59:03.664 - CMultiPoolBufferAllocator::GetAllocator() - "CENetHost"
    58276: 17:59:03.664 - Config|INFO| New TCP: Max message size: 512000
    58276: 17:59:03.664 - About to load application: Master from Photon.LoadBalancing
    58276: 17:59:05.330 - Taking reference on default app domain
    58276: 17:59:05.650 - Application: "Master" started in app domain: 2
    58276: 17:59:05.650 - About to load application: Game from Photon.LoadBalancing
    58276: 17:59:07.180 - Taking reference on default app domain
    58276: 17:59:07.363 - Application: "Game" started in app domain: 3
    58276: 17:59:07.363 - About to load application: NameServer from Photon.NameServer
    58276: 17:59:08.869 - Taking reference on default app domain
    58276: 17:59:09.006 - Application: "NameServer" started in app domain: 4
    58276: 17:59:09.006 - About to load application: TestServer3 from TestServer3
    58276: 17:59:10.520 - Taking reference on default app domain
    58276: 17:59:10.599 - ERROR: Failed to start application: "TestServer3" in app domain: 5
    51316: 17:59:10.599 - CManagedHost::OnDefaultAction() - OPR_AppDomainUnload - eUnloadAppDomain
    58276: 17:59:10.599 - CService::OnException() - Exception: CManagedHost::StartApplication() - Failed to start application in AppDomain: 5 - 지정된 파일을 찾을 수 없습니다.
    58276: 17:59:10.600 - Server shutting down...
    58276: 17:59:10.600 - Shutdown monitoring enabled, 60000ms before process abort
    58276: 17:59:10.600 - Notifying CLR applications of shutdown...
    58276: 17:59:10.600 - RequestApplicationStop: 3
    58276: 17:59:10.602 - RequestApplicationStop: 2
    51316: 17:59:10.604 - CManagedHost::OnDomainUnload() - 5
    58276: 17:59:10.605 - RequestApplicationStop: 4
    58276: 17:59:10.606 - RequestStop: defalt app domain
    58276: 17:59:10.607 - Shutting down NEW TCP Outbound Connection Manager...
    58276: 17:59:10.607 - Shutting down ENet host...
    58276: 17:59:10.607 - Disconnecting all peers...
    58276: 17:59:10.607 - Shutting down socket servers...
    58276: 17:59:10.607 - Shutting down ENet thread pool...
    58276: 17:59:10.607 - Shutting down TCP inactivity timers...
    58276: 17:59:10.608 - Timer queue stats: TCP Timers
    58276: 17:59:10.608 - Stats are not available
    58276: 17:59:10.608 - Shutting down ENet timers...
    58276: 17:59:10.608 - Waiting for socket servers to shutdown...
    58276: 17:59:10.608 - Shutting down I/O thread pool...
    58276: 17:59:10.608 - Shutting down CLR applications...
    51316: 17:59:10.643 - CManagedHost::OnDefaultAction() - OPR_AppDomainUnload - eUnloadAppDomain
    58276: 17:59:10.646 - Shutting down network data traces...
    58276: 17:59:10.646 - Waiting for network data traces to complete...
    58276: 17:59:10.646 - Destroying servers
    58276: 17:59:10.646 - Destroying WebRTC Outbound Connection Manager
    58276: 17:59:10.646 - Destroying WebRTC Outbound Host
    58276: 17:59:10.646 - Destroying outbound ICE connection manager
    58276: 17:59:10.646 - Destroying ENet timer wheel
    58276: 17:59:10.646 - Timer queue stats: ENetTimerWheel
    58276: 17:59:10.646 - Stats are not available
    58276: 17:59:10.646 - Destroying Network Data Trace factory
    58276: 17:59:10.647 - Destroying ENet host
    58276: 17:59:10.647 - Destroying WebRTC inactivity timer queue
    58276: 17:59:10.647 - Destroying WebRTC host
    58276: 17:59:10.647 - Destroying ICE connection manager
    58276: 17:59:10.647 - Flushing stream socket allocator...
    58276: 17:59:10.647 - Flushing UDP Chunk datagram socket allocator...
    58276: 17:59:10.647 - Flushing NEW TCP socket allocator...
    58276: 17:59:10.647 - Destroying TCP inactivity timer
    58276: 17:59:10.647 - Flushing ENET buffer allocator...
    58276: 17:59:10.647 - Flushing TCP buffer allocator...
    58276: 17:59:10.647 - Flushing TCP buffer handle allocator...
    58276: 17:59:10.647 - Destroying CLR applications
    58276: 17:59:10.647 - ~CCLRApplicationCollection() - Waiting up to 10 seconds for the CLR to release all of our objects
    51316: 17:59:10.652 - CManagedHost::OnDomainUnload() - 3
    51316: 17:59:10.658 - CManagedHost::OnDefaultAction() - OPR_AppDomainUnload - eUnloadAppDomain
    51316: 17:59:10.662 - CManagedHost::OnDomainUnload() - 4
    51316: 17:59:10.667 - CManagedHost::OnDefaultAction() - OPR_AppDomainUnload - eUnloadAppDomain
    51316: 17:59:10.671 - CManagedHost::OnDomainUnload() - 2
    58276: 17:59:10.674 - ~CCLRApplicationCollection() - Done. All objects released
    58276: 17:59:10.674 - ~CManagedHost() - Release default app domain
    58276: 17:59:10.674 - CManagedHost::OnDomainUnload() - 1
    58276: 17:59:10.674 - ~CManagedHost() - Waiting up to 10 seconds for CLR shutdown...
    58276: 17:59:10.682 - ~CManagedHost
    58276: 17:59:10.682 - Destroying ENet thread pool
    58276: 17:59:10.682 - Destroying I/O thread pool
    58276: 17:59:10.682 - Destroying HTTP File Server I/O thread pool
    58276: 17:59:10.682 - Destroying ENet I/O thread pool
    58276: 17:59:10.682 - Destroying ENet buffer allocator
    58276: 17:59:10.682 - Destroying TCP buffer allocator
    58276: 17:59:10.682 - Destroying TCP socket allocator
    58276: 17:59:10.682 - Destroying NEW TCP socket allocator
    58276: 17:59:10.682 - Destroying NEW TCP configuration
    58276: 17:59:10.682 - Config|INFO| New TCP: Flushing TCP socket allocator...
    58276: 17:59:10.682 - Config|INFO| New TCP: Flushing TCP buffer allocator...
    58276: 17:59:10.682 - Config|INFO| New TCP: Flushing TCP buffer handle allocator...
    58276: 17:59:10.682 - Config|INFO| New TCP: Flushing policy file buffer allocator...
    58276: 17:59:10.682 - Destroying UDP Chunk inbound socket allocator
    58276: 17:59:10.682 - Destroying shared datagram flow control data
    58276: 17:59:10.682 - Shutdown complete...
    28556: 17:59:10.683 - MessageBox: Photon Socket Server: LoadBalancing - 5.0.12.7770Failed to start service
    Error code: 108

    Instance Name = "LoadBalancing"
    28556: 17:59:10.683 - Service shutting down: failed to start application. Errorcode: 108
    28556: 17:59:10.783 - Service shut down complete


    Thanks !!!

    As you said, I changed the code and built it. The build was successful, and when I started it with PhotonControl.exe, I had Error message like upper.



  • youb1649
    Options
    "지정된 파일을 찾을 수 없습니다." means "The specified file could not be found."
  • JohnTube
    JohnTube ✭✭✭✭✭
    Options
    Hi @youb1649,

    Thank you for choosing Photon!

    I wanted to mention (for your for future readers) that we have a guide for migrating to v5.
    And the ApplicationBase constructor change is mentioned there already.
  • youb1649
    Options
    Are there any tutorials to step through Photon Server?
    A lot of content is lacking for beginners' approach, and the articles on the Internet and books are old versions. In the end, it didn't work, so even if I completely deleted my coding and followed the Step-By-Step on the website, it didn't look like the explanation. Could you please explain why?

    Error Message

    64648: 16:01:23.767 - ---
    64648: 16:01:23.767 - Service: "Photon Socket Server" starting
    64648: 16:01:23.767 - Config File: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonServer.config
    64648: 16:01:23.770 - Will produce at most: 10 crash dumps
    64648: 16:01:23.770 - Construction of service object complete
    64648: 16:01:23.773 - Server Starting...
    64648: 16:01:23.773 - Tick count: 1977947468 (wraps in: 26.8174 days)
    64648: 16:01:23.773 - Tick count 64: 1977947468
    64648: 16:01:23.773 - ENet high resolution Tick count: 1977958137 (wraps in: 26.8172 days)
    64648: 16:01:23.774 - Photon Version: 5.0.12.7770
    64648: 16:01:23.774 - Photon Build: RELEASE - x64 - VS2019 (16.8) - 192829336
    64648: 16:01:23.774 - PID: 72208
    64648: 16:01:23.774 - EXE: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonSocketServer.exe
    64648: 16:01:23.774 - OpenSSL 1.1.1i 8 Dec 2020
    64648: 16:01:23.779 - Config File: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonServer.config
    64648: 16:01:23.779 - CService::OnException() - Exception: CXMLConfiguration::LoadDocument() - Failed to locate required child element: "Instance" with tag: "Name" with value: "TestServer3" - Source: "D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonServer.config"
    64648: 16:01:23.780 - Server shutting down...
    64648: 16:01:23.780 - Shutting down socket servers...
    64648: 16:01:23.780 - Waiting for socket servers to shutdown...
    64648: 16:01:23.780 - Destroying servers
    64648: 16:01:23.780 - Destroying WebRTC Outbound Connection Manager
    64648: 16:01:23.780 - Destroying WebRTC Outbound Host
    64648: 16:01:23.780 - Destroying outbound ICE connection manager
    64648: 16:01:23.780 - Destroying ENet timer wheel
    64648: 16:01:23.780 - Destroying Network Data Trace factory
    64648: 16:01:23.780 - Destroying ENet host
    64648: 16:01:23.780 - Destroying WebRTC inactivity timer queue
    64648: 16:01:23.780 - Destroying WebRTC host
    64648: 16:01:23.780 - Destroying ICE connection manager
    64648: 16:01:23.780 - Destroying TCP inactivity timer
    64648: 16:01:23.780 - Destroying CLR applications
    64648: 16:01:23.780 - Destroying ENet thread pool
    64648: 16:01:23.780 - Destroying I/O thread pool
    64648: 16:01:23.780 - Destroying HTTP File Server I/O thread pool
    64648: 16:01:23.780 - Destroying ENet I/O thread pool
    64648: 16:01:23.780 - Destroying ENet buffer allocator
    64648: 16:01:23.780 - Destroying TCP buffer allocator
    64648: 16:01:23.780 - Destroying TCP socket allocator
    64648: 16:01:23.780 - Destroying NEW TCP socket allocator
    64648: 16:01:23.780 - Destroying NEW TCP configuration
    64648: 16:01:23.780 - Destroying UDP Chunk inbound socket allocator
    64648: 16:01:23.780 - Destroying shared datagram flow control data
    64648: 16:01:23.780 - Shutdown complete...
    64648: 16:01:23.781 - Service shutting down: with Exception (1). Errorcode: 6
    64648: 16:01:23.782 - Service shut down complete
    11816: 16:01:29.807 - ---
    11816: 16:01:29.807 - Service: "Photon Socket Server" starting
    11816: 16:01:29.807 - Config File: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonServer.config
    11816: 16:01:29.810 - Will produce at most: 10 crash dumps
    11816: 16:01:29.810 - Construction of service object complete
    11816: 16:01:29.813 - Server Starting...
    11816: 16:01:29.813 - Tick count: 1977953500 (wraps in: 26.8173 days)
    11816: 16:01:29.813 - Tick count 64: 1977953500
    11816: 16:01:29.813 - ENet high resolution Tick count: 1977964176 (wraps in: 26.8172 days)
    11816: 16:01:29.813 - Photon Version: 5.0.12.7770
    11816: 16:01:29.813 - Photon Build: RELEASE - x64 - VS2019 (16.8) - 192829336
    11816: 16:01:29.813 - PID: 73792
    11816: 16:01:29.813 - EXE: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonSocketServer.exe
    11816: 16:01:29.813 - OpenSSL 1.1.1i 8 Dec 2020
    11816: 16:01:29.818 - Config File: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonServer.config
    11816: 16:01:29.819 - CService::OnException() - Exception: CXMLConfiguration::LoadDocument() - Failed to locate required child element: "Instance" with tag: "Name" with value: "TestServer3" - Source: "D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonServer.config"
    11816: 16:01:29.819 - Server shutting down...
    11816: 16:01:29.819 - Shutting down socket servers...
    11816: 16:01:29.819 - Waiting for socket servers to shutdown...
    11816: 16:01:29.819 - Destroying servers
    11816: 16:01:29.819 - Destroying WebRTC Outbound Connection Manager
    11816: 16:01:29.819 - Destroying WebRTC Outbound Host
    11816: 16:01:29.819 - Destroying outbound ICE connection manager
    11816: 16:01:29.819 - Destroying ENet timer wheel
    11816: 16:01:29.819 - Destroying Network Data Trace factory
    11816: 16:01:29.819 - Destroying ENet host
    11816: 16:01:29.819 - Destroying WebRTC inactivity timer queue
    11816: 16:01:29.819 - Destroying WebRTC host
    11816: 16:01:29.819 - Destroying ICE connection manager
    11816: 16:01:29.819 - Destroying TCP inactivity timer
    11816: 16:01:29.819 - Destroying CLR applications
    11816: 16:01:29.819 - Destroying ENet thread pool
    11816: 16:01:29.819 - Destroying I/O thread pool
    11816: 16:01:29.819 - Destroying HTTP File Server I/O thread pool
    11816: 16:01:29.819 - Destroying ENet I/O thread pool
    11816: 16:01:29.819 - Destroying ENet buffer allocator
    11816: 16:01:29.819 - Destroying TCP buffer allocator
    11816: 16:01:29.819 - Destroying TCP socket allocator
    11816: 16:01:29.819 - Destroying NEW TCP socket allocator
    11816: 16:01:29.819 - Destroying NEW TCP configuration
    11816: 16:01:29.819 - Destroying UDP Chunk inbound socket allocator
    11816: 16:01:29.819 - Destroying shared datagram flow control data
    11816: 16:01:29.819 - Shutdown complete...
    11816: 16:01:29.821 - Service shutting down: with Exception (1). Errorcode: 6
    11816: 16:01:29.822 - Service shut down complete


  • chvetsov
    Options
    hey, @youb1649

    it looks like you are using config from old version of photon
    ```
    11816: 16:01:29.819 - CService::OnException() - Exception: CXMLConfiguration::LoadDocument() - Failed to locate required child element: "Instance" with tag: "Name" with value: "TestServer3" - Source: "D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonServer.config"
    ```

    now 'TestServer3' should be an instance name. there are also other changes. please read careful docs about transition from v4 to v5

    best,
    ilya
  • youb1649
    Options
    30180: 10:02:23.386 - ---
    30180: 10:02:23.386 - Service: "Photon Socket Server" starting
    30180: 10:02:23.386 - Config File: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonServer.config
    30180: 10:02:23.387 - Config|INFO| Adding config path macro: "[CONFIG]" - "D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64"
    30180: 10:02:23.387 - Config|INFO| Adding config path macro: "[DEPLOY]" - "[CONFIG]\.."
    30180: 10:02:23.387 - Config|INFO| Adding config path macro: "[EXE]" - "D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64"
    30180: 10:02:23.390 - Will produce at most: 10 crash dumps
    30180: 10:02:23.390 - Construction of service object complete
    30180: 10:02:23.394 - Server Starting...
    30180: 10:02:23.394 - Tick count: 2042807078 (wraps in: 26.0667 days)
    30180: 10:02:23.394 - Tick count 64: 2042807078
    30180: 10:02:23.394 - ENet high resolution Tick count: 2042817757 (wraps in: 26.0665 days)
    30180: 10:02:23.394 - Photon Version: 5.0.12.7770
    30180: 10:02:23.394 - Photon Build: RELEASE - x64 - VS2019 (16.8) - 192829336
    30180: 10:02:23.394 - PID: 19160
    30180: 10:02:23.394 - EXE: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonSocketServer.exe
    30180: 10:02:23.394 - OpenSSL 1.1.1i 8 Dec 2020
    30180: 10:02:23.399 - Config File: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonServer.config
    30180: 10:02:23.400 - Will NOT log unimportant exceptions
    30180: 10:02:23.401 - Performance Counter Configuration for: "Photon Socket Server"
    30180: 10:02:23.401 - First Counter Index: 15186
    30180: 10:02:23.401 - Last Counter Index: 16222
    30180: 10:02:23.401 - First Help Index: 15187
    30180: 10:02:23.402 - Last Help Index: 16223
    30180: 10:02:23.402 - Object List: 15186 15314 15424 15544 15584 15820 15948 15966 16020 16080 16160 16198
    30180: 10:02:23.402 - Perf Ini File: Photon_Socket_Server_F6FFD0B89D56C5BDF8BF149AF76A7F92.ini
    30180: 10:02:23.402 - Schema Checksum: F6FFD0B89D56C5BDF8BF149AF76A7F92
    30180: 10:02:23.402 - DLL name: PhotonSocketServerCounters-F6FFD0B89D56C5BDF8BF149AF76A7F92.dll
    30180: 10:02:23.403 - Counters are installed? - "Photon Socket Server"
    30180: 10:02:23.428 - Shutdown timeout enabled: 60000ms
    30180: 10:02:23.428 - Starting I/O thread pool with 4 threads
    22776: 10:02:23.429 - InitialiseWorkerThread - I/O thread - COM enabled
    71148: 10:02:23.429 - InitialiseWorkerThread - I/O thread - COM enabled
    72280: 10:02:23.429 - InitialiseWorkerThread - I/O thread - COM enabled
    30180: 10:02:23.429 - ENet: buffer size: 4096
    30180: 10:02:23.429 - ENet: buffer pool: 5000
    30180: 10:02:23.429 - Max message size: 512000
    30180: 10:02:23.429 - CMultiPoolBufferAllocator::GetAllocator() - "CENetThreadPool"
    27196: 10:02:23.429 - InitialiseWorkerThread - I/O thread - COM enabled
    50864: 10:02:23.429 - Initialise - ENet thread pool thread
    19688: 10:02:23.429 - Initialise - ENet thread pool thread
    53604: 10:02:23.429 - Initialise - ENet thread pool thread
    72880: 10:02:23.429 - Initialise - ENet thread pool thread
    75208: 10:02:23.429 - Initialise - ENet thread pool thread
    74592: 10:02:23.430 - Initialise - ENet thread pool thread
    71552: 10:02:23.430 - Initialise - ENet thread pool thread
    30180: 10:02:23.430 - Starting ENet thread pool with the following settings
    30180: 10:02:23.430 - InitialThreads: 8 threads
    30180: 10:02:23.430 - MinThreads: 8 threads
    30180: 10:02:23.430 - Thread pool is fixed size
    30180: 10:02:23.430 - OnlyDispatchTimers: False
    75072: 10:02:23.430 - Initialise - ENet thread pool thread
    30180: 10:02:24.614 - Resolution ~ 147952 - 14ms
    30180: 10:02:24.614 - ENet timer granularity: 15ms
    30180: 10:02:24.614 - ENet high performance timers: False
    30180: 10:02:24.615 - Config|INFO| TCP S2S: no explicit configuration, using defaults. Add a <S2S> node to configure.
    30180: 10:02:24.615 - Config|INFO| TCP S2S: - flow control: Max queued bytes: 50000
    30180: 10:02:24.615 - Config|INFO| TCP S2S: - flow control: Notification step size: 25
    30180: 10:02:24.615 - Config|INFO| TCP S2S: - no read timeout
    30180: 10:02:24.615 - Config|INFO| TCP S2S: - rate limit: 32000 bytes per 250ms (125KB/sec)
    30180: 10:02:24.615 - Config|INFO| TCP S2S: Nagle: disabled
    30180: 10:02:24.615 - Config|INFO| TCP S2S: PingFrequency: 2500
    30180: 10:02:24.615 - Config|INFO| TCP S2S: MaxInboundMessageSize: 512000
    30180: 10:02:24.615 - Config|INFO| TCP S2S: MaxOutboundMessageSize: 512000
    30180: 10:02:24.615 - Config|INFO| TCP S2S: ConnectTimeout: 30000ms
    30180: 10:02:24.615 - Config|INFO| TCP S2S: No App Data inactivity timeout
    30180: 10:02:24.615 - Config|INFO| TCP S2S: No write completion timeout
    30180: 10:02:24.620 - GetRuntime - About to load CLR - versions available:
    30180: 10:02:24.620 - v2.0.50727
    30180: 10:02:24.620 - v4.0.30319
    30180: 10:02:24.620 - Configuration requests: "v4.0.30319"
    30180: 10:02:24.620 - About to load version: "v4.0.30319"
    30180: 10:02:24.625 - About to load runtime: PhotonHostRuntime.PhotonDomainManager from PhotonHostRuntime, Culture=neutral, PublicKeyToken=02C301B61B060C4D
    30180: 10:02:24.625 - CLRBaseDirectory set to "D:\photon-server-sdk_v5-0-12-24499-rc1\deploy"
    30180: 10:02:24.626 - Start: About to load CLR - versions available:
    30180: 10:02:24.626 - v2.0.50727
    30180: 10:02:24.626 - v4.0.30319
    30180: 10:02:24.626 - No preference in configuration file, will load latest.
    30180: 10:02:24.626 - About to load version: "v4.0.30319"
    30180: 10:02:24.626 - Using server GC
    30180: 10:02:24.626 - GC: Server garbage collector enabled
    30180: 10:02:24.626 - GC: Concurrent garbage collector enabled
    30180: 10:02:24.626 - GC: Trim on commit disabled
    30180: 10:02:24.626 - Using CLR config file: D:\photon-server-sdk_v5-0-12-24499-rc1\deploy\bin_Win64\PhotonSocketServer.exe.config
    30180: 10:02:24.626 - Loaded version: "v4.0.30319"
    30180: 10:02:24.851 - Photon host runtime loaded
    30180: 10:02:26.481 - License is valid.
    30180: 10:02:26.481 - Licensed for 100 concurrent connections.
    30180: 10:02:26.481 - ENet: Ping interval: 1000 ms
    30180: 10:02:26.481 - ENet: Data sending delay: 5 ms
    30180: 10:02:26.481 - ENet: ACK sending delay: 5 ms
    30180: 10:02:26.481 - ENet: Max Reliable Data In Transit (awaiting ACKs) per peer : 51200 bytes
    30180: 10:02:26.481 - ENet: Per peer bandwidth limit
    30180: 10:02:26.481 - ENet: Transmit Rate Limit: 256 KB/Sec
    30180: 10:02:26.481 - ENet: Limit period: 200ms
    30180: 10:02:26.481 - ENet: Limit per period: 52428 bytes
    30180: 10:02:26.481 - ENet: Max queued data for transmission per peer: 512000 bytes
    30180: 10:02:26.481 - ENet: Minimum retransmit timeout: 200
    30180: 10:02:26.481 - ENet: No Maximum retransmit timeout
    30180: 10:02:26.481 - ENet: Minimum timeout: 5000ms
    30180: 10:02:26.481 - ENet: Maximum timeout: 30000ms
    30180: 10:02:26.481 - ENet: Max Inbound Reliable Data Queued (awaiting resends of earlier sequence numbers) per peer : 163840 bytes
    30180: 10:02:26.481 - ENet: Will validate inbound ENet datagram CRC if present
    30180: 10:02:26.481 - ENet: No RTT ACK adjustment timeout
    30180: 10:02:26.481 - ENet: Packet throttle enabled: True
    30180: 10:02:26.481 - ENet: Default packet throttle: 32
    30180: 10:02:26.481 - ENet: Packet throttle scale: 32
    30180: 10:02:26.481 - ENet: Packet throttle counter: 7
    30180: 10:02:26.481 - ENet: Round Trip throttle multiplier: 2
    30180: 10:02:26.481 - ENet: Unreliable Queue timeout: 5ms
    30180: 10:02:26.481 - ENet: AO: Initial queue size: 4096
    30180: 10:02:26.481 - ENet: AO: Max consecutive ops: 200
    30180: 10:02:26.481 - ENet: max pooled buffers in peer: 10
    30180: 10:02:26.481 - ENet: Packet trace ring buffer size: 10
    30180: 10:02:26.481 - ENet: No Application data inactivity timeout
    30180: 10:02:26.481 - CMultiPoolBufferAllocator::GetAllocator() - "CENetHost"
    30180: 10:02:26.481 - Config|INFO| New TCP: Max message size: 512000
    30180: 10:02:26.482 - About to load application: TestServer3 from Photon.TestServer3
    30180: 10:02:28.040 - Taking reference on default app domain
    30180: 10:02:28.134 - ERROR: Failed to start application: "TestServer3" in app domain: 2
    59068: 10:02:28.134 - CManagedHost::OnDefaultAction() - OPR_AppDomainUnload - eUnloadAppDomain
    30180: 10:02:28.134 - CService::OnException() - Exception: CManagedHost::StartApplication() - Failed to start application in AppDomain: 2 - 지정된 파일을 찾을 수 없습니다.
    30180: 10:02:28.135 - Server shutting down...
    30180: 10:02:28.135 - Shutdown monitoring enabled, 60000ms before process abort
    30180: 10:02:28.135 - Notifying CLR applications of shutdown...
    30180: 10:02:28.135 - RequestStop: defalt app domain
    30180: 10:02:28.136 - Shutting down NEW TCP Outbound Connection Manager...
    30180: 10:02:28.136 - Shutting down ENet host...
    30180: 10:02:28.136 - Disconnecting all peers...
    30180: 10:02:28.136 - Shutting down socket servers...
    30180: 10:02:28.136 - Shutting down ENet thread pool...
    30180: 10:02:28.136 - Shutting down TCP inactivity timers...
    30180: 10:02:28.136 - Timer queue stats: TCP Timers
    30180: 10:02:28.136 - Stats are not available
    30180: 10:02:28.136 - Shutting down ENet timers...
    30180: 10:02:28.137 - Waiting for socket servers to shutdown...
    30180: 10:02:28.137 - Shutting down I/O thread pool...
    30180: 10:02:28.137 - Shutting down CLR applications...
    30180: 10:02:28.137 - Shutting down network data traces...
    30180: 10:02:28.137 - Waiting for network data traces to complete...
    30180: 10:02:28.137 - Destroying servers
    30180: 10:02:28.137 - Destroying WebRTC Outbound Connection Manager
    30180: 10:02:28.137 - Destroying WebRTC Outbound Host
    30180: 10:02:28.137 - Destroying outbound ICE connection manager
    30180: 10:02:28.137 - Destroying ENet timer wheel
    30180: 10:02:28.137 - Timer queue stats: ENetTimerWheel
    30180: 10:02:28.137 - Stats are not available
    30180: 10:02:28.137 - Destroying Network Data Trace factory
    30180: 10:02:28.137 - Destroying ENet host
    30180: 10:02:28.137 - Destroying WebRTC inactivity timer queue
    30180: 10:02:28.137 - Destroying WebRTC host
    30180: 10:02:28.137 - Destroying ICE connection manager
    30180: 10:02:28.137 - Flushing stream socket allocator...
    30180: 10:02:28.137 - Flushing UDP Chunk datagram socket allocator...
    30180: 10:02:28.137 - Flushing NEW TCP socket allocator...
    30180: 10:02:28.137 - Destroying TCP inactivity timer
    30180: 10:02:28.137 - Flushing ENET buffer allocator...
    30180: 10:02:28.137 - Flushing TCP buffer allocator...
    30180: 10:02:28.137 - Flushing TCP buffer handle allocator...
    30180: 10:02:28.137 - Destroying CLR applications
    30180: 10:02:28.137 - ~CCLRApplicationCollection() - Waiting up to 10 seconds for the CLR to release all of our objects
    59068: 10:02:28.140 - CManagedHost::OnDomainUnload() - 2
    30180: 10:02:28.141 - ~CCLRApplicationCollection() - Done. All objects released
    30180: 10:02:28.141 - ~CManagedHost() - Release default app domain
    30180: 10:02:28.141 - CManagedHost::OnDomainUnload() - 1
    30180: 10:02:28.141 - ~CManagedHost() - Waiting up to 10 seconds for CLR shutdown...
    30180: 10:02:28.152 - ~CManagedHost
    30180: 10:02:28.152 - Destroying ENet thread pool
    30180: 10:02:28.152 - Destroying I/O thread pool
    30180: 10:02:28.152 - Destroying HTTP File Server I/O thread pool
    30180: 10:02:28.152 - Destroying ENet I/O thread pool
    30180: 10:02:28.152 - Destroying ENet buffer allocator
    30180: 10:02:28.152 - Destroying TCP buffer allocator
    30180: 10:02:28.152 - Destroying TCP socket allocator
    30180: 10:02:28.152 - Destroying NEW TCP socket allocator
    30180: 10:02:28.152 - Destroying NEW TCP configuration
    30180: 10:02:28.152 - Config|INFO| New TCP: Flushing TCP socket allocator...
    30180: 10:02:28.152 - Config|INFO| New TCP: Flushing TCP buffer allocator...
    30180: 10:02:28.152 - Config|INFO| New TCP: Flushing TCP buffer handle allocator...
    30180: 10:02:28.152 - Config|INFO| New TCP: Flushing policy file buffer allocator...
    30180: 10:02:28.152 - Destroying UDP Chunk inbound socket allocator
    30180: 10:02:28.152 - Destroying shared datagram flow control data
    30180: 10:02:28.152 - Shutdown complete...
    30180: 10:02:28.154 - Service shutting down: failed to start application. Errorcode: 108
    30180: 10:02:28.279 - Service shut down complete
  • youb1649
    Options
    30180: 10:02:28.040 - Taking reference on default app domain
    30180: 10:02:28.134 - ERROR: Failed to start application: "TestServer3" in app domain: 2
    59068: 10:02:28.134 - CManagedHost::OnDefaultAction() - OPR_AppDomainUnload - eUnloadAppDomain
    30180: 10:02:28.134 - CService::OnException() - Exception: CManagedHost::StartApplication() - Failed to start application in AppDomain: 2 - 지정된 파일을 찾을 수 없습니다.
    30180: 10:02:28.135 - Server shutting down...


    "지정된 파일을 찾을 수 없습니다." means, It can't find the specified file.


    <Instance Name="Test"
    MaxMessageSize="512000"
    MaxQueuedDataPerPeer="512000"
    PerPeerMaxReliableDataInTransit="51200"
    PerPeerTransmitRateLimitKBSec="256"
    PerPeerTransmitRatePeriodMilliseconds="200"
    MinimumTimeout="5000"
    MaximumTimeout="30000"
    DisplayName="Test">

    <UDPListeners>
    <UDPListener
    IPAddress="0.0.0.0"
    Port="6262"
    OverrideApplication="TestServer3">
    </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="6263"
    OverrideApplication="TestServer3"
    InactivityTimeout="10000"
    >
    </TCPListener>
    </TCPListeners>



    <HTTPListeners>
    <HTTPListener
    Name="*:[PORT]::TestServer3"
    IPAddress="0.0.0.0"
    Port="6264"
    DisableNagle="true"
    InactivityTimeout="10000"
    AppDataInactivityTimeout="15000">
    <Routing>
    <Route
    Url="/*"
    OverrideApplication="TestServer3"
    PeerType="WebSocket"
    Counters="false"
    />
    </Routing>
    </HTTPListener>
    </HTTPListeners>


    <!-- Defines the Photon Runtime Assembly to use. -->
    <Runtime
    Assembly="PhotonHostRuntime, Culture=neutral"
    Type="PhotonHostRuntime.PhotonDomainManager"
    UnhandledExceptionPolicy="TerminateProcess">
    </Runtime>

    <Applications Default="TestServers">

    <Application
    Name="TestServer3"
    BaseDirectory="TestServer3"
    Assembly="Photon.TestServer3"
    Type="Photon.TestServer3.PhotonAckServer">
    </Application>

    </Applications>
    </Instance>



  • youb1649
    Options
    using Microsoft.Extensions.Configuration;
    using Photon.SocketServer;

    namespace Photon.TestServer3
    {
    public class PhotonAckServer : ApplicationBase
    {
    static PhotonAckServer()
    {
    }
    public PhotonAckServer()
    : this(LoadConfiguration())
    { }

    protected PhotonAckServer(IConfiguration configuration)
    : base(configuration)
    { }

    private static IConfiguration LoadConfiguration()
    {
    return null;
    }

    protected override PeerBase CreatePeer(InitRequest initRequest)
    {
    return new PhotonAckPeer(initRequest);
    }

    protected override void Setup()
    {
    }

    protected override void TearDown()
    {
    }
    }
    }
  • youb1649
    Options
    The last upper one is the main class to start and the second upper one is the config setting.
    I'm still reading your documents. But I can't find a suitable clue (what my mistake is) to run my server so far. Could you please provide a simple example code to better understand it for biginners? not like massive size code. ;)

    anyway, thanks for the quick answers.
  • chvetsov
    Options
    you config and application code look fine except LoadConfiguration. You have to return non null value. it can be new ConfiguratioinBuilder().Build(). That mistake may lead to load failure. Please check also PhotonClr.log

    Another thing to check is place where you put your assembly. it should be in deploy/TestServer3/bin

    best,
    ilya
  • youb1649
    Options
    using Microsoft.Extensions.Configuration;
    using Photon.SocketServer;
    using System.IO;

    namespace PhotonAckServer
    {
    public class PhotonAckServer : ApplicationBase
    {
    public PhotonAckServer() : this(LoadConfiguration())
    {
    }

    public PhotonAckServer(IConfiguration configuration) : base(configuration)
    { }
    private static IConfiguration LoadConfiguration()
    {
    var cb = new ConfigurationBuilder();
    var cbpath = Path.GetDirectoryName(typeof(PhotonAckServer).Assembly.CodeBase).Remove(0, 6);
    return cb.AddXmlFile(Path.Combine(cbpath, "PhotonAckServer.xml.config")).Build();
    }

    protected override PeerBase CreatePeer(InitRequest initRequest)
    {
    return new PhotonAckPeer(initRequest);
    }

    protected override void Setup()
    {
    }

    protected override void TearDown()
    {
    }
    }
    }
  • youb1649
    Options
    76320: 15:33:05.352 - About to load application: PhotonAckServer from PhotonAckServer
    76320: 15:33:06.888 - Taking reference on default app domain
    76320: 15:33:07.035 - ERROR: Failed to start application: "PhotonAckServer" in app domain: 2
    76320: 15:33:07.035 - CService::OnException() - Exception: CManagedHost::StartApplication() - Failed to start application in AppDomain: 2 - 지정된 파일을 찾을 수 없습니다.
    75392: 15:33:07.035 - CManagedHost::OnDefaultAction() - OPR_AppDomainUnload - eUnloadAppDomain
    76320: 15:33:07.035 - Server shutting down...


  • youb1649
    Options
    I spent some days with this Photon Server solution as a beginner who wants to find a stable server engine composed of a structure of C/S. It's tough to understand the details with the elementary documents on web site. Maybe you need to provide some useful tutorial codes for beginners. That is better than the simple documents. To be honest, if you're a developer, isn't it better to provide tutorial code than to provide documentation explaining the details one by one?
  • chvetsov
    Options
    hi, @youb1649
    as I wrote you may have two issues one with configuration loading and second is related to path. Where did you put your server code? in the right folder?

    Also you may use Fusion++ tool(https://github.com/awaescher/Fusion/releases) to see where Photon is looking for your server code. You will see Errors in list. Find your lib among the errors and see why it was not loaded

    PS: I'm on vacation next two weeks

    best,
    ilya
  • JohnTube
    JohnTube ✭✭✭✭✭
    Options
    Hi @youb1649,
    I spent some days with this Photon Server solution as a beginner who wants to find a stable server engine composed of a structure of C/S. It's tough to understand the details with the elementary documents on web site. Maybe you need to provide some useful tutorial codes for beginners. That is better than the simple documents. To be honest, if you're a developer, isn't it better to provide tutorial code than to provide documentation explaining the details one by one?

    I'm sorry you ran into issues with implementing a new server application from scratch using Photon Server v5 RC1 SDK.
    We are still in the process of updating our documentation and we will make sure to port this v4 guide to v5 soon.

    However, I wanted to ask you why didn't you choose to use custom server plugins instead? that's what we recommend? or you need a different architecture and design than the one we have in LoadBalancing instance (what we run on the Photon Cloud)?
  • youb1649
    Options
    I'm a researcher who is looking for a solution for Digital Twin systems.
    I want to compose a metaverse environment like the Second Life.
    The metaverse system should be capable of carrying out a lot of people and supporting/providing information and communications simultaneously.
    Therefore, I think the Photon Server looks suitable for it rather than PUN and Bolt, etc.
    I tried to compose a simple echo server, but understanding and debugging the error message of PhotonControl.exe is not easy for a beginner.
    Could you please give me some tips?
  • JohnTube
    JohnTube ✭✭✭✭✭
    edited June 2021
    Options
    Hi @youb1649,
    I'm a researcher who is looking for a solution for Digital Twin systems.
    I want to compose a metaverse environment like the Second Life.
    I see, maybe Photon Industries is an option for you.
    I tried to compose a simple echo server,
    I see, it should have been a breeze, it's my bad I did not prepare the step by step guide for this for v5 in time and not yet actually.
    But we're here to help you make it and make the guide based on your feedback and experience.
    Could you please give me some tips?
    hmm, I prefer that we address this the other way around, whenever you have a question or hit a dead end we try to help you.
    But best tip is logging is your friend, use it and share it with us whenever you're stuck.
    understanding and debugging the error message of PhotonControl.exe is not easy for a beginner.
    which errors are you still having with PhotonControl.exe?
  • parrotthrough
    edited May 2022
    Options


    Are there any tutorials to step through Photon Server?

    A lot of content is lacking for beginners' approach, and the articles on the Internet and books are old versions. In the end, it didn't work, so even if I completely deleted my coding and followed the Step-By-Step on the website, it didn't look like the explanation. Could you please explain why?

    Multiplayer Game Programming: Architecting Networked Games - try it. That's a huge problem with finding photon-related books. But this service https://freebooksummary.com/category/if-i-stay (by the way, that's my fav book for now) helps me to find the needed one. I hope we'll see some new literature on this theme.