一般来说,在MMO游戏中社交关系包括好友,敌人,队伍,家族,帮会,国家,官员,盟国等功能,这些功能都是在功能服上实现的,如果场景有需要则可以从功能服同步到场景上。这种在功能服和场景服同时实现的方式也许会带来很多冗余,可能会质疑功能服存在的必要性,把功能服和场景服合在一起。至于为什么不合在一起,在mmo游戏服务器架构一文中已经提过了。
//国家的实现
class Country
{
...
}
class CountryMgr : public Singleton<CountryMgr >
{
std::map<int, Country> _country_map;
...
};
...