"Project ZoSo" is going open source

After a long hiatus I have finally decided to open the doors for this project to be open source. I have been getting lot of inquiries about the status of the project but thought that it wouldn’t be fair since the project has not been updated over an year to sell it. Therefore, I am officially making it open source to let anyone who is interested in using it for their commercial/non-commercial use to be completely free.

I will be working on the project moving forward on my free time. If you utilize my project to create something of your own I would be interested to see how you guys make out.

Requirements

  • Unity 3D
  • Photon Network
  • Raven DB
  • DigtalRune

Features

  • Character creation
  • Quests
  • Items
  • Action bar
  • Spells
  • Conversation
  • Merchants
  • Collision
  • Map
  • World to World
  • Combat
  • Loot

Upcoming Features

  • Custom Physics System
  • Replace RavenDB with MySQL

How to install

Repository

Comment(s)

  • Jonn
  • 06:39PM / Jan 14, 2020

Any updates on the game??

Reply

  • Praveen Blogger
  • 01:10AM / Jun 12, 2020

There should be something coming in the next year.

Reply

  • hsl9999
  • 10:06AM / Aug 05, 2020

Hi, your project is great. But I have a problem.
There is an error in the output Photon Server’s log.
The game can create characters but cannot enter the game, there will be a black screen.

Phonton Server V4.0

server log:
ERROR ExitGames.Threading.FailSafeBatchExecutor [(null)] - System.Exception: Peer is not initialized yet
At Photon.SocketServer.ServerToServer.S2SPeerBase.SendOperationRequest(OperationRequest operationRequest, SendParameters sendParameters) h:\svncontent\photon-socketserver-sdk_cloud\src\Photon.SocketServer\ServerToServer\S2SPeerBase.cs:Line 123
At Karen90MmoFramework.Server.World.OutgoingChatListenerPeer.Karen90MmoFramework.Server.Core.IOutgoingServerPeer.OnConnect(S2SPeerBase connectedServerPeer) D:\Downloads\ZoS2\server\photon_server\Karen90MmoFramework.Server.World\OutgoingChatListenerPeer.cs:Line 258
At Karen90MmoFramework.Server.Core.SubServerApplication.CreateServerPeer(InitResponse initResponse, Object state) D:\Downloads\ZoS2\server\photon_server\Karen90MmoFramework.Server\Server\Core\SubServerApplication.cs:Line 259
At Photon.SocketServer.ServerToServer.TemporaryServerPeer.CreateServerPeer(Object responseObject)  h:\svncontent\photon-socketserver-sdk_cloud\src\Photon.SocketServer\ServerToServer\TemporaryServerPeer.cs:Line 430
At Photon.SocketServer.ServerToServer.TemporaryServerPeer.OnReceive(Byte[] data, SendParameters sendParameters, Int32 rtt, Int32 rttVariance, Int32 numFailures)  h:\svncontent\photon-socketserver-sdk_cloud\src\Photon.SocketServer\ServerToServer\TemporaryServerPeer.cs:Line 417
At Photon.SocketServer.ServerToServer.TemporaryServerPeer.<>c__DisplayClass2.

b__1() h:\svncontent\photon-socketserver-sdk_cloud\src\Photon.SocketServer\ServerToServer\TemporaryServerPeer.cs:Line 377
At ExitGames.Threading.FailSafeBatchExecutor.Execute(Action action)  c:\(Work)\(EG)\exitgames-libs\src\Core\Threading\FailSafeBatchExecutor.cs:行号 111

Reply

  • Don
  • 09:00AM / Aug 19, 2020

i just would like to know what ravendb and which photon to use.  I did get the server up and running but apparently its the wrong version of raven because the client connects but it hangs because the server doesn’t read the user db .  if you know please let me know thanks

Reply

  • gamesdeve
  • 09:49AM / May 21, 2021

