Jump to content

Search the Community

Showing results for tags 'Development'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Russian section
    • Новости и объявления
    • Пиратия: Документация
    • Пиратия: Релизы
    • Пиратия: Разработка
    • Пиратия: Web
    • Пиратия: Помощь
    • Совместные проекты / набор команды
    • Доска объявлений
    • Программирование
    • Оффтопик
    • Корзина
  • English Section
    • News & Announcements
    • Guides
    • Releases
    • Development
    • Web
    • Questions & Help
    • Shared Projects / Team search
    • Paid services & Requests
    • Programming
    • Offtopic
    • Recycle bin
  • Servers
    • Russian servers
    • English servers

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 7 results

  1. Offline stalls system One of the gaming aspects of the game is trading between characters through special stalls, which players can open by learning a special skill. The player sell his items for a certain price, and other players can buy them. However, for such trading, the player have to be in the game, that is, be connected to the server, which makes him to leave his computer constantly turned on and keep the game client minimized. This is very inconvenient, so the system of "offline" stalls was invented, which allows players to disconnect from the server and still remain trading in the stalls. There are several ways to implement such a system, but the most common system is "offline" stalls through a proxy server: 1) The game client (Game.exe) connects to the proxy server; 2) The proxy server, in turn, opens a connection to the GateServer.exe; 3) Further, the proxy server transfers all packets between Game.exe and GateServer.exe, while analyzing them; 4) When a player opens a trade stall, the proxy server captures this (GateServer.exe sent Game.exe a successful stall opening packet); 5) If a player disconnects from the server while in a trading stall, then the proxy server closes the connection to Game.exe, but at the same time keeps the connection to GateServer.exe and starts imitating Game.exe. Thus, GateServer.exe is unaware of the fact that Game.exe is disconnected and the player's character remains to trade in the stall on the server. Game.exe | Game.exe | <---------> pkodev.stallserver.exe <---------> GateServer.exe Game.exe | This topic discusses the development of such a proxy server - PKOdev.NET Stall Server. Warning! The application is currently under development. The application has not been fully tested and is not stable. This means that errors, bugs and critical vulnerabilities may be present. Use it for testing purposes only! Features 1) Offline stalls system; 2) Limiting the number of offline stalls from one IP address; 3) Limiting the trading time in an offline stall; 4) Automatic disconnection of the account from the server when a player tries to enter his account while trading in an offline stall; 5) Notification of players in the chat that a player trades in an offline stall (in PM); 6) Prevention of SQL-injections in login and PIN create (change) packets from game client; 7) Setting for the maximum number of connections from the same IP address and the interval between connections. to-do 1) Translate comments in files Server.h and Server.cpp to English language; 2) Fix application crash when processing packets; 3) Fix application crash on startup when local port is closed; 4) Fix bridge hanging when blocking packets on enabled encryption in GateServer.cfg (thanks to @small666 for finding the bug); 5) Make thread synchronization when processing packets; 6) Close the offline stall if it is empty; 7) Modification of GateServer.exe to determine the IP addresses of clients that are behind the server of offline stalls. At this point in the logs and database, the IP addresses of all clients will be written as 127.0.0.1 (if both GateServer.exe and pkodev.stallserver.exe are running on the same machine). 8 ) Compatibility with Corsairs Online (CO) source code. Building and running 1) Clone the repository with the project to your disk (the link will be below); 2) Open the solution file pkodev.stallserver.sln in Visual Studio 2022 Community (or higher version); 3) Build the solution. The server executables will appear in the bin folder; 4) Place the configuration file pkodev.stallserver.cfg from the cfg folder in the same directory as the server executable file pkodev.stallserver.exe; 5) Customize the configuration file pkodev.stallserver.cfg (the file is well commented); 6) To connect the game client (Game.exe) to the offline stall server, you need to install the pkodev.mod.stallserver mod; 7) To connect the offline stall server to GateServer.exe, the GateServer should be without any modifications, for example, from the PKO 1.38 server files. 8 ) Run offline stall server executable pkodev.stallserver.exe. Git repository https://github.com/V3ct0r1024/pkodev.stallserver
  2. How can I add welcome notice? I have seen it in many server. ex: Hey, [Char Name] Welcome to [Server Name]. How can I add this feature?
  3. PKOdev.NET mod loader project template for Visual Studio 2019 Community I am posting a template project for Visual Studio 2019 Community, which is designed to develop mods for PKOdev.NET mod loader using the C++ programming language. The project includes 1) File structure (address.h, pointer.h, hook.h, structure.h, dllmain.cpp); The address.h file contains the addresses of imported functions and objects from the .exe file. This file also defines the namespaces for the corresponding versions of the .exe file, within which it is necessary to specify the addresses for each version of the executable file. All addresses should be in the address namespace. namespace address { // Game.exe 2 (1252912474) namespace GAME_13X_2 { // void CHeadSay::Render(D3DXVECTOR3& pos) const unsigned int CHeadSay__Render = 0x00470770; } // Game.exe 4 (1585009030) namespace GAME_13X_4 { // void CHeadSay::Render(D3DXVECTOR3& pos) const unsigned int CHeadSay__Render = 0x004707D0; } } The pointer.h file contains pointers to imported functions from the .exe file. All pointers should be in the pointer namespace. namespace pointer { // void CHeadSay::Render(D3DXVECTOR3& pos) typedef void(__thiscall* CHeadSay__Render__Ptr)(void*, D3DXVECTOR3&); CHeadSay__Render__Ptr CHeadSay__Render = (CHeadSay__Render__Ptr)(void*)(address::MOD_EXE_VERSION::CHeadSay__Render); } The hook.h file contains the definitions of the hook functions of the original functions from the .exe file. All hooks should be in the hook namespace. namespace hook { // void CHeadSay::Render(D3DXVECTOR3& pos) void __fastcall CHeadSay__Render(void* This, void* NotUsed, D3DXVECTOR3& Pos); } The structure.h file contains various data structures necessary for the mod to work. // 3D vector structure struct D3DXVECTOR3 { float x; float y; float z; }; The dllmain.cpp file contains the entry point, the implementation of the loader interface functions, the implementation of the hook functions, and the mod code itself. 2) Mod loader interface (loader.h) and its implementation. 3) Build configurations for all supported .exe files with appropriate preprocessor definitions. 4) MS Detours library for hooking functions calls in .exe files. DetourAttach(&(PVOID&)pkodev::pointer::CHeadSay__Render, pkodev::hook::CHeadSay__Render); How to set up your own project 1) Rename the project files (pkodev.mod.dummy) to the name of your new mod; 2) Remove unnecessary build configurations; 3) For each build configuration, specify the name of the mod's output DLL file (Target Name); 4) For each build configuration, specify preprocessor definitions MOD_NAME, MOD_AUTHOR, and MOD_VERSION. Download PKOdev .NET mod loader project template for Visual Studio 2019 Community (C++).
  4. hey comunity i am also interested if someone can gimme 1 hour lesson i pay 10$ i have a good pc for team viewer i cant move on without passing account server hang i did it one time but then it came back .
  5. New forum section on developing Tales of Pirates using Unity3D game engine Hello friends! At the request of users, a new section was created on the forum to discuss and develop Tales of Pirates on the Unity3D game engine. Wikipedia
  6. Hello Guys! I've set up a website hosting service in its development/beta phase, so for now, I'm offering FREE HOSTING on websites (during testing phase). Make back-ups, as it is not a fully stable server yet. https://www.pko.host - My hosting website. http://example.pko.host - Mssql and PHP compatible for typical PKOSites http://example2.pko.host http://example3.pko.host http://example4.pko.host http://example5.pko.host http://example6.pko.host (credits to @DangThao for the PKOSite Template 1) Other website files gotten from toperunlimited. Credits to all the creators. All you have to do is: PM me for an account, and I will make one with the "Mini Plan", which is: 1 Domain 100 MB Disk Space 1000 MB Bandwidth Limit 100 Mbps Connection Speed Login Details will be sent to your e-mail. You will be able to add your domain through a control panel, and transfer your files through FTPS. It's enough to host a PKOSite, do you guys think it's enough? I'm open to feedback. Why am I giving people free hosting on websites? - Because I'm testing the stability of the server I set up, and to find any bugs that I might not have known. Cheers! ShaKo
  7. Hi, i'm going to start a private server, i have a lot of files here, i did download a Mega Pack with clean files, clients, scripts/others... So my question is, how I can do theserver works? I did put my serverfiles modified in SQL Express 2014, the .exes are working fine, but how can I configure cliente to connevt them fine, and then how to implement the website in a good way? I do count with a host dedicated for this, and i know very much about programming .Lua and database files. But I have never make a server works before... Thanks and cheers from Chile!
×
×
  • Create New...