-
Posts
686 -
Joined
-
Days Won
9
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Gidz Cross
-
-
1 hour ago, pikzy said:
mes "test ^i[984] test";
it doesn't work.
Then you are not using 2024 exe.
-
9 hours ago, pikzy said:
Please....
How toIf you read previous replies. You will now how to.
-
On 4/5/2025 at 10:13 AM, skitsx said:
Yea i've fixed the @go issue. The only problem now is the custom item and mob.
There are several reasons why sprite wont appear in game.
1. You didn't properly install it (check lua files)
2. The sprite itself is broken
and many more. -
On 3/31/2025 at 2:45 PM, skitsx said:
My problem with @go is i made splendide @go 0 instead of prontera but when i typed @go prontera it still brought me to splendide. I changed if (strncmp(map_name, "splendide", 3) == 0) { town = 0; and { MAP_SPLENDIDE, 197, 176 }, // 0=Splendide yet it didnt fix it. (recompiled the server too). I've been trying to find a fix but nothing so far. ik this is a simple fix for some people but they don't even reply on discord rathena. sadly
So what happened to Prontera? Did you remove the entries for prontera in
@go
function? If so. Try to switch entries for splendide and prontera.
-
Thank you so much @Scofield. Will bookmark for now for future use!
-
12 hours ago, Scofield said:
2. Use nftables instead of iptables
nftables is a modern packet filtering framework that replaces the older iptables. It is now the default in most Linux distributions and provides better performance and flexibility when managing network rules, including basic DDoS protection.
Benefits of using nftables:
-
Higher Performance: Processes rules faster with a more optimized kernel implementation, reducing the impact on system resources.
-
Simplified Rule Management: Uses a cleaner and unified syntax, making it easier to create and manage complex firewall rules.
-
Better DDoS Mitigation: Supports more efficient rate limiting and packet inspection, allowing you to block basic DDoS attacks with minimal overhead.
-
Dynamic Rules: Allows for dynamic rule adjustments without the need to reload the entire firewall configuration.
-
IPv4/IPv6 Support: Handles both IPv4 and IPv6 rules natively, simplifying firewall management in modern environments.
For a professional rAthena project, nftables ensures better network protection, faster packet processing, and more efficient handling of traffic spikes during large player events or attacks.
How do you do this?
-
-
Wow! Nicely done!
-
1
-
-
-
Thanks for updating!
-
I see. Well it's worth asking. What we can do is to mask the damage into "1". Hahaha. This was supposed to be performance enhancement for lower exe's.
-
Was able to partially do it with the help of ChatGPT. The the settings i produced is like whats on conf. The hide_woe_damage. The hide_woe_damage just masked the damage into "1".
I cant find the GVG settings where you can actually hide the damage sprites.
BTW this is the chatgpt session:
atcommand.cpp
clif.cpp
and finally pc.hpp
Needs little cleanup but it behaves like hide_woe_damage. (only display 1 damage)
-
54 minutes ago, Haruka Mayumi said:
Do you mean like when you are damaging people in gvg?
Yes something like that but toggle-able via command.
-
In 2023 and 2024 there is option to completely hide the damage sprites when you hit enemy. Is it possible to adapt that settings in lower exe's like perhaps an implementation to hide damage sprites via atcommand? Kinda like packetfilter but it filters the sprite damage only.
Thanks! -
On 6/16/2024 at 11:16 AM, Louis T Steinhil said:
This is the fix for icon not going away. and i edited also the timer so it could handle
set .@timer, vip_status(2) - gettimetick(2);
it will be 86400 for 1 day. So for 5 seconds it should be 5 i believe.
// Script.cpp +/* +* fakeIcon +* fakeIcon(CHAR_ID,ICON_ID,TIME,STATE) +*/ +BUILDIN_FUNC(fakeIcon) +{ + int16 icon = EFST_BLANK; + TBL_PC* sd = map_charid2sd(script_getnum(st, 2)); + FETCH(3, icon); + int time = 1000 * abs(script_getnum(st, 4)); + bool state = (script_getnum(st, 5) == 1); + + if (sd == NULL) + return SCRIPT_CMD_FAILURE; + + if (icon <= EFST_BLANK || icon >= EFST_MAX) + icon = EFST_BLANK; + + clif_status_change(&sd->bl, (enum efst_type)icon, state, time, 0, 0, 0); + + return SCRIPT_CMD_SUCCESS; +} BUILDIN_FUNC(addrid) // Script.cpp ++BUILDIN_DEF(fakeIcon,"iiii"), BUILDIN_DEF(goto,"l"),
I haven't got notification that you quote me on this thread. Haha. Sorry about that.
How do you apply the icon removal in zell's script?
Quoteprontera,150,150,5 Script FakeIcon 90,{
mes "[Fake Icon Stats]";
mes "Hey.";
switch(select("Receive Fake Icon 1 with 5 seconds (display only)","Receive Icon 2 for 10 seconds (display only)","Disable Icon 1 and 2"))
{
case 1:
fakeIcon(getcharid(0),1,5000,1);
break;
case 2:
fakeIcon(getcharid(0),2,10000,1);
break;
case 3:
fakeIcon(getcharid(0),1,0,0);
fakeIcon(getcharid(0),2,0,0);break;
}
close;
} -
4 hours ago, Dolphin86 said:
how can i do that?
https://rathena.github.io/user-guides/installing/debian/#alternative-method
-
2 hours ago, Dolphin86 said:
@Mice im using linux vps, is there a way that i can open all 4 terminal to view them ?
You can do screen. I usually open 3 screen for login char and map.
-
We have bonus bPerfectHitRate,n;. Can we have bonus bPerfectMeleeHitRate,n;? Is this to bypass high flee/pd.
-
On 8/4/2024 at 12:19 AM, Tokei said:
Heya,
I've been receiving a lot of messages regarding encryption (again), so I wanted to clarify a few things:
- Your PMs regarding encryption matters will be redirected to this post.
- I will not be making a paid version of GRF Editor for encryption.
-
Yes, I am aware there is someone selling a decryption tool.
- No, this has nothing to do with GRF Editor being open source. GRF Editor has been open source for a very long time.
- No, I will not be updating the encryption DLL for the foreseeable future.
- GRF Editor is open source (https://github.com/Tokeiburu/GRFEditor), there's no need to pay to see the source (a few people made this request already...).
- I am considering removing the default encryption feature until there is an alternative.
As of GRF Editor 1.8.7.2 and above, it is now possible to make your own custom encryption library and link it with GRF Editor (this is meant for developers). Here is the project file:
comp_x86.rar 88.93 kB · 24 downloads
This is a C++ project made for Visual Studio 2022. You can use a lower toolset for older clients as it was originally made using Visual Studio 2010, which should be more than enough. The respective Visual C++ Redistributables should be installed (x86 for the client and x64 for GRF Editor).
When making the encrypt.dll for GRF Editor:
-
Use "Release" and "x64".
- The DLL will be compiled at comp_x86\Release\x64_GrfEditor\encrypt.dll
- "#define GRF_EDITOR" in cps.h must be defined in cps.h. This exposes the encrypt/decrypt functions for GRF Editor.
- The DLL can then be loaded in GRF Editor from Tools > Settings > Application > Encryption method...
-
GRF Editor uses these methods for encryption/decryption:
- DLL int encrypt(BYTE* key, UInt32 key_len, BYTE* compressed_data, UInt32 compressed_len, UInt32 uncompressed_len);
- DLL int decrypt(BYTE* key, UInt32 key_len, BYTE* compressed_data, UInt32 compressed_len, UInt32 uncompressed_len);
- The compressed_data length cannot be modified. The uncompressed_len can be used for your encryption algorithm, but otherwise it isn't useful for anything.
- The encryption happens after the compression (raw data > zlib/lzma compression > encryption). It is the final method applied on the data. You can make a custom compression library to change the compression data length.
- The "key" parameter is the one used by GRF Editor when loading an encryption key from the software. You're free to ignore this parameter if you're not going to use this. The key from GRF Editor is 256 bytes in length.
When making the cps.dll for your client:
-
Use "Release" and "Win32".
- The DLL will be compiled at comp_x86\Release\x86_Client\cps.dll
- "#define GRF_EDITOR" in cps.h must NOT be defined. Comment it out if it isn't automatically undefined (using Win32 should undefine it by default).
- The most important function is "void decryptSub(BYTE* key, UInt32 key_len, BYTE* data, UInt32 data_len, UInt32 seed)" in cps.cpp. The function decrypts the data in the GRF using the key provided by GetGrfEncryptionKey(). This part needs to be defined on your end as the key provided is just a dummy one. Hide it, do whatever you want. By default, the encryption uses an RSA encryption method.
-
This project has no protection on the DLL whatsoever. That part is entirely up to you.
- Make sure the client-side version of your cps.dll cannot be loaded in GRF Editor directly as a custom compression library as this would... make the whole thing rather pointless.
-
The methods of interest for the client side would be:
- DLL int uncompress(BYTE* output_data, UInt32* output_len, const BYTE* compressed_data, UInt32 compressed_len)
- int _encryptedUncompress(BYTE* uncomp, UInt32* uncompLength, const BYTE* comp, UInt32 compLength)
If you're a developer and you think your version is better than the one provided by GRF Editor, feel free to PM me as I'll make it as a default option (I will request to see the source however). Likewise, you're also free to sell those encryption DLLs if you want to, that's entirely up to you (I will not be responsible for issues related to third party encryption libraries).
Thank you so much for this. I saw some individuals already making money out of this release of yours. But then again i saw this:
On 8/4/2024 at 12:19 AM, Tokei said:Likewise, you're also free to sell those encryption DLLs if you want to, that's entirely up to you (I will not be responsible for issues related to third party encryption libraries).
Hoping to have tutorials for noobs such as myself on how to build your custom encryption.
-
21 hours ago, Questune said:
Hi good day, can someone help me out to make this NPC based on the following:
- Only guild castle owners can use the NPC, if your guild doesn't occupy any castle(s) you are not allowed to access the NPC.
- If the player is on the Clan they can not use this NPC.
- If player doesn't have guild they can not use this NPC.
To check if player have guild
if(!getcharid(2)) { mes "[Guild Checker]"; mes "You don't belong in any Guild."; close; }
to check if player have clan
if(!getcharid(5)) { mes "[Clan Checker]"; mes "You don't belong in any Clan."; close; }
-
-
On 7/6/2024 at 1:59 PM, shatowolf said:
try to disable the Modsecurity. in your cpanel.
Where is this located? Thanks! Too bad i already cancelled web hosting at a2 hosting.
-
WOW! Keep it up!
-
25 minutes ago, Chaos92 said:
to check wether your port is open or not at your server, try using any tools such as https://www.yougetsignal.com/tools/open-ports/
check also your IP is it correct at servers.php
Thank you so much for the website. I have checked and confirmed that the said ports are OPEN. As for the server.php it is correct as well.
-
I decided to get Web Hosting (a2 hosting). Everything was great except some of my themes are not working. Also, the server status always appear OFFLINE. I know that you will need to create a ticket to enable ports which i did. And here's their reply.
I thought I can finally see my server status properly.
Should I get a refund and transfer to other web hosting?
help @bodystyle in 2022 hexed
in Client-side Support
Posted
bodystyle structure changes on 2021 client onwards.