problème start service photon ?
4540: 15:05:46.751 - ENet: Max queued data for transmission per peer: 512000 bytes
4540: 15:05:46.751 - ENet: Minimum retransmit timeout: 200
4540: 15:05:46.751 - No Maximum retransmit timeout
4540: 15:05:46.751 - ENet: Minimum timeout: 5000ms
4540: 15:05:46.751 - ENet: Maximum timeout: 30000ms
4540: 15:05:46.751 - ENet: Max Inbound Reliable Data Queued (awaiting resends of earlier sequence numbers) per peer : 163840 bytes
4540: 15:05:46.751 - No RTT ACK adjustment timeout
4540: 15:05:46.752 - About to load application: Master from Karen90MmoFramework.Server.Master
4540: 15:05:46.752 - Auto restart is enabled for application, existing connections will be terminated during restart
4540: 15:05:46.752 - Application will restart 1000ms after the last change detected
4540: 15:05:46.752 - Application will restart if files matching the following are changed: “d11;config”
4540: 15:05:46.752 - Application will NOT restart if files matching the following are changed: “log4net.config”
4540: 15:05:46.856 - Taking reference on default app domain
4540: 15:05:47.525 - Master:2 - Start() failed.
Exception:
System.TypeLoadException: Failed to create object “Karen90MmoFramework.Server.Master.MasterApplication” from assembly “Karen90MmoFramework.Server.Master”. “Photon.SocketServer, Version=4.0.28.11245, Culture=neutral, PublicKeyToken=48c2fa3b6988090e” is last assembly without successfull load event.
  à PhotonHostRuntime.PhotonDomainManager.PhotonPlainAppDomainBehavior.Start(String assemblyName, String typeName, String instanceName, String applicationName, IPhotonApplicationSink sink, ILogToUnmanagedLog logger, IControlListeners listenerControl)
  à PhotonHostRuntime.PhotonDomainManager.Start(String assemblyName, String typeName, String instanceName, String applicationName, IPhotonApplicationSink sink, ILogToUnmanagedLog logger, IControlListeners listenerControl)
4540: 15:05:47.528 - Master:2 - Stop() failed.
Exception:
System.Exception: Stop: unable to call the Application.TearDown() - undefined photonControl.
  à PhotonHostRuntime.PhotonDomainManager.PhotonPlainAppDomainBehavior.Stop()
  à PhotonHostRuntime.PhotonDomainManager.Stop()
