LikeAlcohol 22 Report post Posted September 15, 2016 (edited) Who is behind https://github.com/pkodev ? I was looking at the source of the proxy - https://github.com/pkodev/proxy Was wondering who wrote this? I'm doing some work with receiving and sending packets to and from the TOP client, would love to ask a question or two if at all possible. Thanks! Edited September 15, 2016 by LikeAlcohol Quote Share this post Link to post Share on other sites
LikeAlcohol 22 Report post Posted September 16, 2016 Seriously no one? Quote Share this post Link to post Share on other sites
MonkeyCode 453 Report post Posted September 16, 2016 Ill take a guess. I think it was Insider because he deals with nodejs Quote Share this post Link to post Share on other sites
LikeAlcohol 22 Report post Posted September 16, 2016 5 minutes ago, KONG said: Ill take a guess. I think it was Insider because he deals with nodejs Ah cheers, could be. Especially as he was behind one of the emulators. Is he like the only one who knows about packets sent to and from the TOP client and the server? Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted September 16, 2016 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. Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
LikeAlcohol 22 Report post Posted September 16, 2016 19 minutes ago, V3ct0r said: 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. Thanks dude, do you know anyone who's familiar with packets sent to and from TOP client/ server? Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted September 16, 2016 7 минут назад, LikeAlcohol сказал: Thanks dude, do you know anyone who's familiar with packets sent to and from TOP client/ server? What do you want to know about packets? Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
LikeAlcohol 22 Report post Posted September 16, 2016 (edited) 1 hour ago, V3ct0r said: What do you want to know about packets? Well I'm playing around with the client, using nodejs. Listening in on port 1973 and seeing what the client sends back. So far the only data it sends back is 0002 (hex). Was wondering what other data I can receive from the client upon login. Not looking to recreate an AccountServer, just certain bits if that makes sense. Been using the 'net' module of node, see below (inserting images isn't working so made them links); https://i.gyazo.com/0f7e8244c1945494c6362f6215d4b459.png https://i.gyazo.com/e3bba12b3f60a6028b48d840364b55f6.png Edited September 16, 2016 by LikeAlcohol Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted September 16, 2016 @LikeAlcohol When client connected to the server then GateServer.exe sends to client packet with time and date string. Then client sends login packet. Time and date string from 1st packet is used for password encryption in login packet. 0x0002 is ping packet. Client have to answer on ping packets otherwise it will be disconnected from server by timeout. 1 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
LikeAlcohol 22 Report post Posted September 16, 2016 3 minutes ago, V3ct0r said: @LikeAlcohol When client connected to the server then GateServer.exe sends to client packet with time and date string. Then client sends login packet. Time and date string from 1st packet is used for password encryption in login packet. 0x0002 is ping packet. Client have to answer on ping packets otherwise it will be disconnected from server by timeout. I see, thank you. So when the client gets the time and date string from the GateServer it sends the login packet to the GateServer or the AccountServer? Why does the AccountServer require a connection to the database? (unless the client is sending the login packet there after communicating with GateServer) Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted September 16, 2016 4 минуты назад, LikeAlcohol сказал: So when the client gets the time and date string from the GateServer it sends the login packet to the GateServer or the AccountServer? No, client sends all packets to the GateServer. Then GateServer sends packets to GroupServer and AccountServer. For example, login packet will be sent to the AccountServer, packet with world chat message will be sent to the GroupServer. 5 минут назад, LikeAlcohol сказал: Why does the AccountServer require a connection to the database? (unless the client is sending the login packet there after communicating with GateServer) It does require a connection to the database to compare login and password from login packet with login and password from the database. It does authentication. 1 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
LikeAlcohol 22 Report post Posted September 16, 2016 10 minutes ago, V3ct0r said: No, client sends all packets to the GateServer. Then GateServer sends packets to GroupServer and AccountServer. For example, login packet will be sent to the AccountServer, packet with world chat message will be sent to the GroupServer. It does require a connection to the database to compare login and password from login packet with login and password from the database. It does authentication. Oh I see. So the GateServer essentially acts as a router in a way? Interesting, thanks! Was dishing through the AccountServer source code, but it seems I should be looking through the GateServer source. Quote Share this post Link to post Share on other sites
Totoka 152 Report post Posted September 17, 2016 @LikeAlcohol I'm currently working within GateServer project(2.4). Take a look at ToClient.cpp > ToClient::OnProcessData() There you will find an small packet handler, this is probably what you are looking for. 1 Quote Discord: andresc Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted September 17, 2016 15 часов назад, LikeAlcohol сказал: Oh I see. So the GateServer essentially acts as a router in a way? Interesting, thanks! Was dishing through the AccountServer source code, but it seems I should be looking through the GateServer source. Yes, you are right Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
LikeAlcohol 22 Report post Posted September 19, 2016 (edited) On 17/09/2016 at 8:28 AM, Totoka said: @LikeAlcohol I'm currently working within GateServer project(2.4). Take a look at ToClient.cpp > ToClient::OnProcessData() There you will find an small packet handler, this is probably what you are looking for. May I ask what you're working on in particular? Thanks for the tip, that's exactly what I was looking for! Much appreciated. Edited September 19, 2016 by LikeAlcohol Quote Share this post Link to post Share on other sites
Totoka 152 Report post Posted September 19, 2016 10 minutes ago, LikeAlcohol said: May I ask what you're working on in particular? Packet filtering, compression, and flooding protection. Also planning a web API hooked right there, doing real-time changes on players, and also Global/Trade chat sharing by site, by using web sockets. Quote Discord: andresc Share this post Link to post Share on other sites
Shako 97 Report post Posted September 19, 2016 @Totoka you mean, a player who is visiting the game's website can see the world & trade chat of the server at real time? Quote Sunny Go! Online pko.host Share this post Link to post Share on other sites
LikeAlcohol 22 Report post Posted September 19, 2016 10 minutes ago, Totoka said: Packet filtering, compression, and flooding protection. Also planning a web API hooked right there, doing real-time changes on players, and also Global/Trade chat sharing by site, by using web sockets. Nice one. Yeah I was looking to do something similar myself, maybe so you can have a real time map with players locations on etc We have a lot of flexibility now we have the source files haha Quote Share this post Link to post Share on other sites
Totoka 152 Report post Posted September 19, 2016 10 minutes ago, Shako said: @Totoka you mean, a player who is visiting the game's website can see the world & trade chat of the server at real time? yup, cached to avoid a direct dos/ddos, but anyway it will have an small refresh time. Quote Discord: andresc Share this post Link to post Share on other sites
LikeAlcohol 22 Report post Posted November 7, 2016 @Totoka how is your project progressing? It's all pretty interesting! Quote Share this post Link to post Share on other sites
Totoka 152 Report post Posted November 7, 2016 2 hours ago, LikeAlcohol said: @Totoka how is your project progressing? It's all pretty interesting! I was doing it for fun, and currently it's kinda boring , most is done, but has some troubles within the packet flooding, characters get a wrong sync when they performs too many packets/time. I guess most troubles I have, could be due the MTU, being very hard to manage within the current GateServer system, I added also an small extra header within the packet by trying to control it, but nothing Quote Discord: andresc Share this post Link to post Share on other sites
LikeAlcohol 22 Report post Posted November 8, 2016 (edited) 14 hours ago, Totoka said: I was doing it for fun, and currently it's kinda boring , most is done, but has some troubles within the packet flooding, characters get a wrong sync when they performs too many packets/time. I guess most troubles I have, could be due the MTU, being very hard to manage within the current GateServer system, I added also an small extra header within the packet by trying to control it, but nothing Same here, started working on something for fun but now it's boring! Haha my thoughts exactly with the GateServer!! I ended up just hacking away in the end... Doesn't help that the source code of the GateServer is a big mess too though ayy Edited November 8, 2016 by LikeAlcohol Quote Share this post Link to post Share on other sites
kLabMouse 7 Report post Posted November 9, 2016 On 11/7/2016 at 8:36 PM, Totoka said: guess most troubles I have, could be due the MTU, being very hard to manage within the current GateServer system, MTU is not the thing that you simply control from application. Be aware, that, while network is packet based, the TCP is "Stream" therefor You can not control fully how packets will be sent over wire. 16 hours ago, LikeAlcohol said: Doesn't help that the source code of the GateServer is a big mess too though ayy If GateServer is a mess, then should abandon it right away before you get to GameServer. Quote Share this post Link to post Share on other sites
Totoka 152 Report post Posted November 9, 2016 32 minutes ago, kLabMouse said: MTU is not the thing that you simply control from application. Be aware, that, while network is packet based, the TCP is "Stream" therefor You can not control fully how packets will be sent over wire. Hey kLab, If we are talking about the application layer, the packet integration should be controlled always, the `how`, depends on the software design. Most networking designs within an application level are done with an small header for such purpose, it's supposed to be used on this project, but somehow some packets are delivered without checking It's integrity, which turns it into another problem. About TCP prot., of course, it sends whatever you want byte to byte ~`stream, this supposed to be controlled at low level, and also can be controlled onto the application layer, by reinventing the wheel, but isn't necessary ( that's insane ); Have you never heard about raw protocols ?. Quote Discord: andresc Share this post Link to post Share on other sites
kLabMouse 7 Report post Posted November 9, 2016 7 hours ago, Totoka said: but somehow some packets are delivered without checking It's integrity, which turns it into another problem. That's true. But MTU has nothing to do with it. 7 hours ago, Totoka said: Have you never heard about raw protocols ?. What kind you are interested in exactly? there is quite a lot of them. Also. I think we are way to Offtopic here. Quote Share this post Link to post Share on other sites