forked from metin2/server
Eliminated hardcoded allowed map limit, added and increased the limit in length.h
This commit is contained in:
parent
da120f69e0
commit
99935d6cff
|
@ -19,6 +19,7 @@ enum EMisc
|
||||||
SMS_MAX_LEN = 80,
|
SMS_MAX_LEN = 80,
|
||||||
MOBILE_MAX_LEN = 32,
|
MOBILE_MAX_LEN = 32,
|
||||||
SOCIAL_ID_MAX_LEN = 18,
|
SOCIAL_ID_MAX_LEN = 18,
|
||||||
|
MAP_ALLOW_MAX_LEN = 128,
|
||||||
|
|
||||||
GUILD_NAME_MAX_LEN = 12,
|
GUILD_NAME_MAX_LEN = 12,
|
||||||
|
|
||||||
|
|
|
@ -761,7 +761,7 @@ typedef struct SPacketGDSetup
|
||||||
BYTE bChannel; // 채널
|
BYTE bChannel; // 채널
|
||||||
WORD wListenPort; // 클라이언트가 접속하는 포트 번호
|
WORD wListenPort; // 클라이언트가 접속하는 포트 번호
|
||||||
WORD wP2PPort; // 서버끼리 연결 시키는 P2P 포트 번호
|
WORD wP2PPort; // 서버끼리 연결 시키는 P2P 포트 번호
|
||||||
LONG alMaps[32];
|
LONG alMaps[MAP_ALLOW_MAX_LEN];
|
||||||
DWORD dwLoginCount;
|
DWORD dwLoginCount;
|
||||||
BYTE bAuthServer;
|
BYTE bAuthServer;
|
||||||
} TPacketGDSetup;
|
} TPacketGDSetup;
|
||||||
|
@ -773,7 +773,7 @@ typedef struct SPacketDGMapLocations
|
||||||
|
|
||||||
typedef struct SMapLocation
|
typedef struct SMapLocation
|
||||||
{
|
{
|
||||||
LONG alMaps[32];
|
LONG alMaps[MAP_ALLOW_MAX_LEN];
|
||||||
char szHost[MAX_HOST_LENGTH + 1];
|
char szHost[MAX_HOST_LENGTH + 1];
|
||||||
WORD wPort;
|
WORD wPort;
|
||||||
} TMapLocation;
|
} TMapLocation;
|
||||||
|
|
|
@ -66,7 +66,7 @@ class CPeer : public CPeerBase
|
||||||
DWORD m_dwUserCount;
|
DWORD m_dwUserCount;
|
||||||
WORD m_wListenPort; // 게임서버가 클라이언트를 위해 listen 하는 포트
|
WORD m_wListenPort; // 게임서버가 클라이언트를 위해 listen 하는 포트
|
||||||
WORD m_wP2PPort; // 게임서버가 게임서버 P2P 접속을 위해 listen 하는 포트
|
WORD m_wP2PPort; // 게임서버가 게임서버 P2P 접속을 위해 listen 하는 포트
|
||||||
LONG m_alMaps[32]; // 어떤 맵을 관장하고 있는가?
|
LONG m_alMaps[MAP_ALLOW_MAX_LEN]; // 어떤 맵을 관장하고 있는가?
|
||||||
|
|
||||||
TItemIDRangeTable m_itemRange;
|
TItemIDRangeTable m_itemRange;
|
||||||
TItemIDRangeTable m_itemSpareRange;
|
TItemIDRangeTable m_itemSpareRange;
|
||||||
|
|
|
@ -172,6 +172,12 @@ void map_allow_add(int index)
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (s_set_map_allows.size() >= MAP_ALLOW_MAX_LEN)
|
||||||
|
{
|
||||||
|
fprintf(stdout, "Fatal error: maximum allowed maps reached!\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
fprintf(stdout, "MAP ALLOW %d\n", index);
|
fprintf(stdout, "MAP ALLOW %d\n", index);
|
||||||
s_set_map_allows.insert(index);
|
s_set_map_allows.insert(index);
|
||||||
}
|
}
|
||||||
|
|
|
@ -180,7 +180,7 @@ void CLIENT_DESC::SetPhase(int iPhase)
|
||||||
p.wListenPort = mother_port;
|
p.wListenPort = mother_port;
|
||||||
p.wP2PPort = p2p_port;
|
p.wP2PPort = p2p_port;
|
||||||
p.bAuthServer = false;
|
p.bAuthServer = false;
|
||||||
map_allow_copy(p.alMaps, 32);
|
map_allow_copy(p.alMaps, MAP_ALLOW_MAX_LEN);
|
||||||
|
|
||||||
const DESC_MANAGER::DESC_SET & c_set = DESC_MANAGER::instance().GetClientSet();
|
const DESC_MANAGER::DESC_SET & c_set = DESC_MANAGER::instance().GetClientSet();
|
||||||
DESC_MANAGER::DESC_SET::const_iterator it;
|
DESC_MANAGER::DESC_SET::const_iterator it;
|
||||||
|
|
|
@ -1312,7 +1312,7 @@ void CInputDB::MapLocations(const char * c_pData)
|
||||||
|
|
||||||
while (bCount--)
|
while (bCount--)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 32; ++i)
|
for (int i = 0; i < MAP_ALLOW_MAX_LEN; ++i)
|
||||||
{
|
{
|
||||||
if (0 == pLoc->alMaps[i])
|
if (0 == pLoc->alMaps[i])
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue