Jump to content

Recommended Posts

[Mod] Antibot

 

screenshot_01.png

 

Adds an anti-bot to the game that worked on the official servers of the game.

 

The mechanism of the antibot is similar to the "captcha". During the game, at certain intervals of time, the player must enter a code that appears on the screen, consisting of 4 characters. The player has only 3 attempts. If the player makes a mistake 3 times in a row and/or does not enter the code, then his is forcibly disconnected from the server. If the answer is correct, the player can receive "rewards" - experience points, restoration of HP and SP, or an item (cake, ticket), and the counter for the number of unsuccessful attempts is reset.

 

Antibot works under the following conditions:

1) The player's character does not have administrator and moderator rights (GM-level is 0);

2) The player's character is not in the safe zone;

3) The player's character is not in the PvP zone;

4) The player's character is on the water.

 

 

Requirements

 

Installed mod loading system for server and client (PKOdev.NET mod loader).

 

 

Modification information

 

Name: pkodev.mod.antibot;

Version: 1.0;

Author: V3ct0r;

Type: for server (GameServer.exe);

Supported executable .exe files: GAMESERVER_136 and GAMESERVER_138.

 

 

Installation

 

1) In the "mods" directory of your GameServer, create a "pkodev.mod.antibot" folder and place into it the mod DLL file "pkodev.mod.antibot.server.13<x>.dll" for your version of GameServer.exe;

2) In the folder "resource" of your GameServer place the folder "Pic" from the attached archive with the mod;

3) In the file "functions.lua" ("GameServer\resource\script\calculate") add the code from the corresponding file from the attached archive with the mod.

 

 

Interval of antibot activation

 

The mod is configured in such a way that by default the antibot activation interval is calculated in accordance with the original algorithm that was implemented by the game developers (see the DWORD CCharacter::GetCheatInterval(int state) method from the "Character.cpp" file of the server source code). This algorithm can be changed in the function unsigned int __fastcall pkodev::hook::CCharacter__GetCheatInterval(void* This, void* NotUsed, int state) in the source code of the mod ("dllmain.cpp" file). This function should return the time interval in milliseconds. With state = 1, the function should return at least 60 seconds (65 by default), because with the specified value of this parameter, the time allotted for the player to enter a 4-character code is calculated.

 

 

Download

 

1) Binary release (.dll);

2) The source code of the mod for Visual Studio 2019 Community (C++).

 

 

If you encounter any problem, bug or have any questions, then feel free to write in this thread.

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...