Jump to content

V3ct0r

Administrators
  • Content Count

    2,889
  • Joined

  • Last visited

  • Days Won

    519

Everything posted by V3ct0r

  1. Hello @Vasil! Yes, I do move content from MD to our forum. Most important content is already here. TOP/PKO/KOP section on MainDEV is dead and I see it as a big archive. That's why I decided to make PkoDEV.NET. @LikeAlcohol If you have concrete suggestions about the style of the forum, then show them us and we will discuss them together.
  2. Hello @LikeAlcohol! The owner of this repository is duduf (his profile on MainDEV.RU). He is from Russia and he is member of Mordo Team (Russian TOP/PKO server). The repository has no relation with our forum.
  3. You can check it using this program:
  4. V3ct0r

    Item dupe

    @Shako To be honest I have no idea
  5. V3ct0r

    Item dupe

    Try to run GameServer.exe with garner, magicsea and darkblue together. You will get an error that do not enough memory. Even if you somehow start the GameServer with these maps, I think it will lag.
  6. Hello friends! As you have noticed, our forum has been receiving a lot of attentions regarding paid services and the sales of files. Do we need a section for paid services? What do you think about that? Write here!
  7. I think it is the same problem which was in August. No free space for images and attachments left. I have already asked my friend to solve that.
  8. 1) Клиент TOP II сейчас нельзя подключить ни к каким серверным файлам; 2) Клиент 1.3x можно подключить только к серверным файлам 1.3х. Аналогично клиент 2.0+ можно подключить только к серверу 2.0+; 3) Вместо ручного ввода IP адреса попробуйте использовать программу IP Changer; 4) В GateServer.cfg [ToClient] IP = 0.0.0.0 Port = 1973 Причем Game.exe должен быть настроен на порт 1973. Он настроен на этот порт по умолчанию, но всегда есть вероятность, что вы используете какой-то модифицированный Game.exe; 5) Для начала нужно запустить сервер и клиент на локальной машине (на одном и том же компьютере) и настроить клиент на IP 127.0.0.1.
  9. Да, в гайде этот момент и еще несколько дыр не были рассмотрены. Обсуждать тут особо нечего, все уже давно разобрано и исправлено. Можете поднять архивы на MD. Если в кратце, то: AccountServer.exe Когда клиент подключается к серверу, то первым делом отправляет логин пакет, который содержит: логин, пароль, MAC-адрес клиента, версию клиента. AccountServer.exe не проверяет MAC-адрес и пишет его в базу данных как есть. Таким образом, злоумышленник может записать вместо MAC-адреса SQL-инъекцию и провести атаку на сервер. GroupServer.exe: Проблема по сути такая же. Клиент в первый раз зашел на аккаунт и ему предлагается создать секретный код. Пакет создания секретного кода состоит из одного поля (насколько я помню) - строки секретного кода в MD5 в верхнем регистре. Это поле тоже никак не проверяется. Если быть точнее, то проверяется только его длина - 32 символа. В итоге вместо секретного кода, "хакер" может записать SQL-инъекцию, и она пройдет. Аналогично с пакетом смены секретного кода. От этих уязвимостей давно есть защита: различные "фильтр-серверы", которые устанавливаются между GateServer.exe и GroupServer.exe/AccountSerever.exe и проверяют эти пакеты на SQL-инъекции. Либо можно пропатчить данные .exe и добавить в них проверку этих уязвимых полей. Так же есть исходники, так что это теперь вообще не проблема.
  10. Исходники потихоньку ковыряем и изучаем. Игра делалась совсем не в домашних условиях, над ней работало около 29 человек - пруф. Откуда взялись исходники у тех же китайцев, которые нам их продали, никто не знает. Разработка на новом движке это конечно хорошо, но я не думаю, что кто-то будет этим заниматься. Хотя бы по причине отсутствия заинтересованных специалистов высокого уровня в нашем сообществе.
  11. Hello @Home! As @Shako and @Kyren said, we need some portfolio/samples from you. It will help you to bring more customers.
  12. Hello @mohan and @Covadola! You can make patch by yourself. Just copy all .txt files from "Server Files\GameServer\resource\" to "Client\scripts\table\" and make table_bin: Do not forget to change IP address in ServerSet.txt and region in Server.tx (client files). You can use IP Changer. Also maybe you will be need models, textures, animations and etc. I think you can get it all from latest TOP2 client. Good luck!
  13. Hello @Vasil! What forum do you want to install? Usually, every forum engine has documentation how to install it which you can find on its offical website. So, there is no need to make such guides here. @Treuno86 is right. And you've chosen wrong section, topic has been moved to Questions and Help section.
  14. So it's close. Maybe 16 or 18. Anyway you can take an item which is can't be put on the bank (as @Foxseiz said - Medal of Valor) and compare it with your item. @KONG you think it is hardcoded in Game.exe?
  15. Hello @Faller! Try to put ItemInfo.txt from "Server Files\GameServer\resource" to "Client\scripts\table" and make table_bin:
  16. @OldHero Let's take Fairy Ration (ID 227) for example. Its function in ItemEffect.lua is ItemUse_SiLiao function ItemUse_SiLiao(role, Item, Item_Traget) local Cha_Boat = 0 Cha_Boat = GetCtrlBoat(role) if Cha_Boat ~= nil then SystemNotice(role, "Cannot use while sailing") UseItemFailed(role) return end local Item_Traget_URE = GetItemAttr(Item_Traget, ITEMATTR_URE) local Item_Traget_MAXURE = GetItemAttr(Item_Traget, ITEMATTR_MAXURE) local Item_type = GetItemType(Item) local Item_Traget_Type = GetItemType(Item_Traget) local Num = 2500 if Item_type == 57 and Item_Traget_Type == 59 then if Item_Traget_URE < Item_Traget_MAXURE then Give_ElfURE (role, Item_Traget, Num) else SystemNotice(role, "Fairy is full") UseItemFailed(role) return end end end Then you can get character's map using GetChaMapName() function and make a small check: function ItemUse_SiLiao(role, Item, Item_Traget) local Cha_Boat = 0 Cha_Boat = GetCtrlBoat(role) if Cha_Boat ~= nil then SystemNotice(role, "Cannot use while sailing") UseItemFailed(role) return end -- Our check for map local map_name = GetChaMapName(role) if map_name == "garner2" then SystemNotice(role, "You can't use this item in Chaos Argent!") UseItemFailed(role) return end local Item_Traget_URE = GetItemAttr(Item_Traget, ITEMATTR_URE) local Item_Traget_MAXURE = GetItemAttr(Item_Traget, ITEMATTR_MAXURE) local Item_type = GetItemType(Item) local Item_Traget_Type = GetItemType(Item_Traget) local Num = 2500 if Item_type == 57 and Item_Traget_Type == 59 then if Item_Traget_URE < Item_Traget_MAXURE then Give_ElfURE (role, Item_Traget, Num) else SystemNotice(role, "Fairy is full") UseItemFailed(role) return end end end Now players can't feed fairies in Chaos Argent. @KONG your code has a typo: GetChaMpaName => GetChaMapName
  17. V3ct0r

    Item dupe

    There is one bad solution: use one GameServer.exe for all maps.
  18. Hello @oualid159! I have written my account creator tool, but source code is lost a long time ago: http://s019.radikal.ru/i638/1609/26/95904e79eac7.png I did not see any source code for this kind of programs. But what is the problem? It is easy to write such program. All that you need are MSSQL library for your programming language to make SQL queries and some hash library which implements MD5 algorithm to encrypt passwords. 1) You need get login and password from user (maybe GM level too); 2) Check if login is correct and not in use; 3) Check if password is correct; 4) Hash password using MD5 and make it uppercase; 5) Make query to AccountServer.dbo.account_login; INSERT INTO AccountServer.dbo.account_login (name, password) VALUES (login, password) 6) Make one more SQL query to GameDB.dbo.account if you want to set GM level. INSERT INTO GameDB.dbo.account (act_id, act_name, gm) VALUES ((SELECT MAX(act_id) + 1 FROM GameDB.dbo.account), login, gm_level);
  19. Hello @nectrouler! Check this thread on maindev: http://forum.maindev.ru/threads/distancionnaja-ataka-u-celitelnic-i-koldunij.12087/ It is in Russian, but I hope you will understand how to install basic attack with balls.
  20. Hello @Rinor! Thank you for your feedback! We will check the problem. Sorry for the inconvenience .
  21. Hello @LikeAlcohol! There is Noterius by Monsiure and AyeAye by insider. Both are incomplete and abandoned. Noterius is written using Go and AyeAye is written using Java. Noterius repo: https://github.com/Nyarum/noterius AyeAye repo: https://bitbucket.org/trueinsider/ayeaye/ More information is available on maindev, but it is in Russian: http://forum.maindev.ru/forums/piratija-ehmuljatory.325/
  22. You also can put a small check for character map in functions of these items in ItemEffect.lua
×
×
  • Create New...