%%% ------------------------------------------------------- %%% @doc %%% @end %%% ------------------------------------------------------- -ifndef(CLUSTERS_ZONE_HRL). -define(CLUSTERS_ZONE_HRL, ok). %% 分区类型 -define(SMALL_ZONE_TYPE, 1). %% 分区类型:小型分区 -define(MEDIUM_ZONE_TYPE, 2). %% 分区类型:中型分区 -define(LARGE_ZONE_TYPE, 3). %% 分区类型:大型分区 -define(ZONE_TYPE_LIST, [?SMALL_ZONE_TYPE, ?MEDIUM_ZONE_TYPE, ?LARGE_ZONE_TYPE]). -define(ZONE_MAX_SERVER_NUM(ZoneType), %% 每个分区游戏服数量 data_clusters_zone:get_zone_max_server_num(ZoneType)). -define(ETS_ZONE_ROUTE, ets_zone_route). %% 分区路由信息表 -record(zone_route, { key = {0, 0}, %% 路由主键 {zone_type :: 分区类型, server_id :: 服务器id} zone = 0 %% 分区 }). -record(zone_base, { server_id = 0, %% 每一个服的id(主服) zone = 0, %% 区id time = 0, %% 开服时间 world_lv = 0, %% 世界等级 merge_ids = [] %% 每一个服的所有合服id }). -record(clusters_zone, { zone_type = 0, %% 分区类型 zones = [], %% 所有的分区(只保存主服的server_id信息) [#zone_base{}] next = 1, %% 下一个分区id is_zone = 0, %% 是否已经分区(10分钟后分区设置为1,后续加入进来的服直接添加到最后分区) ref = undefined %% 分区定时器 }). -endif.