4540: 15:05:47.528 - ERROR: Failed to start application: “Master” in app domain: 2
9040: 15:05:47.528 - CManagedHost::OnDefaultAction() - OPR_AppDomainUnload - eUnloadAppDomain
4540: 15:05:47.528 - CService::OnException() - Exception: CManagedHost::StartApplication() - Failed to start application in AppDomain: 2 - Failed to create object “Karen90MmoFramework.Server.Master.MasterApplication” from assembly “Karen90MmoFramework.Server.Master”. “Photon.SocketServer, Version=4.0.28.11245, Culture=neutral, PublicKeyToken=48c2fa3b6988090e” is last assembly without successfull load event.
4540: 15:05:47.529 - Server shutting down…
4540: 15:05:47.529 - Shutdown monitoring enabled, 30000ms before process abort
4540: 15:05:47.529 - Notifying CLR applications of shutdown…
4540: 15:05:47.529 - RequestStop: defalt app domain
4540: 15:05:47.532 - Shutting down WebSocket Outbound Connection Manager…
4540: 15:05:47.532 - Shutting down TCP Outbound Connection Manager…
4540: 15:05:47.532 - Shutting down ENet Outbound Connection Manager…
4540: 15:05:47.532 - Disconnecting all outbound peers…
4540: 15:05:47.533 - Shutting down ENet host…
4540: 15:05:47.533 - Disconnecting all peers…
4540: 15:05:47.533 - Shutting down socket servers…
4540: 15:05:47.533 - Shutting down ENet thread pool…
4540: 15:05:47.533 - Shutting down TCP inactivity timers…
4540: 15:05:47.534 - Shutting down CLR applications…
4540: 15:05:47.534 - Shutting down business logic thread pool…
4540: 15:05:47.534 - Shutting down I/O thread pool…
4540: 15:05:47.534 - Destroying servers
4540: 15:05:47.534 - Destroying WebSocket Outbound Connection Manager
4540: 15:05:47.534 - Destroying TCP Outbound Connection Manager
4540: 15:05:47.534 - Destroying TCP inactivity timer
4540: 15:05:47.534 - Destroying ENet timer wheel
4540: 15:05:47.534 - Destroying ENet host
4540: 15:05:47.534 - Destroying ENet outbound host
4540: 15:05:47.534 - Destroying HTTP inactivity timer
4540: 15:05:47.534 - Destroying HTTP host
4540: 15:05:47.534 - Destroying HTTP Chunk host
4540: 15:05:47.534 - Flushing ENET buffer allocator…
4540: 15:05:47.534 - Flushing TCP buffer handle allocator…
4540: 15:05:47.534 - Flushing stream socket allocator…
4540: 15:05:47.535 - Flushing inbound datagram socket allocator…
4540: 15:05:47.535 - Flushing outbound datagram socket allocator…
4540: 15:05:47.535 - Destroying CLR dispatcher
4540: 15:05:47.535 - Destroying CLR applications
4540: 15:05:47.535 - ~CCLRApplicationCollection() - Waiting up to 10 seconds for the CLR to release all of our objects
7292: 15:05:47.538 - Unloading Domain: ApplicationName = ‘Master’, DomainId=‘2’
9040: 15:05:47.538 - CManagedHost::OnDomainUnload() - 2
4540: 15:05:47.539 - ~CCLRApplicationCollection() - Done. All objects released
4540: 15:05:47.539 - ~CManagedHost() - Release default app domain
4540: 15:05:47.539 - CManagedHost::OnDomainUnload() - 1
4540: 15:05:47.539 - ~CManagedHost() - Waiting up to 10 seconds for CLR shutdown…
4540: 15:05:47.539 - ~CManagedHost
4540: 15:05:47.539 - Destroying ENet thread pool
4540: 15:05:47.539 - Destroying Business logic thread pool
4540: 15:05:47.539 - Destroying I/O thread pool
4540: 15:05:47.539 - Destroying ENet buffer allocator
4540: 15:05:47.539 - Destroying TCP buffer allocator
4540: 15:05:47.539 - Destroying TCP socket allocator
4540: 15:05:47.539 - Destroying ENet inbound socket allocator
4540: 15:05:47.539 - Destroying ENet outbound socket allocator
4540: 15:05:47.539 - Destroying shared datagram flow control data
4540: 15:05:47.539 - Shutdown complete…
6812: 15:05:47.540 - MessageBox: Photon Socket Server: MMO - 3.4.9.2931Failed to start service
Error code: 108

