1. Function/performance inquiries
ProudNet 2 includes ProudNet 1. You can even bring ProudNet 2 and use only the ProudNet 1 feature.
The existing ProudNet 1 and ProudNet 1 built into ProudNet 2 are the same version.
ProudNet 1 focuses on providing P2P networking, a variety of communication methods (encryption, throttling, Reliability, C/S & P2P, compression), and multicore server performance. ProudNet 2 is focused on maximizing your DevOps while retaining this ProudNet 1. These include server patch without downtime capabilities, overall performance analysis capabilities, server memory viewer capabilities, and log tracking capabilities.
If you develop real-time multiplayer-free parts such as login, matchmaking, and item extraction using WAS and memory cache (Redis, etc.), there is an economic benefit of using free WAS middleware, as well as an uninspected hot reload of the server in service. Also, due to the nature of HTTP, it has the advantage of being resistant even when switching from Wifi to cellular networks.
However, the combination of WAS and memory cache has several drawbacks. Aside from the high cost of maintaining servers, the lack of protection for the consistency and consistency of memory cache data can also create a bug that is hard to find. Game planning can also be limited because real-time multiplayer or logic that needs to be processed in a very short time cannot be put right away when developing with WAS.
ProudNet 2 is hot-reloadable like WAS and works securely in network transition situations. Furthermore, there is no problem with the memory cache even under horizontal scaling. ProudNet 2 can even put very fast processing or real-time multiplayer logic right away.
When it comes to developing real-time multiplayer games, the difference between a dead-server and a typical socket server is as follows (WAS will not be discussed). WAS makes it difficult to expect normal operation when you create real-time, performance-critical multiplayer gaming servers
- Unity3D and Unreal Engine’s Deady Server
→ One game server process is responsible for one game room / CPU, RAM consumption is very wasteful / Package game development and how it evolved from the Listen server / Less difficult to develop.
- Typical socket server
→ One game server process is responsible for a large number of game rooms / no CPU, no RAM consumption / MUD and other online game developments / high level of development difficulty.
If you’re going to waste the cost of maintaining your server, it’s not bad to develop it as a deadi server, but if this waste problem is serious, you’ll have to choose the usual socket server method. However, as shown in the table above, development difficulty issues arise. The solution for this is as follows.
- Multithread Programming
→ Float single-threaded server processes by the number of CPU cores on the server machine, and each server process handles multiple game rooms to solve
- Error affects multiple game rooms
→ Mitigate with features provided by ProudNet 2
ProudNet 2 offers the ability to detect and fix mistakes made by game developers early (server memory viewer, performance analysis, log analysis), as well as the ability to easily develop multiplayer synchronization (entity replication).
2. Use Inquiries
Yes, ProudNet 2 provides REST API, Websocket API, and Redis-based Presence Data for interaction with WAS. Using this, you can use ProudNet 2 for your real-time multiplayer side while mixing your existing WAS.
Yes, P2P networking is possible between clients who have access to the same DevOps server. This allows you to mix them in chatting or synchronizing character locations.
In short, DB Cache is no longer recommended. Instead, we recommend using the managed DB of ProudNet 2.
DB Cache has the advantage of reducing the load on DB servers, but it does not solve the problem that DB servers will be overloaded one day. In addition, if the DB Cache server dies in the middle, the player’s data will be returned to the past, which is a ‘backsub’
The managed DB functionality of ProudNet 2 is created with DB Sharding considered. This allows you to resolve the overload problem of the DB server with the scale out of the DB.
3. Contact License/Technical Support
Depending on the size or complexity of the developed program, the initial stage of development will require less time to replace. If you have already started open beta, the replacement with ProudNet 2 will be almost equivalent to a new one.