Closed Chrius closed 3 years ago
and this file might be one of the files with chinese characters on their names
The charset is a problem constantly bother me. The file name is in Korean originally, and then translated to gb2312 (a kind of chinese encoding), and then part of the source code (and database) is in Korean and part of it is in Chinese... and finally it's total a mess.
What's the final error log? and how it looks like if you execute the SQL command:
select * from DARKEDEN.MonsterInfo limit 20;
It's likely you problem is cause by the database charset and encoding, it should be utf8mb4 (in MySQL utf8mb4 is the real UTF8) which is a really universal encoding.
I'll try to change the file name and database to English ...
The select on the terminal looks correct. When I copy and paste it into a text document on the VM it also shows correctly, but if I try to paste it on windows it shows the characters as ???
The serverStart.log only shows "2021.07.03-00:56:29:155 : GameServer Start" with no error after it.
And the actual gameserver shows: Load - slayer_filename:/home/chrius/darkeden/data/????1.slayer.bin Cannot open /home/chrius/darkeden/data/????1.slayer.bin to read. unknown exception...
Just now, I have changed files name into English https://github.com/opendarkeden/server/pull/16 You can git pull and try the latest master @Chrius
After rebuilding the server with the new files I passed the previous error. I still got a few messages like "[NoTreasureFile] Ground Elemental" but the gameserver gets past these files. I'm guessing there are no treasure files for those since there's nothing with that name on the data folder. However I'm getting a different error now... This is where it stops:
ObjectManager::init() : MonsterInfoManager Initialization Success ObjectManager::init() : EffectLoaderManager Initialization Start ObjectManager::init() : EffectLoaderManager Initialization Success ObjectManager::init() : ZoneInfoManager Initialization Start Duplicated Zone Full Name Error : Duplicated Zone Full Name void ZoneInfoManager::init() void ZoneInfoManager::load() void ZoneInfoManager::addZoneInfo(ZoneInfo*)
Error : Duplicated Zone Full Name void GameServer::init() void ObjectManager::init() void ZoneInfoManager::init() void ZoneInfoManager::load() void ZoneInfoManager::addZoneInfo(ZoneInfo*)
Aborted (core dumped)
Are you using the correct DARKEDEN.sql
file?
You can comment this line, and compile again: https://github.com/opendarkeden/server/blob/master/src/server/gameserver/ZoneInfoManager.cpp#L90
Then check the last ZoneID printed.
I'm using the same DARKEDEN.sql as before, the last change to it was 26 days ago. The MonsterInfo data in it is still in chinese though (on the file in the GIT I mean).
And the error with the line uncommented is: ObjectManager::init() : ZoneInfoManager Initialization Start load ZoneInfo = 11 load ZoneInfo = 12 Duplicated Zone Full Name Error : Duplicated Zone Full Name void ZoneInfoManager::init() void ZoneInfoManager::load() void ZoneInfoManager::addZoneInfo(ZoneInfo*)
Error : Duplicated Zone Full Name void GameServer::init() void ObjectManager::init() void ZoneInfoManager::init() void ZoneInfoManager::load() void ZoneInfoManager::addZoneInfo(ZoneInfo*)
Aborted (core dumped)
Btw, on the readme it says to create the DARKEDEN database twice. I'm guessing it should be one DARKEDEN and another USERINFO. And when loading the sql files the DARKEDEN.sql should be ran into the DARKEDEN database and USERINFO.sql into the USERINFO database. I did load both into DARKEDEN (and the USERINFO.sql into the USERINFO database) just to be sure, but maybe this has caused some issue... There are no duplicate updates between both sql files so it shouldn't be a problem though...
Btw, on the readme it says to create the DARKEDEN database twice. I'm guessing it should be one DARKEDEN and another USERINFO. And when loading the sql files the DARKEDEN.sql should be ran into the DARKEDEN database and USERINFO.sql into the USERINFO database. I did load both into DARKEDEN (and the USERINFO.sql into the USERINFO database) just to be sure, but maybe this has caused some issue... There are no duplicate updates between both sql files so it shouldn't be a problem though...
Oh, thanks! I've correct the typo.
So, what's the situation now? after you use DARKEDEN and USERINFO databases, is the problem still there?
I already had them the correct way from the beginning.
The DARKEDEN.sql still has the MonsterInfo names in chinese, not sure if that may be causing some problems with the treasure lists not loading (but the server at least gets past that part now).
The zone loading error is still happening with the error from my previous post (load ZoneInfo = 12 / Duplicated Zone Full Name). Not sure if it isnt a similar issue as the monster names... if the server is thinking zone 12 is a duplicate zone it may be because it's looking at the zone name and they might be both (11 and 12) "???". Though that's just speculation, I don't know where the zone names are saved.
So what's in your ZoneInfo
table? Is there a duplicated FullName?
mysql> select ZoneID, ShortName, FullName from ZoneInfo;
+--------+-----------------------+--------------------------------+
| ZoneID | ShortName | FullName |
+--------+-----------------------+--------------------------------+
| 11 | 俊浇合悼 | 俊浇扼聪酒合悼 |
| 12 | 俊浇合辑 | 俊浇扼聪酒合辑 |
| 13 | 俊浇巢悼 | 俊浇扼聪酒巢悼 |
| 14 | 俊浇巢辑 | 俊浇扼聪酒巢辑 |
| 21 | 覆焊合悼 | 覆焊己合悼 |
| 22 | 覆焊合辑 | 覆焊己合辑 |
| 23 | 覆焊巢悼 | 覆焊己巢悼 |
| 24 | 覆焊巢辑 | 覆焊己巢辑 |
| 31 | 靛肺合悼 | 靛肺海鸥合悼 |
| 32 | 靛肺合辑 | 靛肺海鸥合辑 |
| 33 | 靛肺巢悼 | 靛肺海鸥巢悼 |
| 34 | 靛肺巢辑 | 靛肺海鸥巢辑 |
| 41 | 肺凋合悼 | 肺凋魂合悼 |
| 42 | 肺凋合辑 | 肺凋魂合辑 |
| 43 | 肺凋巢悼 | 肺凋魂巢悼 |
| 44 | 肺凋巢辑 | 肺凋魂巢辑 |
| 51 | 萍葛福合悼 | 萍葛福合悼 |
| 52 | 萍葛福合辑 | 萍葛福合辑 |
| 53 | 萍葛福巢悼 | 萍葛福巢悼 |
| 54 | 萍葛福巢辑 | 萍葛福巢辑 |
| 61 | 其肺唱合悼 | 其肺唱惫档合悼 |
| 62 | 其肺唱合辑 | 其肺唱惫档合辑 |
| 63 | 其肺唱巢悼 | 其肺唱惫档巢悼 |
| 64 | 其肺唱巢辑 | 其肺唱惫档巢辑 |
| 71 | 酒淬悼 | 酒淬狼己瘤悼 |
| 72 | 酒淬 | 酒淬狼己瘤 |
| 73 | 酒淬辑 | 酒淬狼己瘤辑 |
| 74 | 酒淬合 | 酒淬狼己瘤合 |
| 75 | 酒淬巢 | 酒淬狼己瘤巢 |
| 81 | 墨胶合悼 | 墨胶呕肺合悼 |
| 91 | 宏尔内合悼 | 宏尔内合悼 |
| 92 | 宏尔内合辑 | 宏尔内合辑 |
| 93 | 宏尔内巢悼 | 宏尔内巢悼 |
| 94 | 宏尔内巢辑 | 宏尔内巢辑 |
| 1001 | 瘤窍荐肺 | 瘤窍荐肺 |
| 1002 | 俊浇带傈 | 俊浇扼聪酒带怜 |
| 1003 | 官配府付阑 | 覆焊己郴何 |
| 1004 | 覆焊带傈 | 覆焊己带傈 |
| 1005 | OX | 捞亥飘 OX |
| 1006 | 版扁厘 | 捞亥飘版扁厘 |
| 1007 | 抛其令付阑 | 扼季己郴何 |
| 1008 | 漠府籍奔 | 漠府籍奔 |
| 1009 | 扼季荐访厘 | 扼季荐访厘 |
| 1010 | 其捞厩磐澄 | 其捞厩磐澄 |
| 1011 | 鸥捞踞1 | 肺胶飘鸥捞踞瘤窍1摸 |
| 1012 | 鸥捞踞2 | 肺胶飘鸥捞踞瘤窍2摸 |
| 1013 | 酒角府柯 | 酒角府柯带怜 |
| 1020 | 版扁厘2 | 捞亥飘版扁厘2 |
| 1100 | 官配府1 | 官配府带傈瘤窍1摸 |
| 1101 | 官配府2 | 官配府带傈瘤窍2摸 |
| 1102 | 官配府3 | 官配府带傈瘤窍3摸 |
| 1103 | 官配府4 | 官配府带傈瘤窍4摸 |
| 1104 | 官配府饭绢 | 官配府饭绢 |
| 1105 | 绊福绊官 | 绊福绊官磐澄 |
| 1106 | 努沸官配府饭绢 | 努沸官配府饭绢 |
| 1111 | 扼季0 | 扼季寇己1摸 |
| 1112 | 扼季1 | 扼季郴己1摸 |
| 1113 | 扼季2 | 扼季郴己2摸 |
| 1114 | 抛其令饭绢 | 抛其令饭绢 |
| 1115 | 努沸抛其令饭绢 | 努沸抛其令饭绢 |
| 1121 | 扼咳2 | 扼咳带傈2摸 |
| 1122 | 抛皋府俊 | 抛皋府俊己瘤 |
| 1123 | 鳃扼仇 | 鳃扼仇己瘤 |
| 1124 | 酒捞季2 | 酒捞季带傈2摸 |
| 1125 | 扼咳1 | 扼咳带傈1摸 |
| 1126 | 酒捞季1 | 酒捞季带傈1摸 |
| 1127 | 酒捞季3 | 酒捞季带傈3摸 |
| 1128 | 扼咳3 | 扼咳带傈3摸 |
| 1129 | 扼咳4 | 扼咳带傈4摸 |
| 1130 | | 罗姆地牢5层 |
| 1131 | 漠府1摸 | 漠府绊带傈 1摸 |
| 1132 | 漠府2摸 | 漠府绊带傈 2摸 |
| 1133 | 漠府3摸 | 漠府绊带傈 3摸 |
| 1134 | 漠府4摸 | 漠府绊带傈 4摸 |
| 1201 | 苛鸥何胶 | 苛鸥何胶己 |
| 1202 | 抛福萍快胶 | 抛福萍快胶己 |
| 1203 | 剂萍公胶 | 剂萍公胶己 |
| 1204 | 捻酒福捧胶 | 捻酒福捧胶己 |
| 1205 | 奇鸥穿胶 | 奇鸥穿胶己 |
| 1206 | 琼矫府快胶 | 琼矫府快胶己 |
| 1211 | 苛鸥1 | 苛鸥何胶带傈1B |
| 1212 | 苛鸥2 | 苛鸥何胶带傈2B |
| 1221 | 抛福1 | 抛福萍快胶带傈1B |
| 1222 | 抛福2 | 抛福萍快胶带傈2B |
| 1231 | 剂萍1 | 剂萍公胶带傈1B |
| 1232 | 剂萍2 | 剂萍公胶带傈2B |
| 1241 | 捻酒1 | 捻酒福捧胶带傈1B |
| 1242 | 捻酒2 | 捻酒福捧胶带傈2B |
| 1251 | 奇鸥1 | 奇鸥穿胶带傈1B |
| 1252 | 奇鸥2 | 奇鸥穿胶带傈2B |
| 1261 | 琼矫1 | 琼矫府快胶带傈1B |
| 1262 | 琼矫2 | 琼矫府快胶带傈2B |
| 1301 | 浇饭PK | 棵飘 |
| 1302 | 轨颇PK | 棵抛聪酒 |
| 1303 | FreePK | 官唱砒 |
| 1311 | 酒快付阑 | 酒快胶磐令 付阑 |
| 1321 | 窍聪舅1 | 窍聪舅 带傈 B1 |
| 1322 | 窍聪舅2 | 窍聪舅 带傈 B2 |
| 1323 | 窍聪舅3 | 窍聪舅 带傈 B3 |
| 1324 | 窍聪舅4 | 窍聪舅 带傈 B4 |
| 1401 | 矾胶飘1摸 | 矾胶飘鸥况 1摸 |
| 1402 | 矾胶飘2摸 | 矾胶飘鸥况 2摸 |
| 1410 | 老风怜1 | 老风怜胶 傀捞 1 |
| 1411 | 老风怜2 | 老风怜胶 傀捞 2 |
| 1412 | 龙靛饭饭绢 | 龙靛饭 饭绢 |
| 1413 | 龙靛饭饭绢内绢 | 龙靛饭 饭绢 内绢 |
| 1500 | 傍己傈 | 傍己傈 抛胶飘 |
| 1501 | 苛鸥傍 | 苛鸥何胶 傍己瘤开 |
| 1502 | 抛福傍 | 抛福萍快胶 傍己瘤开 |
| 1503 | 剂萍傍 | 剂萍公胶 傍己瘤开 |
| 1504 | 捻酒傍 | 捻酒福捧胶 傍己瘤开 |
| 1505 | 奇鸥傍 | 奇鸥穿胶 傍己瘤开 |
| 1506 | 琼矫傍 | 琼矫府快胶 傍己瘤开 |
| 1600 | 菩捧乔 | 菩静捧乔绢胶 |
| 1601 | IKO | IK Office |
| 1602 | IKL | IK Lab |
| 1603 | IK1 | IK Lab B1F |
| 1604 | IK2 | IK Lab B2F |
| 1611 | 霖历1 | 霖历 磐澄 1摸 |
| 1612 | 霖历2 | 霖历 磐澄 2摸 |
| 1621 | New Map | New Map |
| 2000 | 焙牢0 | 焙牢辨靛瘤窍 |
| 2001 | 焙牢1 | 焙牢辨靛1摸 |
| 2002 | 焙牢2 | 焙牢辨靛2摸 |
| 2003 | 焙牢3 | 焙牢辨靛3摸 |
| 2004 | 焙牢4 | 焙牢辨靛苛惑 |
| 2010 | ?o狩0 | ?o狩帔?.???? |
| 2011 | 己流1 | 己流磊辨靛1摸 |
| 2012 | 己流2 | 己流磊辨靛2摸 |
| 2013 | 己流3 | 己流磊辨靛3摸 |
| 2014 | 己流4 | 己流磊辨靛4摸 |
| 2020 | 公荤0 | 公荤辨靛瘤窍 |
| 2021 | 公荤1 | 公荤辨靛1摸 |
| 2022 | 公荤2 | 公荤辨靛2摸 |
| 2023 | 公荤3 | 公荤辨靛3摸 |
| 2024 | 公荤4 | 公荤辨靛苛惑 |
| 2101 | 檬焊0 | 具傈荤飞何 |
| 2102 | 檬焊1 | 矫寇胞瘤开 |
| 3001 | 府乔藕堡 | 府乔聪框藕堡 |
| 3002 | TrapZone | 飘乏粮 |
| 3003 | 府乔历厘角 | 府乔聪框历厘角 |
| 4001 | GOA | 力窜涝备 |
| 4002 | AOB | 乔狼力窜 |
| 4003 | SMOA | 浇饭捞绢缴楷狼芭匡 |
| 4004 | VMOA | 轨颇捞绢缴楷狼芭匡 |
| 4005 | OMOA | 酒快胶磐令缴楷狼芭匡 |
| 8000 | 绕访家 | 俺惯磊绕访家 |
| 8001 | 新增加的地图 | 新增加的地图 |
+--------+-----------------------+--------------------------------+
148 rows in set (0.00 sec)
And check the ZoneInfo
table, is it utf8mb4
?
| ZoneInfo | CREATE TABLE `ZoneInfo` (
`ZoneID` smallint unsigned NOT NULL DEFAULT '0',
`ZoneGroupID` smallint unsigned NOT NULL DEFAULT '0',
`Type` enum('NORMAL_FIELD','NORMAL_DUNGEON','SLAYER_GUILD','RESERVED_SLAYER_GUILD','PC_VAMPIRE_LAIR','NPC_VAMPIRE_LAIR','NPC_HOME','NPC_SHOP','RANDOM_MAP','CASTLE') COLLATE utf8mb4_bin NOT NULL DEFAULT 'NORMAL_FIELD',
`Level` tinyint unsigned NOT NULL DEFAULT '0',
`AccessMode` enum('PUBLIC','PRIVATE') COLLATE utf8mb4_bin NOT NULL DEFAULT 'PUBLIC',
`OwnerId` varchar(20) COLLATE utf8mb4_bin DEFAULT NULL,
`MonsterList` text COLLATE utf8mb4_bin,
`EventMonsterList` text COLLATE utf8mb4_bin,
`SResurrectZoneID` int NOT NULL DEFAULT '0',
`SResurrectX` int NOT NULL DEFAULT '0',
`SResurrectY` int NOT NULL DEFAULT '0',
`VResurrectZoneID` int NOT NULL DEFAULT '0',
`VResurrectX` int NOT NULL DEFAULT '0',
`VResurrectY` int NOT NULL DEFAULT '0',
`OResurrectZoneID` int NOT NULL DEFAULT '0',
`OResurrectX` int NOT NULL DEFAULT '0',
`OResurrectY` int NOT NULL DEFAULT '0',
`SmpFileName` varchar(40) COLLATE utf8mb4_bin NOT NULL DEFAULT '',
`SsiFileName` varchar(40) COLLATE utf8mb4_bin NOT NULL DEFAULT '',
`FullName` varchar(40) COLLATE utf8mb4_bin NOT NULL DEFAULT '',
`ShortName` varchar(40) COLLATE utf8mb4_bin NOT NULL DEFAULT '',
`PayPlayZone` tinyint unsigned NOT NULL DEFAULT '0',
`PremiumZone` tinyint unsigned NOT NULL DEFAULT '0',
`PKZone` tinyint unsigned NOT NULL DEFAULT '0',
`NoPortalZone` tinyint unsigned NOT NULL DEFAULT '0',
`HolyLand` tinyint unsigned NOT NULL DEFAULT '0',
`Available` tinyint unsigned NOT NULL DEFAULT '0',
`OpenLevel` tinyint unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`ZoneID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin |
The table looks like this:
mysql> SHOW CREATE TABLE ZoneInfo\G;
1. row
Table: ZoneInfo
Create Table: CREATE TABLE ZoneInfo
(
ZoneID
smallint unsigned NOT NULL DEFAULT '0',
ZoneGroupID
smallint unsigned NOT NULL DEFAULT '0',
Type
enum('NORMAL_FIELD','NORMAL_DUNGEON','SLAYER_GUILD','RESERVED_SLAYER_GUILD','PC_VAMPIRE_LAIR','NPC_VAMPIRE_LAIR','NPC_HOME','NPC_SHOP','RANDOM_MAP','CASTLE') COLLATE utf8mb4_bin NOT NULL DEFAULT 'NORMAL_FIELD',
Level
tinyint unsigned NOT NULL DEFAULT '0',
AccessMode
enum('PUBLIC','PRIVATE') COLLATE utf8mb4_bin NOT NULL DEFAULT 'PUBLIC',
OwnerId
varchar(20) COLLATE utf8mb4_bin DEFAULT NULL,
MonsterList
text COLLATE utf8mb4_bin,
EventMonsterList
text COLLATE utf8mb4_bin,
SResurrectZoneID
int NOT NULL DEFAULT '0',
SResurrectX
int NOT NULL DEFAULT '0',
SResurrectY
int NOT NULL DEFAULT '0',
VResurrectZoneID
int NOT NULL DEFAULT '0',
VResurrectX
int NOT NULL DEFAULT '0',
VResurrectY
int NOT NULL DEFAULT '0',
OResurrectZoneID
int NOT NULL DEFAULT '0',
OResurrectX
int NOT NULL DEFAULT '0',
OResurrectY
int NOT NULL DEFAULT '0',
SmpFileName
varchar(40) COLLATE utf8mb4_bin NOT NULL DEFAULT '',
SsiFileName
varchar(40) COLLATE utf8mb4_bin NOT NULL DEFAULT '',
FullName
varchar(40) COLLATE utf8mb4_bin NOT NULL DEFAULT '',
ShortName
varchar(40) COLLATE utf8mb4_bin NOT NULL DEFAULT '',
PayPlayZone
tinyint unsigned NOT NULL DEFAULT '0',
PremiumZone
tinyint unsigned NOT NULL DEFAULT '0',
PKZone
tinyint unsigned NOT NULL DEFAULT '0',
NoPortalZone
tinyint unsigned NOT NULL DEFAULT '0',
HolyLand
tinyint unsigned NOT NULL DEFAULT '0',
Available
tinyint unsigned NOT NULL DEFAULT '0',
OpenLevel
tinyint unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (ZoneID
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
And the records:
mysql> SELECT ZoneID, ShortName, FullName from ZoneInfo; +--------+-----------------------+--------------------------------+ | ZoneID | ShortName | FullName | +--------+-----------------------+--------------------------------+ | 11 | 俊浇合悼 | 俊浇扼聪酒合悼 | | 12 | 俊浇合辑 | 俊浇扼聪酒合辑 | | 13 | 俊浇巢悼 | 俊浇扼聪酒巢悼 | | 14 | 俊浇巢辑 | 俊浇扼聪酒巢辑 | | 21 | 覆焊合悼 | 覆焊己合悼 | | 22 | 覆焊合辑 | 覆焊己合辑 | | 23 | 覆焊巢悼 | 覆焊己巢悼 | | 24 | 覆焊巢辑 | 覆焊己巢辑 | | 31 | 靛肺合悼 | 靛肺海鸥合悼 | | 32 | 靛肺合辑 | 靛肺海鸥合辑 | | 33 | 靛肺巢悼 | 靛肺海鸥巢悼 | | 34 | 靛肺巢辑 | 靛肺海鸥巢辑 | | 41 | 肺凋合悼 | 肺凋魂合悼 | | 42 | 肺凋合辑 | 肺凋魂合辑 | | 43 | 肺凋巢悼 | 肺凋魂巢悼 | | 44 | 肺凋巢辑 | 肺凋魂巢辑 | | 51 | 萍葛福合悼 | 萍葛福合悼 | | 52 | 萍葛福合辑 | 萍葛福合辑 | | 53 | 萍葛福巢悼 | 萍葛福巢悼 | | 54 | 萍葛福巢辑 | 萍葛福巢辑 | | 61 | 其肺唱合悼 | 其肺唱惫档合悼 | | 62 | 其肺唱合辑 | 其肺唱惫档合辑 | | 63 | 其肺唱巢悼 | 其肺唱惫档巢悼 | | 64 | 其肺唱巢辑 | 其肺唱惫档巢辑 | | 71 | 酒淬悼 | 酒淬狼己瘤悼 | | 72 | 酒淬 | 酒淬狼己瘤 | | 73 | 酒淬辑 | 酒淬狼己瘤辑 | | 74 | 酒淬合 | 酒淬狼己瘤合 | | 75 | 酒淬巢 | 酒淬狼己瘤巢 | | 81 | 墨胶合悼 | 墨胶呕肺合悼 | | 91 | 宏尔内合悼 | 宏尔内合悼 | | 92 | 宏尔内合辑 | 宏尔内合辑 | | 93 | 宏尔内巢悼 | 宏尔内巢悼 | | 94 | 宏尔内巢辑 | 宏尔内巢辑 | | 1001 | 瘤窍荐肺 | 瘤窍荐肺 | | 1002 | 俊浇带傈 | 俊浇扼聪酒带怜 | | 1003 | 官配府付阑 | 覆焊己郴何 | | 1004 | 覆焊带傈 | 覆焊己带傈 | | 1005 | OX | 捞亥飘 OX | | 1006 | 版扁厘 | 捞亥飘版扁厘 | | 1007 | 抛其令付阑 | 扼季己郴何 | | 1008 | 漠府籍奔 | 漠府籍奔 | | 1009 | 扼季荐访厘 | 扼季荐访厘 | | 1010 | 其捞厩磐澄 | 其捞厩磐澄 | | 1011 | 鸥捞踞1 | 肺胶飘鸥捞踞瘤窍1摸 | | 1012 | 鸥捞踞2 | 肺胶飘鸥捞踞瘤窍2摸 | | 1013 | 酒角府柯 | 酒角府柯带怜 | | 1020 | 版扁厘2 | 捞亥飘版扁厘2 | | 1100 | 官配府1 | 官配府带傈瘤窍1摸 | | 1101 | 官配府2 | 官配府带傈瘤窍2摸 | | 1102 | 官配府3 | 官配府带傈瘤窍3摸 | | 1103 | 官配府4 | 官配府带傈瘤窍4摸 | | 1104 | 官配府饭绢 | 官配府饭绢 | | 1105 | 绊福绊官 | 绊福绊官磐澄 | | 1106 | 努沸官配府饭绢 | 努沸官配府饭绢 | | 1111 | 扼季0 | 扼季寇己1摸 | | 1112 | 扼季1 | 扼季郴己1摸 | | 1113 | 扼季2 | 扼季郴己2摸 | | 1114 | 抛其令饭绢 | 抛其令饭绢 | | 1115 | 努沸抛其令饭绢 | 努沸抛其令饭绢 | | 1121 | 扼咳2 | 扼咳带傈2摸 | | 1122 | 抛皋府俊 | 抛皋府俊己瘤 | | 1123 | 鳃扼仇 | 鳃扼仇己瘤 | | 1124 | 酒捞季2 | 酒捞季带傈2摸 | | 1125 | 扼咳1 | 扼咳带傈1摸 | | 1126 | 酒捞季1 | 酒捞季带傈1摸 | | 1127 | 酒捞季3 | 酒捞季带傈3摸 | | 1128 | 扼咳3 | 扼咳带傈3摸 | | 1129 | 扼咳4 | 扼咳带傈4摸 | | 1130 | | 罗姆地牢5层 | | 1131 | 漠府1摸 | 漠府绊带傈 1摸 | | 1132 | 漠府2摸 | 漠府绊带傈 2摸 | | 1133 | 漠府3摸 | 漠府绊带傈 3摸 | | 1134 | 漠府4摸 | 漠府绊带傈 4摸 | | 1201 | 苛鸥何胶 | 苛鸥何胶己 | | 1202 | 抛福萍快胶 | 抛福萍快胶己 | | 1203 | 剂萍公胶 | 剂萍公胶己 | | 1204 | 捻酒福捧胶 | 捻酒福捧胶己 | | 1205 | 奇鸥穿胶 | 奇鸥穿胶己 | | 1206 | 琼矫府快胶 | 琼矫府快胶己 | | 1211 | 苛鸥1 | 苛鸥何胶带傈1B | | 1212 | 苛鸥2 | 苛鸥何胶带傈2B | | 1221 | 抛福1 | 抛福萍快胶带傈1B | | 1222 | 抛福2 | 抛福萍快胶带傈2B | | 1231 | 剂萍1 | 剂萍公胶带傈1B | | 1232 | 剂萍2 | 剂萍公胶带傈2B | | 1241 | 捻酒1 | 捻酒福捧胶带傈1B | | 1242 | 捻酒2 | 捻酒福捧胶带傈2B | | 1251 | 奇鸥1 | 奇鸥穿胶带傈1B | | 1252 | 奇鸥2 | 奇鸥穿胶带傈2B | | 1261 | 琼矫1 | 琼矫府快胶带傈1B | | 1262 | 琼矫2 | 琼矫府快胶带傈2B | | 1301 | 浇饭PK | 棵飘 | | 1302 | 轨颇PK | 棵抛聪酒 | | 1303 | FreePK | 官唱砒 | | 1311 | 酒快付阑 | 酒快胶磐令 付阑 | | 1321 | 窍聪舅1 | 窍聪舅 带傈 B1 | | 1322 | 窍聪舅2 | 窍聪舅 带傈 B2 | | 1323 | 窍聪舅3 | 窍聪舅 带傈 B3 | | 1324 | 窍聪舅4 | 窍聪舅 带傈 B4 | | 1401 | 矾胶飘1摸 | 矾胶飘鸥况 1摸 | | 1402 | 矾胶飘2摸 | 矾胶飘鸥况 2摸 | | 1410 | 老风怜1 | 老风怜胶 傀捞 1 | | 1411 | 老风怜2 | 老风怜胶 傀捞 2 | | 1412 | 龙靛饭饭绢 | 龙靛饭 饭绢 | | 1413 | 龙靛饭饭绢内绢 | 龙靛饭 饭绢 内绢 | | 1500 | 傍己傈 | 傍己傈 抛胶飘 | | 1501 | 苛鸥傍 | 苛鸥何胶 傍己瘤开 | | 1502 | 抛福傍 | 抛福萍快胶 傍己瘤开 | | 1503 | 剂萍傍 | 剂萍公胶 傍己瘤开 | | 1504 | 捻酒傍 | 捻酒福捧胶 傍己瘤开 | | 1505 | 奇鸥傍 | 奇鸥穿胶 傍己瘤开 | | 1506 | 琼矫傍 | 琼矫府快胶 傍己瘤开 | | 1600 | 菩捧乔 | 菩静捧乔绢胶 | | 1601 | IKO | IK Office | | 1602 | IKL | IK Lab | | 1603 | IK1 | IK Lab B1F | | 1604 | IK2 | IK Lab B2F | | 1611 | 霖历1 | 霖历 磐澄 1摸 | | 1612 | 霖历2 | 霖历 磐澄 2摸 | | 1621 | New Map | New Map | | 2000 | 焙牢0 | 焙牢辨靛瘤窍 | | 2001 | 焙牢1 | 焙牢辨靛1摸 | | 2002 | 焙牢2 | 焙牢辨靛2摸 | | 2003 | 焙牢3 | 焙牢辨靛3摸 | | 2004 | 焙牢4 | 焙牢辨靛苛惑 | | 2010 | ?o狩0 | ?o狩帔?.???? | | 2011 | 己流1 | 己流磊辨靛1摸 | | 2012 | 己流2 | 己流磊辨靛2摸 | | 2013 | 己流3 | 己流磊辨靛3摸 | | 2014 | 己流4 | 己流磊辨靛4摸 | | 2020 | 公荤0 | 公荤辨靛瘤窍 | | 2021 | 公荤1 | 公荤辨靛1摸 | | 2022 | 公荤2 | 公荤辨靛2摸 | | 2023 | 公荤3 | 公荤辨靛3摸 | | 2024 | 公荤4 | 公荤辨靛苛惑 | | 2101 | 檬焊0 | 具傈荤飞何 | | 2102 | 檬焊1 | 矫寇胞瘤开 | | 3001 | 府乔藕堡 | 府乔聪框藕堡 | | 3002 | TrapZone | 飘乏粮 | | 3003 | 府乔历厘角 | 府乔聪框历厘角 | | 4001 | GOA | 力窜涝备 | | 4002 | AOB | 乔狼力窜 | | 4003 | SMOA | 浇饭捞绢缴楷狼芭匡 | | 4004 | VMOA | 轨颇捞绢缴楷狼芭匡 | | 4005 | OMOA | 酒快胶磐令缴楷狼芭匡 | | 8000 | 绕访家 | 俺惯磊绕访家 | | 8001 | 新增加的地图 | 新增加的地图 | +--------+-----------------------+--------------------------------+
The weird thing is that I tried changing Zone 12 to: | 12 | 俊浇合辑 | 俊浇扼聪酒合辑1 | And the gameserver complained about Duplicated ShortName. Then I changed again to: | 12 | 俊浇合辑1 | 俊浇扼聪酒合辑1 | And zone 12 loaded, but then got stuck on zone 13 with the same error as before... Then I tried changing zone 13 to: | 13 | 俊浇巢悼1 | 俊浇扼聪酒巢悼1 | and got "Duplicated Zone Full Name" again on zone 13, but when I changed it to: | 13 | 俊浇巢悼2 | 俊浇扼聪酒巢悼2 | Zone 13 loaded (and it got stuck on zone 14)...
I'm not sure how to see what the gameserver is trying to load, but I'm guessing what's happening here might be the same as the MonsterInfo issue before, zone 11 might be loading with the ShortName ???? and LongName ??????? instead of the actual characters. When zone 12 loads, since it has the same amount of characters on its name, it also shows as ???? and ??????? and the gameserver thinks it's the same zone as 11 being loaded a second time... That's probably why it worked with the 1 and 2 at the end of the other zones. No idea why the gameserver might not be seeing the chinese characters though, since the database is showing them correctly. My guess is the default Ubuntu install might be missing something to identify those characters, even though the filenames on the folders show correctly. Or maybe there might be a global flag somewhere that indicates the charset that gameserver uses when it's built/ran that might be different from what it needs in the default english install of Ubuntu. This is just a guess though, it might be something completely unrelated...
Yes, it seems the database data is OK.
So how about changing this line
to
cerr << "Duplicated Zone Full Name:" << pZoneInfo->getFullName() << endl;
This can print the Full Name and verify your suspicion.
Yep, that's it...
ObjectManager::init() : ZoneInfoManager Initialization Start load ZoneInfo = 11 load ZoneInfo = 12 Duplicated Zone Full Name ??????? Error : Duplicated Zone Full Name void ZoneInfoManager::init() void ZoneInfoManager::load() void ZoneInfoManager::addZoneInfo(ZoneInfo*)
Error : Duplicated Zone Full Name void GameServer::init() void ObjectManager::init() void ZoneInfoManager::init() void ZoneInfoManager::load() void ZoneInfoManager::addZoneInfo(ZoneInfo*)
Aborted (core dumped)
That's it!
What's your locale setting?
genius@genius-System-Product-Name:~/project/src/github.com/pingcap/tidb$ locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:zh
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENT
I found there is a "SQL Statements for Connection Character Set Configuration" section on the MySQL document, maybe it needs to be set, but I do not know the details, either: https://dev.mysql.com/doc/refman/8.0/en/charset-connection.html
LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
System language is English (US), no clue why it shows empty here
These are the charsets mysql is using:
+---------------------------+----------------------+ | VARIABLE_NAME | VARIABLE_VALUE | +---------------------------+----------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_results | utf8mb4 | | collation_connection | utf8mb4_0900_ai_ci | +---------------------------+----------------------+
I also tried setting my system language, formats and locale to chinese, but still got the same error...
Tried adding a second disk to the vm with various different filesystems to see if maybe that was the problem, but got the same problem with all of them.
Also tried installing the ubuntu server (instead of desktop) but ended up at the same issue...
genius@genius-System-Product-Name:~$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
I change the locale to en_US, and I still can run the gameserver without error.
I'll try to get docker work, it seems this the ultimate way to get rid of the environment problems...
I ended up trying other distros to see if the problem wasn't ubuntu related...
First I installed Manjaro, then I found out it wasnt Debian based and the only Lua 4.0 lib I had wouldn't install on it...
Then I installed Mint and apparently it works! I have to get the client working now to be sure, but I just folowed the same process I had done the previous 4 times on ubuntu... The package manager seems easier to work with too. Though maybe the reason I think that is because I have no idea what I'm doing :P
GAME SERVER INITIALIZATION SUCCESS... STARTING THREAD MANAGER... STARTING LOGIN SERVER MANAGER... STARTING SHARED SERVER MANAGER... STARTING MOFUS PLAYER MANAGER...
The NoTreasureFile messages are still there for a few mobs though, but they don't have a file with their name on the data folder so it looks like that's expected. The first 2 that show up for me are Kaiser and Vricolacas for example.
Hm can't get the client to build now... I'll post it as an issue on the client distro.
I ended up trying other distros to see if the problem wasn't ubuntu related...
First I installed Manjaro, then I found out it wasnt Debian based and the only Lua 4.0 lib I had wouldn't install on it...
Then I installed Mint and apparently it works! I have to get the client working now to be sure, but I just folowed the same process I had done the previous 4 times on ubuntu... The package manager seems easier to work with too. Though maybe the reason I think that is because I have no idea what I'm doing :P
GAME SERVER INITIALIZATION SUCCESS... STARTING THREAD MANAGER... STARTING LOGIN SERVER MANAGER... STARTING SHARED SERVER MANAGER... STARTING MOFUS PLAYER MANAGER...
The NoTreasureFile messages are still there for a few mobs though, but they don't have a file with their name on the data folder so it looks like that's expected. The first 2 that show up for me are Kaiser and Vricolacas for example.
NoTreasureFile messages doesn't matter... So you get it work in Mint?
It seems to be working, I'm trying to get the client working now to be sure I don't have any other issues with the server.
ref #3
Now tha the client is working... When I first tried to login, I would get up to the character select then disconnected. I had to change the IP on the GameServerInfo table (I think this info is missing on the readme).
I also had to remove the NO_ZERO_IN_DATE flag from mysql (I had already removed NO_ZERO_DATE before) because every time I tried logging in I would get an error on the login server. I also had to change that flag in the mysql settings instead of running the command, because if I ran the command it would only work until I restarted the VM.
I changed it with this: sudo nano /etc/mysql/my.cnf
[mysqld] sql-mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
Then I created a new account by copying one of the existing records in the Player table.
However, if I try to create a new character I get an error on the loginserver:
Stmt::EQ real Query Error Stmt [INSERT INTO Slayer (Race, Name, PlayerID, Slot, ServerGroupID, Active, Sex, HairStyle, HairColor, SkinColor, Phone, STR, STRExp, STRGoalExp, DEX, DEXExp, DEXGoalExp, INTE, INTExp, INTGoalExp, Rank, RankExp, RankGoalExp, HP, CurrentHP, MP, CurrentMP, ZoneID, XCoord, YCoord, Sight, Gold, Alignment, Shape, HelmetColor, JacketColor, PantsColor, WeaponColor, ShieldColor, creation_date) VALUES ('SLAYER', 'Chrius', '1', 'SLOT1', 0, 'ACTIVE', 'MALE', 'HAIR_STYLE1', 400, 455, 0, 10, 3119, 774, 11, 3893, 913, 9, 2474, 645, 1, 0, 10700, 20, 20, 18, 18, 12, 237, 138, 13, 0, 7500, 1, 0, 0, 0, 0, 0, now())] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Rank, RankExp, RankGoalExp, HP, CurrentHP, MP, CurrentMP, ZoneID, XCoord, YCoord' at line 1 Send:440 LCCreatePCError(15)|666
I tried running the sql directly on mysql and it also returns the same error, but I have no idea why... it looks ok.
I had to remove the Rank field from the insert, and change it manually after for it to work, very strange. And when I finally logged in, when I first tried to move I ended up at a different place (instantly I mean) and couldn't move again after that...
I had to remove the Rank field from the insert, and change it manually after for it to work, very strange. And when I finally logged in, when I first tried to move I ended up at a different place (instantly I mean) and couldn't move again after that...
you entered the wrong server @Chrius , log into server 2 that is ok, server 1 is buggy. (y)
hello thanks for your sharing @tiancaiamao , here it compiled normally, but i noticed some bugs ingame, such as selling and buying items in npcs and also, in transformations in creatures such as bat, wolf and werewolf, some bug related to creatureutil.cpp, .h I believe me...
I believe the transformation errors may be due to the monsters' names in the .cpp files are coming out as "????" still according to the image... I'll analyze it.
K, using server 2 worked, however I still can't create characters through the game (Error with the Rank field). Also for some reason I can't log in to any new account that has any vampires created. I get automatically disconnected with the error 'No Vampires' on the login server.
server 2 worked, however I still can't create characters through the game (Error with the
That is because you remove the Rank column! Rank is a reserved keyword in MySQL8, it means that to use it as table name or column name, you need to add ``` to wrap the literal
Rank => `Rank`
INSERT INTO Slayer (Race, Name, PlayerID, Slot, ServerGroupID, Active, Sex, HairStyle, HairColor, SkinColor, Phone, STR, STRExp, STRGoalExp, DEX, DEXExp, DEXGoalExp, INTE, INTExp, INTGoalExp, `Rank`, RankExp, RankGoalExp, HP, CurrentHP, MP, CurrentMP, ZoneID, XCoord, YCoord, Sight, Gold, Alignment, Shape, HelmetColor, JacketColor, PantsColor, WeaponColor, ShieldColor, creation_date) VALUES ('SLAYER', 'Chrius', '1', 'SLOT1', 0, 'ACTIVE', 'MALE', 'HAIR_STYLE1', 400, 455, 0, 10, 3119, 774, 11, 3893, 913, 9, 2474, 645, 1, 0, 10700, 20, 20, 18, 18, 12, 237, 138, 13, 0, 7500, 1, 0, 0, 0, 0, 0, now())
You can see the changes just like here https://github.com/opendarkeden/server/commit/58c227e59502b6bdc8670d2a92e65b5cc5f0bab3#diff-7e60d45e647b42d6f1f629beb532f80e65147f43658a9946b2175ef34ea8556eL236
@Chrius
I had to change the IP on the GameServerInfo table (I think this info is missing on the readme).
I believe I have mentioned the change of configure here https://github.com/opendarkeden/server/#modify-configure Oh, you mean GameServerInfo table ...? Good catch!
I also had to remove the NO_ZERO_IN_DATE flag from mysql (I had already removed NO_ZERO_DATE before) because every time I tried logging in I would get an error on the login server.
You don't need to modify the my.cnf file, you can update the global system variable sql_mode
, that doesn't require a restart of the MySQL server.
log into server 2 that is ok, server 1 is buggy. (y)
Yes, it's a known bug, I'll create a issue for it.
here it compiled normally, but i noticed some bugs ingame, such as selling and buying items in npcs and also, in transformations in creatures such as bat, wolf and werewolf, some bug related to creatureutil.cpp, .h
@xDezossAx I know it's buggy... I barely make it runs, and all the server code / client code / database file / gameserver file does not exactly match, collected from the internet. But as long as we have the runnable source, it's a very good beginning.
You can file a issue so we can see what's wrong. Even better if you can file a PR to solve them.
What's the client are you using? @xDezossAx
By the way, the client win32 is 32bit based OS, and the server is modified to run in 64bit...
here it compiled normally, but i noticed some bugs ingame, such as selling and buying items in npcs and also, in transformations in creatures such as bat, wolf and werewolf, some bug related to creatureutil.cpp, .h
@xDezossAx I know it's buggy... I barely make it runs, and all the server code / client code / database file / gameserver file does not exactly match, collected from the internet. But as long as we have the runnable source, it's a very good beginning.
You can file a issue so we can see what's wrong. Even better if you can file a PR to solve them. hi @tiancaiamao
I'm trying to fix the error too, I use 3 different clients, Extreme 2.34 and two other modified ones, all of them have the same error, and in all of them only the teen version, any suspicion of which file can influence this on the server? :) thank u!
@xDezossAx heve you tried the client from https://github.com/opendarkeden/client ? I'm using that one with the data from the Mediafire link posted there. Also as much as I'm interested in this game, I don't remember anything about it. It's been years since the last time I played it... Is there any place where it's easy to test the mob name issue? I was having some problems with Chinese names while building the server with Ubuntu, after switching to Mint the Chinese names started showing correctly. Maybe it's a similar issue...
Also, unrelated to that, the reason I was getting the "No Vampire" error was because I tried creating the character directly on the DB, and I inserted the vampire character on the Slayer table (I thought all characters went there). With the latest fix the creation works as intended and I don't get any errors on new characters anymore.
You don't need to modify the my.cnf file, you can update the global system variable
sql_mode
, that doesn't require a restart of the MySQL server.
I meant that when I changed the @@global.sql_mode as the readme says, when I restarted the VM it would be back to the default. The only thing that made it save and not require that I set it again every time was changing the my.cnf file.
@xDezossAx heve you tried the client from https://github.com/opendarkeden/client ? I'm using that one with the data from the Mediafire link posted there. Also as much as I'm interested in this game, I don't remember anything about it. It's been years since the last time I played it... Is there any place where it's easy to test the mob name issue? I was having some problems with Chinese names while building the server with Ubuntu, after switching to Mint the Chinese names started showing correctly. Maybe it's a similar issue...
Also, unrelated to that, the reason I was getting the "No Vampire" error was because I tried creating the character directly on the DB, and I inserted the vampire character on the Slayer table (I thought all characters went there). With the latest fix the creation works as intended and I don't get any errors on new characters anymore.
I used this client too, and the same bat, wolf and werwolf transformation bugs continue.
As for the binary name error, with the .bin translated by @tiancaiamao I just updated MonsterInfo's HName column with the EName column, and correcting some .bins recognition errors :)
I meant that when I changed the @@global.sql_mode as the readme says, when I restarted the VM it would be back to the default.
OK, I get your point ... change @@global.sql_mode can not survive the restarting @Chrius
I just updated MonsterInfo's HName column with the EName column, and correcting some .bins recognition errors :)
Would you like to file a PR with your changes? @xDezossAx
On linux Mint the monster name seems to be loading correctly.
Don't know about the transformations though.
On linux Mint the monster name seems to be loading correctly.
Don't know about the transformations though.
That is expected...
That is expected...
Yeah, it seems to work fine, I forgot to tag @xDezossAx this was related to his issue with the MonsterName being ???? I'm almost sure it's the same problem I was having before switching to LInux Mint.
Btw, is there anything wrong with my server or are there no npcs in the bases?
Maybe @xDezossAx is using some other server data files I guess.
Btw, is there anything wrong with my server or are there no npcs in the bases?
Yes, this is an known issue, I got to have a check. @Chrius
Ok, then I'll close this issue since the server seems to be working as intended. @xDezossAx you should probably open a separate issue with the npc names if you continue having problems.
I managed to build the server. The login and shared servers seem to start without issues. But when the gameserver starts i get this:
Load - ousters_filename:/home/chrius/darkeden/data/Class9.ousters.bin <-- seems to load correctly. it's the last one that works Load - slayer_filename:/home/chrius/darkeden/data/????1.slayer.bin Cannot open /home/chrius/darkeden/data/????1.slayer.bin to read.
The directory set in gameserver.conf is correct, and all the various Class files (ex: Class1.slayer.bin) load correctly before the error. I think the problem might be related to language support (I'm using Ubuntu 20.04 en_US), and this file might be one of the files with chinese characters on their names. However I tried installing the chinese language pack with no success, and I'm not really sure I installed the correct one...
I don't know a lot about linux so I might have done something wrong... what could have caused this issue? And if it's the language support, what do I need to install for it to work?