Instance Name = “MMO”
6812: 15:05:47.540 - Service shutting down: failed to start application. Errorcode: 108
6812: 15:05:47.541 - Service shut down complete
5640: 15:36:54.518 -—-
5640: 15:36:54.518 - Service: “Photon Socket Server” starting
5640: 15:36:54.518 - Config File:D:\ExitGames_Photon_Server_SDK_v3.4.9.2931_Full\deploy\bin_Win64\
PhotonServer.config
5640: 15:36:54.519 - Will produce at most: 10 crash dumps
5640: 15:36:54.519 - Action: run as service
5312: 15:36:54.521 - Server Starting…
5312: 15:36:54.521 -  Tick count: 23075745 (wraps in: 49.4432 days)
5312: 15:36:54.521 - Tick count 64: 23075745
5312: 15:36:54.521 - Photon Version: 3.4.9.2931
5312: 15:36:54.521 - PID: 5688
5312: 15:36:54.521 - Current directory is: C:\Windows\system32
5312: 15:36:54.521 - Changing current directory to: D:\ExitGames_Photon_Server_SDK_v3.4.9.2931_Full\deploy\bin_Win64
5312: 15:36:54.521 - Config File: D:\ExitGames_Photon_Server_SDK_v3.4.9.2931_Full\deploy\bin_Win64\PhotonServer.config
5312: 15:36:54.522 - Will NOT log unimportant exceptions
5312: 15:36:54.524 - Not using performance counters as they are not currently installed. Run the service with /InstallCounters to install them.
5312: 15:36:54.524 - Shutdown timeout enabled: 30000ms
5312: 15:36:54.524 - Starting I/O thread pool with 2 threads
5312: 15:36:54.524 - Using Standard allocator
5312: 15:36:54.524 - Max message size: 512000
5312: 15:36:54.524 - Starting business logic thread pool with the following settings
5312: 15:36:54.524 - InitialThreads: 4 threads
5312: 15:36:54.524 - MinThreads: 4 threads
5312: 15:36:54.524 - Thread pool is fixed size
5312: 15:36:54.525 - Starting ENet thread pool with the following settings
5312: 15:36:54.525 - InitialThreads: 2 threads
5312: 15:36:54.525 - MinThreads: 2 threads
5312: 15:36:54.525 - Thread pool is fixed size
5312: 15:36:54.525 - OnlyDispatchTimers: False
5312: 15:36:54.525 - S2S: flow control: Max pending writes: 50
5312: 15:36:54.525 - S2S: flow control: Max queued buffers: 200
5312: 15:36:54.525 - S2S: flow control: Max pending writes MUX: 500
5312: 15:36:54.525 - S2S: flow control: Max queued buffers MUX: 2000
5312: 15:36:54.525 - S2S: MaxInboundMessageSize: 512000
5312: 15:36:54.525 - S2S: MaxOutboundMessageSize: 512000
5312: 15:36:54.525 - S2S: No inactivity timeout
5312: 15:36:54.528 - WebSocket S2S: MaxInboundMessageSize: 512000
5312: 15:36:54.528 - WebSocket S2S: MaxOutboundMessageSize: 512000
5312: 15:36:54.528 - WebSocket S2S: No inactivity timeout
5312: 15:36:54.528 - Max Reliable Data In Transit (awaiting ACKs) per peer : 51200 bytes
5312: 15:36:54.528 - Per peer bandwidth limit
5312: 15:36:54.528 - Transmit Rate Limit: 256 KB/Sec
5312: 15:36:54.528 - Limit period: 200ms
5312: 15:36:54.528 - Limit per period: 52428 bytes
5312: 15:36:54.528 - Max queued data for transmission per peer: 512000 bytes
5312: 15:36:54.528 - Minimum retransmit timeout: 200
5312: 15:36:54.528 - No Maximum retransmit timeout
5312: 15:36:54.528 - Minimum ENet timeout: 5000ms
5312: 15:36:54.528 - Maximum ENet timeout: 30000ms
5312: 15:36:54.528 - Max Inbound Reliable Data Queued (awaiting resends of earlier sequence numbers) per peer : 163840 bytes
5312: 15:36:54.528 - No RTT ACK adjustment timeout
5312: 15:36:54.528 - Outbound ENet: MaxInboundMessageSize: 512000
5312: 15:36:54.528 - Outbound ENet: MaxOutboundMessageSize: 512000
5312: 15:36:54.530 - GetRuntime - About to load CLR - versions available:
5312: 15:36:54.530 - v2.0.50727
5312: 15:36:54.530 - v4.0.30319
5312: 15:36:54.530 - Configuration requests: “v2.0.50727”
5312: 15:36:54.530 - About to load version: “v2.0.50727”
5312: 15:36:54.537 - About to load runtime: PhotonHostRuntime.PhotonDomainManager from PhotonHostRuntime, Culture=neutral, PublicKeyToken=02C301B61B060C4D
5312: 15:36:54.537 - CLRBaseDirectory set to “D:\ExitGames_Photon_Server_SDK_v3.4.9.2931_Full\deploy”
5312: 15:36:54.537 - Optimising event broadcast for 20 or more peers
5312: 15:36:54.538 - Start: About to load CLR - versions available:
5312: 15:36:54.538 - v2.0.50727
5312: 15:36:54.538 - v4.0.30319
5312: 15:36:54.538 - No preference in configuration file, will load latest.
5312: 15:36:54.538 - About to load version: “v4.0.30319”
5312: 15:36:54.540 - Loaded version: “v4.0.30319”
5312: 15:36:54.712 - Photon host runtime loaded
5312: 15:36:57.855 - License is valid.
5312: 15:36:57.855 - Licensed for 100 concurrent connections.
5312: 15:36:57.856 - ENet: Max Reliable Data In Transit (awaiting ACKs) per peer : 51200 bytes
5312: 15:36:57.856 - ENet: Per peer bandwidth limit
5312: 15:36:57.856 - ENet: Transmit Rate Limit: 256 KB/Sec
5312: 15:36:57.856 - ENet: Limit period: 200ms
5312: 15:36:57.856 - ENet: Limit per period: 52428 bytes
5312: 15:36:57.856 - ENet: Max queued data for transmission per peer: 512000 bytes
5312: 15:36:57.856 - ENet: Minimum retransmit timeout: 200
5312: 15:36:57.856 - No Maximum retransmit timeout
5312: 15:36:57.856 - ENet: Minimum timeout: 5000ms
5312: 15:36:57.856 - ENet: Maximum timeout: 30000ms
5312: 15:36:57.856 - ENet: Max Inbound Reliable Data Queued (awaiting resends of earlier sequence numbers) per peer : 163840 bytes
5312: 15:36:57.856 - No RTT ACK adjustment timeout
5312: 15:36:57.857 - About to load application: Master from Karen90MmoFramework.Server.Master
5312: 15:36:57.857 - Auto restart is enabled for application, existing connections will be terminated during restart
5312: 15:36:57.857 - Application will restart 1000ms after the last change detected
5312: 15:36:57.857 - Application will restart if files matching the following are changed: “d11;config”
5312: 15:36:57.857 - Application will NOT restart if files matching the following are changed: “log4net.config”
5312: 15:36:57.970 - Taking reference on default app domain
5312: 15:36:58.074 - Master:2 - Start() failed.
Exception:
System.TypeLoadException: Failed to create object “Karen90MmoFramework.Server.Master.MasterApplication” from assembly “Karen90MmoFramework.Server.Master”. “Photon.SocketServer, Version=4.0.28.11245, Culture=neutral, PublicKeyToken=48c2fa3b6988090e” is last assembly without successfull load event.
  à PhotonHostRuntime.PhotonDomainManager.PhotonPlainAppDomainBehavior.Start(String assemblyName, String typeName, String instanceName, String applicationName, IPhotonApplicationSink sink, ILogToUnmanagedLog logger, IControlListeners listenerControl)
  à PhotonHostRuntime.PhotonDomainManager.Start(String assemblyName, String typeName, String instanceName, String applicationName, IPhotonApplicationSink sink, ILogToUnmanagedLog logger, IControlListeners listenerControl)
