http://www.nedopc.org/forum/viewtopic.php?t=9043
http://www.nedopc.org/forum/viewtopic.php?t=10939
P.S. Линки для ознакомления на тему Peer-2-Peer MMO:
https://en.wikipedia.org/wiki/Massively_multiplayer_online_game (под спойлером линк на русскую вики-страничку)
https://en.wikipedia.org/wiki/VindictusSome recent attempts to build peer-to-peer (P2P) MMOGs have been made. Outback Online may be the first commercial one,[17] however, so far most of the efforts have been academic studies.[18] A P2P MMOG may potentially be more scalable and cheaper to build, but notable issues with P2P MMOGs include security and consistency control, which can be difficult to address given that clients are easily hacked. Some MMOGs such as Vindictus use P2P networking and client-server networking together.
[17] https://www.theage.com.au/technology/yoicks-its-another-virtual-world-20070227-gdpk0o.html
[18] http://vast.sourceforge.net/relatedwork.php
Классификация из последнего линка:
AOI = area of interest
- Neighbor discovery - the method a peer learns of relevant neighbors to interact with, including these types:
- server introduction: the server knows all nodes, and tells a newly joined node all neighbors.
- server notification: the server maintains all nodes, notifies a peer of its AOI neighbors.
- supernode notification: selected peers with knowledge of entire region notify other regular peers.
- peer notification: peers mutually notify each other of new AOI neighbors.
- list exchange: peers exchange the neighbor list they maintain to discover new AOI neighbors.
- DHT query: peers form a DHT overlay, and search for relevant neighbors or supernodes for new AOI neighbors.
- overlay multicast: peers multicast their positions regularly to allow other nodes learn of their positions.
- Connectivity - which other nodes does a single node connects within the P2P environment, including these types:
- server: each peer connects only to the server (a provisioned machine).
- all: each peer maintains contacts with all other nodes in the world.
- supernode: each peer connects to certain selected peers.
- AOI neighbors: each peer connects to all other nodes within the AOI.
- nearest neighbors: each peer connects to its nearest 1-hop neighbors (according to Voronoi/Delaunay mapping)
- quadrant neighbors: each peer connects with one neighbor within each of the four quadrants.
- tree: each peer connects to a parent node and several children nodes.
- mesh: each peer connects to a few nearby nodes to ensure a connected mesh
- Partitioning - whether the entire virtual world is partitioned into various regions, including the following types:
- none: there's no partitioning.
- AOI: no explicit partitioning exists, but each node generally interacts only with their AOI neighbors.
- static: world is partitioned beforehand, and the partitions cannot changed during run-time.
- dynamic: the partitioning occurs dynamically according to loading or node density.
- AOI type - definition of area of interest (AOI) used, including the following types:
- aura: sphere of interaction, if two aura intersect then interaction is mutual
- focus: sphere of reception (subscriber-like), the AOI indicates an area where all events within should be received
- nimbus: sphere of influence (publisher-like), the AOI indicates an area the node or event may affect
- Latency - number of end-to-end hops to send an update message to a visible neighbor
DHT = distributed hash table
https://en.wikipedia.org/wiki/Distributed_hash_table