Jump to content

RagnaShield Beta 1.0.8


Conflicts

Recommended Posts


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  317
  • Reputation:   63
  • Joined:  11/13/11
  • Last Seen:  

RagnaShield Beta – Introduction

 

What is it about?

RagnaShield Beta is a free game guard presented to you by RagnaHosting Networks. Its goal is to offer a simple and reliable protection to prevent abuses and cheats client-side. It also offers a way to store hardware information, such as the MAC address, from the players without having to use a launcher. This hardware information can be easily used in your scripts to reward unique players or disallow dual-clienting on certain maps. There are a whole lot of other features that comes with it too, and it'll be in constant development, so we'll need your feedback / opinions / suggestions.

 

Installation guide

Client-side and Server-side

The installation client-side should be straightforward. All you need is to do is copy the files from your RagnaShield package, which should include your client executable, cps.dll and msvcp100.dll. Your players may have to install the Microsoft Visual C++ 2010 SP1 Redistributable Package (x86) (https://www.microsoft.com/en-ca/download/details.aspx?id=8328). Server-side installation will be done for you by the RagnaHosting Team for free. We support the latest versions of the 2 major emulators, rAthena and Hercules. And we can install it for rAmod as well. If there are enough requests for eAthena / eAmod emulators, we will add support for those too.


 
Features - Clientside

Clientside Features

Most of the features below can be further customized by requesting the Staff of RagnaHosting to rebuild your protection files. The ones which cannot be changed are the splash image and the IP/host of your clientinfo.xml, this would be the case at least until we are able to finish the RagnaShield Setup.exe tool which lets your customize your RagnaShield GameGuard by yourself. RagnaShield should work for all client versions, however, for best results, we recommend those that has support for Packet Obfuscation.



Hardware IDs

Every time a player connects to his account, various hardware IDs are retrieved from the computer, such as the MAC Address, the CPU ID, Disk ID and Motherboard ID. This information is then sent to the server and stored in the `login` table. The purpose of this feature is to create a fingerprint of the player's computer capable of ensuring you they will not come back after a hardware ban. The player's hardware IDs are then compared to the ban list to see how much of a match they are. This setting can be modified from ragnashield.conf with ban_sensitivity

Advanced File Hashing (including those inside GRFs)
You can hash as many files as you wish within your RO folder or your GRFs. RagnaHosting already provides a default list to prevent no-delay sprites by protecting the default job sprites,

this GRF will take the highest priority and will be named JobSprites.grf. To customize this list and include your own files or sprites, contact the RagnaHosting Networks with the necessary information.

If any of your hashed files fails the check, the client will show an error and it wont launch. This behavior cannot be changed.

* This protection currently does not take into account the order in which your files are being loaded. If this becomes necessary, you might want to protect your DATA.INI as well.

Dual Clienting
By default, only up to two clients can run simultaneously. The choice of two clients is to allow your players to trade between their accounts. This feature can be modified as per user request.

 

Hiding clientinfo.xml

Your clientinfo.xml has been embedded to your RagnaShield protection components and the client will disallow any connection bypassing the one provided.

This would protect you from most of those people trying to find your IP for some malicious intentions. This also ensures that you'll only be able to use this protection when you're hosted with us.

 

Better compression (LZMA support)
LZMA is a compression method allowing you to significantly reduce the size of your GRF files.

The idea of this feature was introduced by Curiosity, for more information visit the following thread on rAthena : https://rathena.org/board/topic/95086-lessgrf-slim-down-your-grf.
RagnaHosting uses this compression by default on your GRF files. As you may have noticed, the size of a fully patched Full Client is only about 1.4GB, the one RagnaHosting provides.

In GRF Editor, you can use this custom compression by going in Tools > Settings > General > Compression method > Custom compression... and select the cps.dll provided in the thread mentioned above.

* Do not attempt to load the custom cps.dll provided by RagnaShield in GRF Editor, you will crash and may end up having to reinstall the application.

 

File Encryption (Unique GRF Editor keys)
RagnaShield allows you to encrypt your GRF files' content using GRF Editor's encryption. You will receive a key.grfkey file which can be used directly by GRF Editor to encrypt or decrypt your content.

 

File Encryption (RagnaHosting Shared Encryption)
By being part of RagnaHosting, you will gain access to free or cheaper custom content for your server. This content is encrypted and will only work on ALL servers using RagnaShield as their protection. If you decide to leave the host however, you will no longer be able to use them. This feature itself warrants a post of its own, I'll be explaining in details how this works.

 

Splash Screen
Pretty self explanatory, RagnaShield will display a splash screen 250px by 150px in size when your client launches, and closes it as soon as the client fully loads up (the login screen appears).

Third-party program restriction / blocking
This feature is in constant development and there are already a handful of softwares being blocked by the game guard. You can choose whether or not you want to allow tools such as RCX to run on your server. Other programs such as CheatEngine will automatically be blocked. This feature is fully customizable as well to fit every server's needs. We do encourage you to submit cheat tools so we could block them for everyone. We believe there's no reliable way to block macros, and we want to make it clear that we're not advertising RagnaShield to be able to do that.

 

What about bots?
Blocking bots or other similar tools is not part of RagnaShield's protection. To prevent those, we recommend you use newer clients allowing packet obfuscation; it will block bots better than any features we could add to our game guard. By default, we'll include packet obfuscation support on the client we'll provide you, it'll use fully qualified keys, and it'll be unique for each server.


Features - Serverside

Serverside Features

These complements the Clientside features, and makes use of the extra data the client sends. There are some other useful commands too like @execute and @ping. As usual, this part of RagnaShield will constantly be updated during this Beta stage. We will release our repo containing all the changes soon enough. Your suggestions / reports would help us a lot.

 

Banning system
It is important to understand the difference between an account ban, an IP ban and a hardware ban.

jsF3DNX.png
 
Knowing when to use which can be a bit confusing at first, however RagnaShield's ban commands are more straightforward because they combine these together nicely.

Banning a player bans both their hardware IDs and their account at the same time. Our custom bans take into account the level (group id) of the GM who is issuing the ban.

As such, it is only possible for a GM to ban an account with a lower group id than his own. Therefore admins (group 99) can never be banned. The hardware ban, which is always

applied regardless of the group id of the target, can be bypassed if the account's owner has a higher group id.

 

Configuration file (ragnashield.conf)
The configuration file is found at conf/ragnashield.conf.

wrPafhJ.png
 
Hardware IDs
Hardware IDs are stored on the server side when a player attempts to log in. All the info are also added to the loginlog table. RagnaHosting lists 4 kinds of Hardware IDs, namely;

MAC Address, CPU ID, Drive ID and Motherboard ID. There's a 5th and special kind of ID which combines the latter 3 into a unique hashed ID, which can make it easier for you to

integrate on your scripts. All of these information are added to the `login` and `loginlog` tables.
 
Ingame @commands

@ragnaban / @ban2
usage: @ragnaban <time> <player_name> {<reason>}
ex   : @ragnaban 1d "test player" Stole gears.

Similar to @ban, this command does both a regular @ban and a hardware ban. The computer of the player will no longer be able to connect to your server.

If the account ban's time is greater than the one given by the command, it will keep the longest one. When a player's name contains spaces, you must use quotes,

otherwise it's not needed. The reason given for the ban is also optional but it is recommended.
 
@ragnafullban / @fullban
usage: @ragnafullban <time> <player_name> {<reason>}

ex   : @ragnafullban 1d "test player" Stole gears.

This is the same as the previous command, except it will also ban all the accounts related to the player. It bans the accounts based on the last person who logged into them.
 
@ragnaunban / @unban2
usage: @ragnaunban <player_name> 
ex   : @ragnaunban "test player"

This command removes the hardware ban of a player as well as removing the account ban of the player mentioned.
 
@ragnafullunban / @fullunban
usage: @ragnafullunban <player_name> 
ex   : @ragnafullunban "test player"

Same as the previous ban, except it unbans all the accounts connected with the player (using the hardware IDs of the person who logged into the account last).
 
@showmacban
usage: @showmacban

Shows the current MAC addresses banned.
 
@execute <system_command>
usage: @execute echo Hello world!

Executes a command on the server's VPS. This command allows you to customize server tasks outside of the game. The example command will display "Hello world!" in the map-server console. You could use it to recompile or restart your server, create a backup, etc. The possibilities are limitless for this command. We'll be writing scripts for everyone for you to make use of Linux commands and utilities from inside the game! This means you can tell your GM to type @execute sqldump before he hosts his event, just in case something goes wrong. Feel free to send us suggestions of what commands you want to see on here.
 
@ping {<player_name>}
usage: @ping

This command asks the server to ping yourself or another player. The task is put on a background thread and you will have to wait a few seconds to retrieve the ping statistics. To retrieve the pong info, you'll have to type @ping again. Each ping has a hard delay of 10 seconds and the statistics will be erased from your server's VPS after 30 seconds. By default, players cannot use @ping <player_name>. If you want to allow lower GMs to use the latter command, you must give them the @ping2 atcommand permission ("ping2: true" in groups.conf).

Script methods
The following script methods are shortcuts to simplify your custom scripts.
 
getcharmac({<account ID>/<character ID>/<character name>})
usage: getcharmac();
usage: getcharmac("test_player");

If no argument is specified, the currently attached player's RID will be used to retrieve the MAC address.
 
gethardwareid(<type> {,<account ID>/<character ID>/<character name>})
usage: .@id$ = gethardwareid(0);
usage: .@id$ = gethardwareid(4, "test_player");
Type 0 – MAC address
Type 1 – CPU ID
Type 2 – Disk drive ID
Type 3 – Motherboard ID
Type 4 – Unique ID (combines types 1-2-3)

This command retrieves the hardware information from a player.

 

Credits

Conflicts - Project manager, started this whole project and gathered the team. Helped test the features thoroughly. Kept pushing for more features, and will keep doing that for the foreseeable future.

Nanakiwurtz - Ported the source code for both rAthena and rAmod, scripted the sample scripts as well as general testing of the features.  She will be taking care of your protection component customization requests.

Tokeiburu -Responsible for the tools used for the generation of the game guard files. He's being humble though, to put it simply, RagnaShield wouldn't have been possible without him.

 

 

Updates:

Version 1.0.1

  • Added shared encryption key.
  • Added GRF file hashing.
  • The RagnaShield logo on startup now closes once the client's main window shows up.

Version 1.0.4

  • Fixed packet conflicts between RagnaShield and the packet obfuscation feature.
    This error would show up in your emulator's map-server console as "unsupported packet : 22 or 26 in length".
  • Updated startup logo.
  • Other minor bug fixes.
  • Improved RagnaShield's CPU usage down to almost 0%. The usage was already pretty low, except now it uses Windows' events to detect new process creation.
    This means it no longer needs to scan your process list at every specific interval of time.
  • Fixed a bug regarding the third-party protection blocking false-positive process.
  • Hidden processes are now detected.
Version 1.0.7
  • Fixed a bug regarding the GRF hashing process; this bug would crash your exe without any warning.
  • The third-party protection module for Windows XP was unable to launch properly, this has been fixed.
  • Improved overall customization :
    • clientinfo.xml is no longer hidden within the game guard. To edit the content, you must open RagnaShield\RagnaShield.xml, then it's just like a regular clientinfo.xml. This was changed to allow admins to add more GM accounts without us having to rebuild your client files. You will notice that the IP fields are protected as well the port fields (so the security is still the same as before). The allowed IP tags are "#PRIMARY", "#FILTERED" and "#LOCALHOST". The last one allows you to test your server on a local network.
    • DATA.INI is no longer embedded within the client. You can edit the content and add as many custom GRFs as you want. The first two entries are reserved for RagnaShield
    • The data folder can be read safely without having an impact on our protected sprites (job sprites). This blocks no-delay skills while allowing you to test custom changes.
  • Common errors are now displayed in a more friendly manner (replaced some of the 0xF#####87 errors).
  • Introducing a new file signature protection. This fully blocks any unauthorized processes from being executed at the same time as your client.

Version 1.0.8

  • Added file version to the game guard to track down further issues.
  • Added a custom crash report to help track down further issues and which will quite possibly help you solve other issues. The file is stored in ClientCrash.log
  • Huge update on RagnaShield's third-party protection. It is planned to be improved, but newer cheat softwares should have a harder time to work.
  • WMI errors will now show up in hexadecimal, this will be easier to track them down as well.
  • Pressing Ctrl-Del ingame will crash the client and generate a crash log on purpose.
  • Security upgrade regarding macro'ing softwares.
  • Updated third-party definitions and rules.
  • Upvote 5
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  91
  • Topics Per Day:  0.02
  • Content Count:  325
  • Reputation:   34
  • Joined:  06/01/13
  • Last Seen:  

Nice features u got there , just a question ,is it compulsary that i should buy a ragnahosting service to get this

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  317
  • Reputation:   63
  • Joined:  11/13/11
  • Last Seen:  

Nice features u got there , just a question ,is it compulsary that i should buy a ragnahosting service to get this

 

For now yes. Even our cheapest $9.95 plan will have RagnaShield pre-installed.

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  41
  • Topics Per Day:  0.01
  • Content Count:  164
  • Reputation:   16
  • Joined:  03/15/12
  • Last Seen:  

Sounds promising :3 keep it up.

Link to comment
Share on other sites

  • 2 weeks later...

  • Group:  Members
  • Topic Count:  318
  • Topics Per Day:  0.07
  • Content Count:  931
  • Reputation:   13
  • Joined:  12/20/11
  • Last Seen:  

Just a question, What if RagnaShield is currently Installed and implemented to a server, then the server owner want's to change it's gameguard. Can It change it without letting the players re download the whole lite or full client again?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  317
  • Reputation:   63
  • Joined:  11/13/11
  • Last Seen:  

Just a question, What if RagnaShield is currently Installed and implemented to a server, then the server owner want's to change it's gameguard. Can It change it without letting the players re download the whole lite or full client again?

 

We've made sure RagnaShield wont be too restrictive, in fact, you wont even need to re-build your client.

 

Just change the setting ragnaban.enable: yes to ragnaban.enable: no on /conf/ragnashield.conf and it should be fine server-side.

For the client-side, it's just a matter of replacing the custom cps.dll (and other components) we provided, and that's it.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  318
  • Topics Per Day:  0.07
  • Content Count:  931
  • Reputation:   13
  • Joined:  12/20/11
  • Last Seen:  

Thank you. 

 

Got another question, Is it possible to use this ragnashield at the same time using also another gameguard? for example ragnashield+hashield or harmony?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  68
  • Topics Per Day:  0.02
  • Content Count:  212
  • Reputation:   5
  • Joined:  01/24/12
  • Last Seen:  

Awesome any updates? 

Link to comment
Share on other sites

  • 3 months later...

  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  317
  • Reputation:   63
  • Joined:  11/13/11
  • Last Seen:  

Hello. We haven't been quite active in documenting our changes and updates, but RagnaShield is in constant development. Here's a list of changes from 1.0.0 to 1.0.8;

 

Version 1.0.1

  • Added shared encryption key.
  • Added GRF file hashing.
  • The RagnaShield logo on startup now closes once the client's main window shows up.

Version 1.0.4

  • Fixed packet conflicts between RagnaShield and the packet obfuscation feature.
    This error would show up in your emulator's map-server console as "unsupported packet : 22 or 26 in length".
  • Updated startup logo.
  • Other minor bug fixes.
  • Improved RagnaShield's CPU usage down to almost 0%. The usage was already pretty low, except now it uses Windows' events to detect new process creation.
    This means it no longer needs to scan your process list at every specific interval of time.
  • Fixed a bug regarding the third-party protection blocking false-positive process.
  • Hidden processes are now detected.
Version 1.0.7
  • Fixed a bug regarding the GRF hashing process; this bug would crash your exe without any warning.
  • The third-party protection module for Windows XP was unable to launch properly, this has been fixed.
  • Improved overall customization :
    • clientinfo.xml is no longer hidden within the game guard. To edit the content, you must open RagnaShield\RagnaShield.xml, then it's just like a regular clientinfo.xml. This was changed to allow admins to add more GM accounts without us having to rebuild your client files. You will notice that the IP fields are protected as well the port fields (so the security is still the same as before). The allowed IP tags are "#PRIMARY", "#FILTERED" and "#LOCALHOST". The last one allows you to test your server on a local network.
    • DATA.INI is no longer embedded within the client. You can edit the content and add as many custom GRFs as you want. The first two entries are reserved for RagnaShield
    • The data folder can be read safely without having an impact on our protected sprites (job sprites). This blocks no-delay skills while allowing you to test custom changes.
  • Common errors are now displayed in a more friendly manner (replaced some of the 0xF#####87 errors).
  • Introducing a new file signature protection. This fully blocks any unauthorized processes from being executed at the same time as your client.

Version 1.0.8

  • Added file version to the game guard to track down further issues.
  • Added a custom crash report to help track down further issues and which will quite possibly help you solve other issues. The file is stored in ClientCrash.log
  • Huge update on RagnaShield's third-party protection. It is planned to be improved, but newer cheat softwares should have a harder time to work.
  • WMI errors will now show up in hexadecimal, this will be easier to track them down as well.
  • Pressing Ctrl-Del ingame will crash the client and generate a crash log on purpose.
  • Security upgrade regarding macro'ing softwares.
  • Updated third-party definitions and rules.
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  7
  • Reputation:   0
  • Joined:  08/15/14
  • Last Seen:  

support for eAmod pls :)

Link to comment
Share on other sites

  • 9 months later...

  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  14
  • Reputation:   0
  • Joined:  04/04/16
  • Last Seen:  

Please Be active again after your CPA exam, or release this work for free ^_^

Link to comment
Share on other sites

  • 4 weeks later...

  • Group:  Members
  • Topic Count:  19
  • Topics Per Day:  0.01
  • Content Count:  193
  • Reputation:   41
  • Joined:  07/21/16
  • Last Seen:  

Discontinued I think.

Link to comment
Share on other sites

  • 2 months later...

  • Group:  Members
  • Topic Count:  8
  • Topics Per Day:  0.00
  • Content Count:  31
  • Reputation:   0
  • Joined:  08/07/16
  • Last Seen:  

Website is offline right now. Can anyone tell me if it's temporary?

Edited by SoninBlenem
Link to comment
Share on other sites

  • 3 months later...

  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.01
  • Content Count:  71
  • Reputation:   0
  • Joined:  05/13/16
  • Last Seen:  

Hi conflict,

I'm one of your new clients. Currently, it seems my edited files for the grf is now working the way it should work. I edit the item description and put it back to the grf file. however, it does not appear on the game but it does on the file. How do I edit or configure my Ragnashield? It seems that the ragnashield is encrypted by default. Thanks!

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  171
  • Reputation:   15
  • Joined:  01/26/12
  • Last Seen:  

The gif ragnashield provides are no encrypted

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.01
  • Content Count:  71
  • Reputation:   0
  • Joined:  05/13/16
  • Last Seen:  

1 hour ago, sikiro said:

The gif ragnashield provides are no encrypted

So, how do I edit my grf then? I already edit it and setup my itemdesctable.txt but the description on the game is still the same. It seems that nothing has changed. But when I look up at my itemdesctable.txt, the items are already edited. Can you help me with this?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  171
  • Reputation:   15
  • Joined:  01/26/12
  • Last Seen:  

the client defaults to iteminfo.lua/lub i dont think it connects to itemdesctable anymore. it always will prioritize iteminfo

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.01
  • Content Count:  71
  • Reputation:   0
  • Joined:  05/13/16
  • Last Seen:  

6 minutes ago, sikiro said:

the client defaults to iteminfo.lua/lub i dont think it connects to itemdesctable anymore. it always will prioritize iteminfo

I checked my grf and it seems that it does not have iteminfo.lua or lub. can you provide me the exact location? I've tried searching mine.

 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  171
  • Reputation:   15
  • Joined:  01/26/12
  • Last Seen:  

please refer to the guides provided by rAthena 

 

https://github.com/rathena/rathena/wiki/Custom_Items

 

the location is not inside the GRF but system/iteminfo.lua/lub

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.01
  • Content Count:  71
  • Reputation:   0
  • Joined:  05/13/16
  • Last Seen:  

6 minutes ago, sikiro said:

please refer to the guides provided by rAthena 

 

https://github.com/rathena/rathena/wiki/Custom_Items

 

the location is not inside the GRF but system/iteminfo.lua/lub

Thanks! I'll try editing here. It seems like this is a new client way of updating... I did read that before but only before the "Defining Items Clientside (For New Clients)". 

hope this works. Thanks sir!

Edited by geoffreypogi
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.01
  • Content Count:  71
  • Reputation:   0
  • Joined:  05/13/16
  • Last Seen:  

54 minutes ago, sikiro said:

please refer to the guides provided by rAthena 

 

https://github.com/rathena/rathena/wiki/Custom_Items

 

the location is not inside the GRF but system/iteminfo.lua/lub

Thx Sikiro, it do the trick. 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  3
  • Reputation:   0
  • Joined:  12/11/16
  • Last Seen:  

still alive? the site return:

404

Not Found

The resource requested could not be found on this server!

Link to comment
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.   Paste as plain text instead

  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.

×
×
  • Create New...