5312: 15:36:58.076 - Master:2 - Stop() failed.
Exception:
System.Exception: Stop: unable to call the Application.TearDown() - undefined photonControl.
  à PhotonHostRuntime.PhotonDomainManager.PhotonPlainAppDomainBehavior.Stop()
  à PhotonHostRuntime.PhotonDomainManager.Stop()
5312: 15:36:58.076 - ERROR: Failed to start application: “Master” in app domain: 2
8088: 15:36:58.076 - CManagedHost::OnDefaultAction() - OPR_AppDomainUnload - eUnloadAppDomain
5312: 15:36:58.076 - CService::OnException() - Exception: CManagedHost::StartApplication() - Failed to start application in AppDomain: 2 - Failed to create object “Karen90MmoFramework.Server.Master.MasterApplication” from assembly “Karen90MmoFramework.Server.Master”. “Photon.SocketServer, Version=4.0.28.11245, Culture=neutral, PublicKeyToken=48c2fa3b6988090e” is last assembly without successfull load event.
5312: 15:36:58.076 - Server shutting down…
5312: 15:36:58.076 - Shutdown monitoring enabled, 30000ms before process abort
5312: 15:36:58.076 - Notifying CLR applications of shutdown…
5312: 15:36:58.076 - RequestStop: defalt app domain
5312: 15:36:58.077 - Shutting down WebSocket Outbound Connection Manager…
5312: 15:36:58.078 - Shutting down TCP Outbound Connection Manager…
5312: 15:36:58.078 - Shutting down ENet Outbound Connection Manager…
5312: 15:36:58.078 - Disconnecting all outbound peers…
5312: 15:36:58.078 - Shutting down ENet host…
5312: 15:36:58.078 - Disconnecting all peers…
5312: 15:36:58.078 - Shutting down socket servers…
5312: 15:36:58.078 - Shutting down ENet thread pool…
5312: 15:36:58.079 - Shutting down TCP inactivity timers…
5312: 15:36:58.079 - Shutting down CLR applications…
5312: 15:36:58.080 - Shutting down business logic thread pool…
5312: 15:36:58.080 - Shutting down I/O thread pool…
5312: 15:36:58.080 - Destroying servers
5312: 15:36:58.080 - Destroying WebSocket Outbound Connection Manager
5312: 15:36:58.080 - Destroying TCP Outbound Connection Manager
5312: 15:36:58.080 - Destroying TCP inactivity timer
5312: 15:36:58.080 - Destroying ENet timer wheel
5312: 15:36:58.080 - Destroying ENet host
5312: 15:36:58.080 - Destroying ENet outbound host
5312: 15:36:58.080 - Destroying HTTP inactivity timer
5312: 15:36:58.080 - Destroying HTTP host
5312: 15:36:58.080 - Destroying HTTP Chunk host
5312: 15:36:58.080 - Flushing ENET buffer allocator…
5312: 15:36:58.080 - Flushing TCP buffer handle allocator…
5312: 15:36:58.080 - Flushing stream socket allocator…
5312: 15:36:58.080 - Flushing inbound datagram socket allocator…
5312: 15:36:58.081 - Flushing outbound datagram socket allocator…
5312: 15:36:58.081 - Destroying CLR dispatcher
5312: 15:36:58.081 - Destroying CLR applications
5312: 15:36:58.081 - ~CCLRApplicationCollection() - Waiting up to 10 seconds for the CLR to release all of our objects
5400: 15:36:58.083 - Unloading Domain: ApplicationName = ‘Master’, DomainId=‘2’
8088: 15:36:58.083 - CManagedHost::OnDomainUnload() - 2
5312: 15:36:58.083 - ~CCLRApplicationCollection() - Done. All objects released
5312: 15:36:58.083 - ~CManagedHost() - Release default app domain
5312: 15:36:58.083 - CManagedHost::OnDomainUnload() - 1
5312: 15:36:58.083 - ~CManagedHost() - Waiting up to 10 seconds for CLR shutdown…
5312: 15:36:58.084 - ~CManagedHost
5312: 15:36:58.084 - Destroying ENet thread pool
5312: 15:36:58.084 - Destroying Business logic thread pool
5312: 15:36:58.084 - Destroying I/O thread pool
5312: 15:36:58.084 - Destroying ENet buffer allocator
5312: 15:36:58.084 - Destroying TCP buffer allocator
5312: 15:36:58.084 - Destroying TCP socket allocator
5312: 15:36:58.084 - Destroying ENet inbound socket allocator
5312: 15:36:58.084 - Destroying ENet outbound socket allocator
5312: 15:36:58.084 - Destroying shared datagram flow control data
5312: 15:36:58.084 - Shutdown complete…
5640: 15:36:58.084 - MessageBox: Photon Socket Server: MMO - 3.4.9.2931Failed to start service
Error code: 108

Instance Name = “MMO”
5640: 15:36:58.085 - Service shutting down: failed to start application. Errorcode: 108
5640: 15:36:58.085 - Service shut down complete

Reply

Leave a Comment


Enter the text you see in the image in the form field above.
If you cannot read the text, refresh the page.
* required fields