Мене цікавлять "погляди високого рівня", а також реалізація.
Впровадження, як правило, досить глибоко задіяне, і ви, мабуть, тут не будете багато говорити про них. Програмне забезпечення StackExchange недостатньо підходить для такого типу обговорень, не кажучи вже про те, що це залучає значні інвестиції у чийсь час.
Я хотів би з’ясувати, як важко написати таку систему
Не більш-менш жорсткий, ніж будь-яка інша система: це залежатиме від ваших вимог та функцій, які ви збираєтеся керувати. Ви можете тривіально писати тривіальні реалізації, але, звичайно, нетривіальні речі будуть набагато складнішими. Однією з найбільших проблем є те, що у вас, ймовірно, не буде достатньо реальних клієнтів, щоб сказати, чи ваша система насправді масштабується до "масового" рівня, на якому працюють WoW та інші ігри.
ММО не магічні. Більшість їх технологій не мають нічого особливого, якщо брати їх ізольовано, це просто те, що ряд менших, простіших біт технологій поєднуються дуже розумно, щоб забезпечити масштабні, пов'язані паралельне моделювання деякої світової держави.
Я хочу так створити серверний кластер, де кожен вузол контролює деяку частину ігрового світу зі статичними межами. Зараз гравці можуть переходити з одного кінця світу в інший, не перемикаючи примірник або натискаючи якогось "телепортатора".
По суті, про що ви говорите, - це симуляція передачі. Це можна зробити досить просто і не обов'язково для MMO-технологій (однорангові ігри, як правило, підтримують все ті ж основні механізми для здійснення міграції хостів). Основна передумова полягає в тому, щоб кожен сервер розумів топологію серверів "навколо" його (зокрема, сервер для світового вузла A повинен знати про сервери для моделювання сусідніх світових вузлів), а також визначити буфер, навколо якого ви вважаєте конкретна імітація сутності "близько" до сусіднього сервера.
Коли об'єкт входить в буфер "закриття", ви починаєте також повідомляти про це на сусідньому сервері. Після того, як сутність переступає фактичний поріг, ви надсилаєте повідомлення на сусідній сервер із повним станом сутності та повідомленням, яке вказує на те, що сусідній сервер повинен перейняти сутність. Очевидно, ви хочете, щоб це було максимально надійним.