Leaderboard
Popular Content
Showing content with the highest reputation since 05/13/24 in all areas
-
3 points
Auto Combat: Inspired by ROM:EL
fTakano and 2 others reacted to jasonch for a post in a topic
Hi, so, I've seen a lot of servers using auto attack, I noticed a consistent issue: poor user experience and Walk AI is horrible. Both of which triggered me to develop a new one for Hercules which hopefully have more intuitive experience for players (and server owners 😁). Almost half of the code are plugin, so minimal code in main Hercules is touched. Please note that bugs are yet to be discovered. I can fix asap when reported. Here are few features: Monster Selection: Automatically detect monsters based on the current map. Configurable Potion and Buff Item Selection: Server owners can customize which potions and buffs items players are allowed to use. Human-Like Movement AI: Intelligent and natural movement, unlike the aimless wandering typical of other systems. Extensive Customization for Server Owners: Allows server administrators to configure settings to fit the unique needs of their server. Player-Friendly UI/UX: Hassle-free setup and adjustments. Easy Server Configuration: Loot Config: Do not loot at all - good for server that has @autoloot or @alootid Default config - character walk up to the loot, and loot normally Auto loot to inventory - servers that DONT have @autoloot nor @alootid but want autoloot for Auto Combat Duration Config: 24/7 - Auto combat can be used all the time Per character - duration is based on character variable Account wide - duration is based on account variable Per Gepard Unique ID - not implemented, extra modules required. pls pm me if you want this Rental Item - duration is based on item expiration date. Not Supported: 3rd Job Skills - but can be easily added Very old revision of Hercules To do / To improve: Offensive Debuffs - do you guys need this? Price: 200 150 USD. Additional charges for custom features. Thank you testers! If you guys are interested, please add me in discord: jasonch35 Teaser Videos: -
2 points
Client New Emotion System and UI Handler
kyeme and one other reacted to AcidMarco for a post in a topic
View File Client New Emotion System and UI Handler The plugin adds full support for the new emotion system introduced in RO clients from ~2023-08-02 onward. It handles emotion playback packets, supports in-game emotion pack purchasing, and reads a configurable emotion pack database. Compatible with the latest version of Hercules Successfully built on Windows (MSVC) and Debian 12 (GCC) Thoroughly tested with client version: 2025-03-05 The plugin provides the following features 1. Handling of new emotion playback packets 2. Management and parsing of the emotion pack database 3. Functions for purchasing emotion packs in-game Setup 1. Set PACKETVER >= 20230802 in /src/common/mmo.h (make sure your client version supports the new emotion system) 2. Place emotion_pack_db.conf in your /db/ folder Optional Modify UI_CURRENCY_ID in the plugin. To change UI_CURRENCY_ID client-side, apply the HEX patch. Included in this post ns_client_emote_ui_handler.c — server plugin (HPM) emotion_pack_db.conf — emotion pack definitions Client-side files (LUB/UI/HEX patch) Client UI files, hex patch, and additional resources are available in the public repository: 🔗 https://github.com/AcidMarco/ro-releases Submitter AcidMarco Submitted 05/07/25 Category Plugins -
2 pointsHi everyone, it's been a long time since I visited the herc.ws forum, I had thought about making a simpler control panel, I hope there are those here who want to contribute to the control panel that I made, if anyone is interested, please send a message directly. Here is the display, suggestions and input from all of you are very important for the development of this control panel. see you soon
-
2 points
-
2 points
-
2 points
-
1 pointhttps://github.com/bgamez23/brynner-clientside/blob/master/Clients/RagexeRE/2010/2010-06-22aRagexeRE.rar
-
1 pointPack v2022: Current Version: 27 December 2021 Update 2023-10-01 - latest versions can be found there: https://discord.gg/p2kvabm https://ragnarokservice.top/ Download Links (~4.5GB): Download from Mirror #1 or Download from Mirror #2 or Download from Mirror #3 Important: Please make someone mirror these files. Or make a donation to me and I will make a mirror by myself. What is that? This is a newbie package that contains 1 click solution for launching Hercules emulator with a single click. This package only for education. Do not use this package anywhere in production. This package good demonstration of how everything should be configured by yourself to make it work. We can find here a good guide on how to configure everything by yourself: http://herc.ws/board/topic/16521-how-to-setup-offline-server-for-personal-development-use/ What inside the package? You have 7 folders: 01_emulator = here emulators (pre-compiled and pre-configured) for RENEWAL or classic PRERE mechanics 02_client_side = here is your client-side what need to copy-paste to your clean kRO client 03_openserver = here is Open Server (MySQL server where stored your game database and which required by the emulator) 04_useful_tools = here are different useful tools that you usually will need when will work with the emulator or databases 05_misc_repos = here are repositories from which it has built the client-side, and exe patched. 06_cmder = this is a tool will be good for you to update the emulator to the latest version (and other files in misc_repos) 07_clean_kRO_client = this is a clean kRO client (2018 somewhere in march updated), need for you to run your own RO copy. How to use all of this? extract files inside 01_emulator, 02_client_side, 03_openserver, 07_clean_kRO_client Now, what emulator version do you need? Latest (current official servers) (renewal mechanic (suras, dorams, etc classes)) or classic PRE-re (champion, high wizard, high priest)? Now if for example, you use PRERE mechanic (where is high wizard class, paladin, lord knights, and no 3rd classes) your steps are next: a.) go to 02_client_side\FOR_PRERE_EMULATOR\ b.) select all files in this folder (FOR_PRERE_EMULATOR) and copy (CTLR+C) c.) now go to 07_clean_kRO_client/clean_kRO_client/ folder and copy files here (overwrite if windows explorer will ask to do that). d.) now you need to run OpenServer (it's a server that stores all your player's data inside the database, required by the emulator) and run it. e.) Click on Red Flag -> Run the server, make sure in your tray you got Green Flag. f.) Now go to 01_emulator\hercules_PRERE\ and run: run-server.bat g.) Now go to your 07_clean_kRO_client/clean_kRO_client/ and run: 2018-04-18bRagexeRE_patched.exe Your emulator, your database, and the client are running. Now you can try to login into the game. About Accounts: How to make a GM account or how to access the database? For that, you need to click on Green Flag -> Advanced -> PHPMYADMIN In the login field of PHPMyAdmin enter: "root", in the password field enter nothing. (no password) Press enter or login, and you will be in the database. Databases well structured, so mostly always you need not edit too much there. How to make a GM account? You opened PHPMYADMIN. Now select your database, and find in this database table called: "login" Open this table, and find your account name, and you will see column "group_id". Edit number in this column (group_id) to 99. 0-99 = your GM level. 99 = super admin with all privilegies, 0 = simple player with no privieleges. Okay, everything working for me, what can I do next? My short answer: http://herc.ws/board/ Read all topics, read different guides, read info about NPCs Read info how to add NPCs, how to enable them, how to disable them Read /doc/ folder files inside your emulator folder Read wiki pages: https://herc.ws/wiki/Main_Page Do experiments and do not afraid to destroy everything or remove them. Just do mistakes and errors, it's how people learning something new, through mistakes. DO not afraid to do a lot of mistakes and ask questions. People will help you if you will try to help yourself first and will make good questions with some research before posting messages. What tools can I use for making everything much easier for me? Tools that you MUST have: - Grf Editor - Server Database Editor - VSCode / Notepad++ / Sublime Text / Atom (any of these editors and select always C syntax highlight for opened files) I want to play with my friends on my server The solution that you will find by the link below is a terrible solution. But usable for a small group of people who for education only want to launch their server ONLINE (for others). This is SUPER bad, and never do that, (it's weird, after the only time you will understand why). But if you still asking here is the link: https://gist.github.com/anacondaq/3eae8e4afb5d3c3880d08b95b2c54b78 =============================================== I want make a donation as a gesture of goodwill: =============================================== Ask administrators here: http://herc.ws/board/ If they accept donations or not, I found no donation link. Optionally you can always support the next guys: 4144 for massive help to the current RO scene at all by his hard work. AnnieRuru for a lot of scripts, helping newbies on the forums http://herc.ws/board/staff/ - all these guys zackdreaver for a lot of efforts on a translation project and to all guys, scripters, mappers, etc players who spend their time, their efforts just for you to make everything free what you see here. Sorry if I didn’t mention someone. I need help with <something> There are a lot of talented developers, software developers, scripters, mappers, spriters, and many other people in this community. Check the link: https://herc.ws/board/forum/49-paid-services/ Also, I accept all questions related to the basic newbie stuff on the topic. Do not hesitate to ask even super stupid questions. But before asking something, try to do a very simple thing: Open google, in the search bar enter: "site:herc.ws" Then write your question or problem Hit enter and check all links that you see, maybe someone already solved your problem earlier. Alternatively: if you will not be annoying, and will be respectful, I can help with some newbie stuff in the discord channel about the package: https://discord.gg/p2kvabm Changelog: - 2021-04-10 - build from scratch new version with everything new (2020 game client, latest translation, fixed bugs, tons of features and improvements) - 20200419 - upgraded emulators, fixed problems with emulators, SQL files, and so on, upgraded full kRO, tools, misc Repos, client-files not touched. Added Discord channel for newbies support. - 20200307 - updated emulator, recompiled, uploaded to google drive. Client or db-server files not changed. - 20200203 - updated emulator, rest files not touched, if you want to upgrade your emulator, just download the 01_emulator.rar folder, and use it instead of your old one. I'm Ukrainian in Ukraine. Russia has begun a war against my country, and doing right now is genocide. Destroying cities, even mine own, killing thousands of people, civil people, burning to the ground cities. If you wish to support me in this challenging time (I will try to re-route part of this money to people I know to help them under these awful conditions). You can donate personally for me for my needs by the link: https://nowpayments.io/donation/anacondaq (crypto). Alternatively, you can send money to help Ukraine citizens to the official fond https://www.comebackalive.in.ua/ or to: https://help.gov.ua/
-
1 pointAfter a long time dealing with personal stuff, i'm back on spriting. OBS¹: My sprites/effects/images will never have the same style because i get it from a lot of sources. OBS²: Please don't ask for raw images/sprites, and i'll not teach how to get/do it.
-
1 point
[Guide] Create your server & Client (2016/08)
DejaVud reacted to Monsieur Panda for a post in a topic
Hello, For some reason, I decided to write my own guide for super newbie people. And when I say newbie, I say REAL newbie. I will not ask you to learn anything or saying rude things like "go google ffs". I believe people that want to create their server are not necessary interested being a linux master or whatever. Never people are saying that before leaning guitar, people should learn how string and guitar are made. Enough talk, lets start ! Prerequisites Patience, meticulousness, cogitation kRO full client: Mirror #1 (mediafire), Mirror #2 (Direct Link from my ftp) kRO last actual compatible exe: Mirror #1 (mega.nz), Mirror #2 (Direct Link from my ftp) Setup exe: Download (Page), Mirror #1 (Direct Link from my ftp) N.E.M.O. Diff Patcher Download (git) BGM parameter files. Download (Direct Link herc.ws), Mirror #1 (Direct Link from my ftp) Translation Package. Download (git) Putty: Download (Page) If Putty does not work, use Kitty Download (Page) 1~2 hours of your time Things you should know: You cannot see password in Putty / Kitty when you type it. nano is a text editor. At the bottom of the screen you can see a menu. To use it, press CTRL + the option's letter You cannot use numeric pad in nano Being polite is always rewarding I. Dedicated server A. Get your server You can find very cheap solution at Kimsufi. Choose anything you want. I recommend you to choose Debian 8 (Jessie) for your OS. In Kimsufi manager, you will find your server IP. You have your login (root) and password in an email after installing the OS B. Configure your server Start Putty and enter server's IP address Connect with root then type the password you got by email. (You wont see " * " when you type) To change your password enter the following line passwd Install required package by enter this (copy this and paste it with a right-click): apt-get install git make gcc mysql-server libmysqlclient-dev zlib1g-dev libpcre3-dev screen The following is meant to make a web server. Even if you don't plan to make a website, I suggest you to take it, just because phpmyadmin is easy to use. While installing phpmyadmin, select apache2. apt-get install apache2 apt-get install php5 php5-cli libapache2-mod-php5 php5-mysql apt-get install phpmyadmin ln -s /usr/share/phpmyadmin /var/www/html/ Because hercules doesn't work if you use root login, we will create a new user. useradd ragnarok passwd ragnarok [choose_a_password] Connect to phpmyadmin and login with the information you chose at this address: http://your_server_ip/phpmyadmin Create a new database ragnarok and choose utf8_unicode_ci as collation Create another database and name it ragnarok_log with same collation Click on the tab Users (top of the page), Add User and fill the form. Username: ragnarok, password: [choose_a_assword], Click on Check All in the privilege group. (or if you know what are you doing, select options you need) Now you can log out from your server in Putty logout C. Install Hercules Login again in Kitty with the new user ragnarok Download Hercules emulator git clone https://github.com/HerculesWS/Hercules.git ~/Hercules We will need to reach the database installation folder: cd Hercules/sql-files/ We will now import tables in the database. You will have to write your mysql password each time (set in step B.4). mysql -u ragnarok -p ragnarok < main.sql mysql -u ragnarok -p ragnarok_log < logs.sql mysql -u ragnarok -p ragnarok < item_db2.sql mysql -u ragnarok -p ragnarok < mob_db2.sql mysql -u ragnarok -p ragnarok < mob_skill_db2.sql if you want to make a PRE-RENEWAL server, enter also this mysql -u ragnarok -p ragnarok < item_db.sql mysql -u ragnarok -p ragnarok < mob_db.sql mysql -u ragnarok -p ragnarok < mob_skill_db.sql If you want to make a RENEWAL server: mysql -u ragnarok -p ragnarok < item_db_re.sql mysql -u ragnarok -p ragnarok < mob_db_re.sql mysql -u ragnarok -p ragnarok < mob_skill_db_re.sql D. Configure hercules It is required to set up a server login and password for char-server, map-server and the login database. It can be done by editing few files and the table login. Start by editing conf/inter-server.conf. cd ../ nano conf/inter-server.conf Find the line sql.db_username and fill it with the user and password we created in step B.10. fill also the database name with ragnarok As the same time, you will need to edit conf/import/inter_conf.txt. nano conf/import/inter_conf.txt sql.db_username: ragnarok sql.db_password: your_sql_password sql.db_database: ragnarok log_db_id: ragnarok log_db_pw: your_sql_password log_db_db: ragnarok_log now edit conf/import/char_conf.txt and fill it with this following text nano conf/import/char_conf.txt // Server Communication username and password. userid: [new user] passwd: [new password] Do the same to conf/import/map_conf.txt with the same userid and passwd. nano conf/import/map_conf.txt // Server Communication username and password. userid: [new user] passwd: [new password] You will need to update the login table from ragnarok database. Connect again to your phpmyadmin (I.B.7) Find the table login and edit the only row available. userid must have the same value as [new user] user_pass must have the same value as [new password] char-server.conf nano conf/char-server.conf server_name: [your_server_name] wisp_server_name: Admin For some reason, you must reboot your server. reboot Close the Terminal and connect again after a minute. Now you will need to work on your server ports iptables -I INPUT 1 -p tcp --dport 6900 -j ACCEPT iptables -I INPUT 1 -p tcp --dport 5121 -j ACCEPT iptables -I INPUT 1 -p tcp --dport 6121 -j ACCEPT iptables save We are done with the server for now. You can log out if you want. Lets prepare our client! II. Create the Client A. Organization Extract the full client in C:\ro_client\RO\ and launch update with rsu-kro-renewal-lite.exe or rsu-kro-rag-lite.exe if you set a pre-re server. Extract the Ragexe.exe in C:\ro_client\fresh\ Extract data and System folders from the translation Package in C:\ro_client\fresh\ Extract the opensetup.exe in C:\ro_client\fresh\ Extract Mssfast.m3d and Mp3dec.asi from BGM.zip in C:\ro_client\fresh\ Extract N.E.M.O. content in C:\ro_client\NEMO\ Once Step 1 is DONE: Copy All *.dll and *.INI files from C:\ro_client\RO\ to C:\ro_client\fresh\ Copy BGM and savedata folders from C:\ro_client\RO\ to C:\ro_client\fresh\ Copy rdata.grf and data.grf files from C:\ro_client\RO\ to C:\ro_client\fresh\ B. Configure the Client Launch N.E.M.O. and load 2015-05-13aRagexe.exe Hit "Select Recommended" Confirm DATA.INI Rename iteminfo.lub to iteminfo_n.lub Now search "Read Data Folder First" and check it Hit "Apply Selected" and you will have a new 2015-05-13aRagexe_patched.exe file. You should "Save Profile" now, because you will probably want to edit again your client later C. Add the translation Rename C:\ro_client\fresh\System\itemInfo.lub to iteminfo_n.lub You might need to rename C:\ro_client\fresh\data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\ folder to 유저인터페이스 later, but for now, just skip this step (not sure if you encounter this problem). Open C:\ro_client\fresh\data\clientinfo.xml with a text editor (I recommend Notepad++) Update the address with your server IP <address>[ip_address]</address> Done with the translation. Now we will say to the server, which client players are using. III. Finish Server configuration A. Compile the server Launch Putty again and login to your server. We will compile Hercules. It will take time so be patient. cd ./Hercules ./configure --enable-packetver=20150513 make clean make sql once it is done, you can verify if the version has been properly set. nano src/common/mmo.h Find following lines #ifndef PACKETVER #define PACKETVER Change #define PACKETVER to #define PACKETVER 20150513 if not done yet. If you did change something in mmo.h, you need to recompile again. Process again the step III.A.1 B. Start the server To start the server, you simply need the following line (while being in Hercules folder) ./athena-start start IV. Player Side A. Create a Game Master Account Go to your phpmyadmin (step I.B.7) and find again the login table. Hit the Insert tab userid: [login_nickname] user_pass: [login_pass] group_id: 99 gender: M or F You have now your Game Master Account B. Play Launch C:\ro_client\fresh\2015-05-13aRagexe_patched.exe Login with your newly created game master account Process thru in game. type @go 0 Be happy. V. Customize A. Back to the N.E.M.O. This Diff patcher is really cool, be aware of that. You can now edit again your client. repeat the step II.B.1 Hit "Load Profile" and choose the previous file you created in step II.B.7 Check the list and hit option you want. repeat step II.B.6 and 7 B. Options & Fix Remove the Pin Secure Code Be sure to always be in Hercules folder ( cd ./Hercules) ./athena-start stop nano conf/import/char_conf.txt add this line: pincode_enabled: 0 process to step III.A.1 To edit clientinfo.xml, I suggest you to check the wiki page if you can't see in game button Rename C:\ro_client\fresh\data\texture\À¯ÀúÀÎÅÍÆäÀ̽º to 유저인터페이스 Get Unbollox: Download (Download Page), Mirror #1 (Direct Link from my ftp) In unbollox, select the texture folder and click on À¯ÀúÀÎÅÍÆäÀ̽º Changing starting point nano conf/import/char_conf.txt add start_point_re: prt_fild08,170,365 Changing starting items nano conf/import/char_conf.txt add start_items: 2393,1,0,5055,1,0,569,20,1 Changin starting Zeny nano conf/import/char_conf.txt add start_zeny: 5,000 == More options to come, just reply to this topic if you can't find how to do what == C. Adding Custom Content NPC Add your script in npc/custom/your_script_name.txt Edit npc/script_custom.conf and add the following line: npc: npc/custom/your_script_name.txt ITEM Read the wiki about custom item (Link) System/iteminfo_n.lub [<item id>] = { unidentifiedDisplayName = "My custom Item", // Or "Accessory" or "Headgear" if it is an equipment unidentifiedResourceName = "my_custom_item", //This will set the sprite you will use (ex: my_custom_item.spr / actmy_custom_item.act) unidentifiedDescriptionName = { "Unknown Item, can be identified by using a ^6666CCMagnifier^000000." }, //Or basically juste { }, if it is not an equipment. identifiedDisplayName = "My custom Item", identifiedResourceName = "my_custom_item", identifiedDescriptionName = { "Bleh this item is a custom item.", "Bleh this is a second line" }, // Description of your item. slotCount = 0, ClassNum = 0 // Read the wiki page for the list. }, Sprites. Drop item sprite (also the same as click and drag) must be in: data/sprite/¾ÆÀÌÅÛ/my_custom_item.spr / my_custom_item.act Inventory texture (24x24 size 256 bit bmp) must be in: data/texture/À¯ÀúÀÎÅÍÆäÀ̽º/item/my_custom_item.bmp Headgears: Copy the headgear in: data\sprite\¾Ç¼¼»ç¸®\¿©\¿©_my_custom_item.spr / ¿©_Helmet.act for Female data\sprite\¾Ç¼¼»ç¸®\³²\³²_my_custom_item.spr / ³²_Helmet.act for Male Collection picture (75x100 256 bit bmp) must be in: data/sprite/¾ÆÀÌÅÛ/collection/my_custom_item.bmp MAP Cient side Your map file name and ID cannot be longer than 13 caracters. my_map.gat, my_map.gnd, my_map.rsw, my_map.extra must be in data/ folder (inside grf) Additional textures (bmp) must be in data/texture/À¯ÀúÀÎÅÍÆäÀ̽º/map/ BGM must be in BGM/ folder. Add the bgm in data/mp3nametable.txt (ex: my_map.rsw#bgm\\44.mp3#) Add following lines to data/resnametable.txt my_map.gnd#my_map.gnd# my_map.gat#my_map.gat# my_map.rsw#my_map.rsw# Add this line to data/mapnametable.txt my_map.rsw#Title of my Map# Server Side Add the following line to db/map_index.txt my_map Add the following line to conf/maps.conf map: my_map Cache Create a map.grf and include a folder data/. Add inside your map files (gat, rsw, gnd, extra) Create a folder grf/ in your server root (Hercules/) and upload map.grf inside grf/ folder. Connect via ssh (putty) to your server and log in. Stop your server ./athena-start stop Edit conf/grf-files.txt nano conf/grf-files.txt Add the following line, save and close. grf: grf/map.grf Do the following command ./mapcache start your serveur ./athena-start start -
1 point
Version 1.0.0
338 downloads
Hi i have been working on many ragnarok stuff lately and am going to release what ive completed, its theme is north american horror, although the mapping is 100% complete for 7/8 maps the warps, and gat are not Tons of models that wont break your game but feel free to ask if you have an issue with gravity errors Also included a bunch of monsters I made and edited Some textures here are real life images , so please dont zoom in on weird things and do weird stuff , not much of it is in here but dont be annoying thanks -
1 pointDrop the info man, this is not CIA.
-
1 pointGood afternoon brothers! I come to show you the 5 months of work I have done to remaster all the cards in the game up to Episode 2. There are a total of more than 1500 cards. I'm here to show you my work and if anyone wants to purchase them, I'll leave you my discord so we can talk about it. My discord: Eohar#9788 IN-GAME VIEW ALL CARDS EXAMPLES
-
1 pointThis is a new translation client project that Dastgir and Me want to share for Hercules only. What this Project contain? - itemInfo.lua with iro/kro translation. - Some lua that contain last translation found on the board or made by us. - Last accessoryid.lub / accname.lub / jobname.lub / NPCIdentity.lub decompiled. - Texture Buttons translate. - msgstringtable.txt fully translate. - Txt files translate (questid2display.txt, mapnametable.txt etc...) - Up-To-Date itemInfo and other files required to run a basic Translated client. You can help us by opening PR, or just pm Dastgir to get access to the repo... What Client is compatible? - Client compatible until 2016. Link:
-
1 point
Version 1.0.0
78 downloads
A small mod that allows you to display a custom icon and a title referring to the element and element level of the mob. It can be disabled by changing it in monster.conf // Show Element Info [Hyroshima] // 0= Off, 1= On mob_ele_view: 1 I have an observation to inform, if any of the information related to show_mob_info is enabled the mod will behave as disabled. // Display some mob info next to their name? (Note 3) // (does not works on guardian or Emperium) // 1: Display mob HP (Hp/MaxHp format) // 2: Display mob HP (Percent of full life format) // 4: Display mob's level show_mob_info: 0 The video quality is not very good (sorry), watch the preview video in fullscreen 😅 -
1 pointHi everyone! In the last few years I have been continuing the development of roBrowser. I implemented many features and effects and also searched the internet for every roBrowser fork and tried to merge and finish every development that was made outside of the main repo. The client became pretty playable compared to other versions, but there is much to be done and I am short handed on people. Some awesome guys already joined and implemented/working on much needed stuff, but there is more required. I am writing to gain some attention and perhaps someone could help us in getting the client in shape. If you are not interested in development, but you can help us in acquiring information about assets/layouts/"how to do it", that would be also a huge help! I have to spend hours listening to effect sounds and watch animations and on top of all translate their names from korean/latin1 gibberish to get exactly what we need and it is a really tiring task. If you are interested in none of those, but you have roBrowser on your server (that is unfortunately pretty outdated now), check out our version and consider using it. Everyone can use this fork and anyone can join the effort. There is only one request I have: if you implement/fix something, don't forget to open a pull request, so everyone can benefit The repository is located here: https://github.com/MrAntares/Ragna.roBrowser And finally some screenshots that contain things we implemented/fixed, but keep in mind, everything is WIP and many things are still missing: - Pushcart and related GUIs and other features like Forging, Brewing, Arrow Crafting, Alt+M shortcuts, Weapon sounds, Critical and combo damage display, Taming, and many more - Status effects (coloring) - Map Effects - Hard coded skill and item effects and of course sounds - Sprite based effects - Minimap icons - Skillbar cooldown display (as of yet the old style, but the clock style is also in the barrel) It also works on mobile and we try to improve the experience by adding UI elements/features that support us in the handheld environment, like - Full screen button in the top left corner - Exit battle mode/ open chat on the bottom left side of the ChatBox
-
1 point
Weirdness with Novice Academy. Do I need a certain client version?
Cobbler5428 reacted to KirieZ for a post in a topic
For the map, you are correct, you need the old map files since RO changed the academy several times. I have uploaded the files here: For a clean hercules, you should use Academy 2012 and start 2015 (2018 also works ok). I noticed that RE map cache is wrong for iz_ac02, so until this gets merged: https://github.com/HerculesWS/Hercules/pull/3316 you have to update your map cache for iz_ac02 for it to work properly. About the combination kit, I think it is not implemented yet. -
1 point
All versions of Start Island and Criatura Academy (iz_ac01, int_land, iz_int)
Hidekitakase reacted to KirieZ for a file
Version 1.0.0
77 downloads
Since RO starting point in renewal changed several times, and finding those files are getting increasingly hard, I decided to group them all and release here. This only includes the original map files, no changes, no NPCs adjustments. When downloading, you will find 6 options, pick the ones that you need. Hercules is currently (as of v2024.08) using 2012 Academy and 2015 Start Point (or 2018 with wrong map cache?). Files: - academy_2012 -- Criatura Academy 2012 version. Corridors in both floors, everything linked together - academy_2015 -- Criatura Academy 2015 version. 2nd floor changed to have rooms separate from the corridor ("making it smaller") - academy_2017 -- Criatura Academy 2017 version. 1st floor changed to a big open area - start_2012 -- iz_int is a boat for players to leave to izlude (NPCs not included) - start_2015 -- iz_int is a sunken ship; int_land is a island linking the sunken ship to the new one. Players can walk over the ship. - start_2018 -- the ship at int_land is no longer walkable Usage: - Download the ones that you need, - extract it somewhere - copy the content of the data folder to your data folder or GRF - you may need to regenerate your map cache and adjust the NPCs if the map is not the one for your Hercules version -
1 point
What's best in storing items and not duplicating by mistake?
Louis T Steinhil reacted to KirieZ for a post in a topic
Yes, you are right about the cause. Your case seems to be causing a similar effect of a server crash, when it gets terminated in an abnormal situation. I am not sure if there is really something that can be done in this case... while you could create a script command to force saving the character data for this case, you would still have it open for others. I think the best option would be to: 1. When doing a production server normal shutdown, always do it properly. Kick all players (even better: do something to prevent them from logging back in) and wait some time (I think ~5 minutes would be more than enough). I think if map server is shut down separately first, it will send all data to char, but this is something that would need to be done manually 2. If there was a server crash, which could cause those dupes, you probably need to either review your logs of the last few minutes and check if actions are needed, or rollback to a recent backup if you think it would be safer -
1 point
Endless Tower w/ difficulty
Louis T Steinhil reacted to KirieZ for a post in a topic
Is that from rA? does areamonster there sets this variable? this does not happen in herc: https://github.com/HerculesWS/Hercules/blob/stable/doc/script_commands.txt#L695 Ah, the answer went up and I didn't saw it 😅 Glad you got it working -
1 point@tararais Thank you very much for all the tips. It will help me with a lot of things I haven't planned yet. I still have this project in my head, but I believe that I will soon try to put it into practice. I had already thought about exactly that. 🙂
-
1 pointIts been a while guys.. Herc still active?
-
1 pointYou also have "free" options: LibreTranslate - Github (I have used it, its surprisingly quick but lacks on understanding - deepl for instance understand a lot better the context) but is free Free G translate - github (I haven't personally used it - however people seem very happy with it) Also, as of today, you have options available like LLaMa3-70B or LLaMa3-8B (which is very cost-effective and easy to run). You could develop a plugin that set's a multi-lingual chatroom, you could structure the translation service using a series of microservices. This way, you can isolate the translation tasks from the main game processes, ensuring heavy translation loads dont impact performance, each microservice would handle a part of the translation process independenly, making the system highly scalable imo. instead of using traditional HTTP requests, which can slow down interactions, use WebSockets. a more stable connection between the player client and your translation server. you can also cache the most commonly used translations to retrieve them instantly reducing the need to process the same thing over and over again, you can easily handle interpretation for the variations with NLP (NLTK - is very good). After a while you'd have enough data to scale your system more efficiently
-
1 point
Hercules wiki migrated to a new platform
akbaremonz reacted to KirieZ for a post in a topic
Hello everyone, As you may already have seen from the 2024.03 release notes in GitHub ( https://github.com/HerculesWS/Hercules/releases/tag/v2024.03 ), Hercules' GitHub wiki has been moved to a new platform, powered by mkdocs and available at: https://docs.herc.ws/ This change aims to make the Hercules documentation generally better since the mkdocs-powered documentation does bring a better navigation, search capabilities and editing options. With that we can, hopefully, cover the gap that many have felt after we switched from MediaWiki to GitHub Wiki, while also providing some extras (like the ability to easily have a local copy). With the new mkdocs-powered document, we have: (compared to GH Wiki) - A bit more control over the sections, no longer a single side bar with everything - Extended markdown syntax for editing docs content - Better searching, as results are shown as you type - It is now possible to properly include image in the docs, without workarounds Contributions are highly appreciated and should be made through Pull Requests to the new hercules-docs repository ( https://github.com/HerculesWS/hercules-docs ). You may find general guidance on how to run the docs locally and edit it in the Editing the Docs page ( https://docs.herc.ws/contributing/editing-the-docs/ ) The content of the new repository was copied from the GitHub wiki (which was originally the MediaWiki content and had several contributions over the years), and reorganized into a few sections. Additionally, everything was converted to Markdown, so we should generally get an ok experience. The conversion of MediaWiki pages to Markdown was made through an automated tool (pandoc) so we should still expect some things to not be perfectly right, a few noticeable cases are: - Linking between pages are likely to be broken - Some syntax highlighting may not be in the most presentable format - Several images are still missing Fixing those will require manual work to replicate the images, update links, etc. Why not return to MediaWiki? This question has shown up a few times in our Discord, and I think it is worth linking to the topic when the move happened back then: TLDR; Maintaining MediaWiki together with IPB (our forum software) is complicated. Huge thanks to Haru for making this idea come true! Please let us know if you have questions, comments or suggestions for the new docs. -
1 point
High-Res DamageFont
Kiyoko reacted to raPalooza~ for a file
Version 1.0.0
1254 downloads
High-Res Damagefont Here is a new damage font i've cooked for you guys. Alot simpler than the other ones ive uploaded, wen't for a more minimalistic design. I've tried not to kill the pixelated vibe that we all love from the original one, but still improving its resolution. Was pretty happy with the result ;] Hope you all like it. CyA -
1 pointYes, the majority like the classic but we didn't forget the past majority is trying to revive the game by improving it over time. I am more impressed by the servers that trying to find a way to create REAL changes that have the potential to make RO even better. Coz obviously the majority are just doing it for money especially those who have the resources to do it. I really think that separates me from most of the RO I know, because I do it to have better RO and monetization is the least. (Of course it is subjective) Just too bad only a few can appreciate it for now. Or maybe my reach is not that enough. But someday I know it will be appreciated by many...
-
1 point
Mapcache for old Izlude.
some1 reacted to johnlincon for a post in a topic
I had a problem with that until I learned how to solve it. When I went to izlude's map, in some parts I couldn't walk, because the server was carrying the newest izlude mapcache (I believe), well I would like to share the old izlude mapcache that I generated, if you have a problem with that, just replace the file. \Hercules\maps\ pre-re izlude.mcache -
1 point
-
1 pointAs of Release v2018.03.13, the method to generate mapcache for Hercules has changed. A lot of people. myself included, were confused as to how it works. In this thread, I will do my best to explain the new way to generate your cache. This guide is intended to help people using the old system, not to aid new people (i.e. never generated mapcache before), so if you are new, some of it may seem like alien talk. Old (your source predates [is older than] Feb 18, 2018) In the old system, there were two ways to generate mapcache You could run the mapcache executable in Hercules root folder. Or use a program such as WeeMapCache to edit in your required mapcache. These two methods would generate or alter your required mapcache located in db/[pre-re or re]/map_cache.dat. However, they are no longer supported. New (your source is using Release v2018.03.13 or newer) The new system involves the use of the new 'mapcache' plugin to generate files. Some quick points: db/[pre-re or re]/map_cache.dat has been dropped (no longer supported). In its place are individual .mcache files for every map located in maps/[pre-re or re]/ Mapcache executable has been removed. Replaced with the mapcache plugin (src/plugins/mapcache.c). How to generate the mapcache? Same as before, check conf/map/maps.conf and db/map_index.txt have all the maps you want to cache. Your maps need to exist somewhere in your repository! There are two ways for the plugin to find them: a. Place all your maps, including resnametable.txt, inside the data folder of your Hercules repo. I.e. Hercules/data/prontera.gat/gnd/gnd/rsw (note: I forget if all three files are needed). b. OR Configure your conf/grf-files.txt to tell it where to find your GRF(s) which contains your maps. Build the mapcache plugin. On linux, this can be done by running the following command: make plugin.mapcache If using MSVC, compile as you would any other plugin. Execute plugin. This can be done using the following command: ./map-server --load-plugin mapcache [param] In windows, just remove the './' and run the commands in your command prompt. The params: The first thing you should do is run ./map-server --load-plugin mapcache --help A list of usable parameters will appear. Here are the ones you need to know for mapcache: [Info]: --convert-old-mapcache Converts an old db/pre-re/map_cache.dat file to the new format. [Mapcache] [Info]: --rebuild-mapcache Rebuilds the entire mapcache folder (maps/pre-re/), using db/map_index.txt as index. [Mapcache] [Info]: --map <name> Rebuilds an individual map's cache into maps/pre-re/ (usage: --map <map_name_without_extension>). [Mapcache] [Info]: --fix-md5 Updates the checksum for the files in maps/pre-re/, using db/map_index.txt as index (see PR #1981). [Mapcache] ./map-server --load-plugin mapcache --convert-old-mapcache Rebuild all the .mcache files using your old db/[pre-re or re]map_cache.dat file. NOTE: You should only run this command when you have an old map_cache.dat file you need to convert. ./map-server --load-plugin mapcache --rebuild-mapcache Rebuild all the .mcache files using your map files specified in step 2 of generation. NOTE: You should only run this command in special circumstances. This erases ALL the existing mapcache and rebuilds it with whatever files you provide it. If you don't have the required files, the build will fail and you will be left with missing mapcache files, meaning you won't be able to access those particular maps. ./map-server --load-plugin mapcache --map <name> Rebuild the .mcache file for the map name you specify. E.g. if you replace <name> with prontera, the maps/[pre-re or re]/prontera.mcache file will be rebuilt. NOTE: This is the best command to run, as it only caches a single map at a time. ./map-server --load-plugin mapcache --fix-md5 I don't know what checksum is for. The End Feel free to ask for help here. I'll try to answer questions re: mapcache if possible. And if you think anything needs correcting or added, let me know. Hope this helps!
-
1 point@Dastgir This guide is out of date, is it possible to have an update?
-
1 pointFull size dungeon for the location of fire monsters. Also an attempt to make a map in the official style of magma dungeons. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. Please rate it if the map is good enough
-
1 point
Special Room - 1.0 [FREE MAP]
akbaremonz reacted to Tio Akima for a file
Version 1.4.0
699 downloads
Special Room (s_room) Map created by TioAkima and distributed (without any cost) by the author himself. It is a customized room that can have several functions, such as room for Quest's, Market (shop's), VIP room, meetings, etc ... The trade in this map is permanently prohibited. [I have not yet tested the map .. I have finished recently so .. Any mistake, please let me know.] Att, TioAkima -
1 pointisnt that the dress room if you cant access it with a script command it might have a better chance on rathena\
-
1 point
Version 1.0.0
959 downloads
Introduction: This package are currently contains around 90~100 hairstyles for both male/female character. I obtained these from various sources like old eAthena, rAthena, Hercules, TheSpriteRepository and other member who shared these sprites with me etc. I don't remember who exactly made each of the sprites, or who even shared these... tell me if you know who are them. If any of these hairstyles are custom work that are meant for private use, kindly contact me, so that I could remove it from the listing. I do have more than this amount, but since my current test client (2018-06-20) can only support up to 100 sprites, so I randomly picked 100 and only upload it here. It included the default 31 hairstyle from kRO, but I think I replaced the 1~20+ hairstyles from JRO which dyed the hair in dark color, the rest are custom hair styles. How to use: You can either merge the provided GRF into your own GRF Load it as another individual GRF using the DATA.ini file Extract it and put it in your Data folder * Depend on your client hexed with whatever settings. Search forum for all these guides. Disclaimer: You're free to share with everyone but do not monetize the contents in any way! These materials are meant for study or research purpose. Use these at your own risk, and always give credit to original author. If there exists issue with sprite file, for example: sprite misalignment, error, etc, kindly ask help from any member who have knowledge with sprite edit. If there exists issue with palette color file, for example: messed up color, error, etc, kindly ask help from any member who have knowledge with palette color edit. Fun Fact: Do you know you can actually combine all male and female hairstyle (including doram) to create a list of universal hairstyles that could be used by any gender of player and doram? -
1 point
raPalooza's Cursor
LGox reacted to raPalooza~ for a post in a topic
File Name: raPalooza's Cursor File Submitter: raPalooza~ File Submitted: 24 May 2016 File Category: Sprites & Palettes This is a cursor modification I made for ragnarok, following the thoughts and feeling of my past works, I've created this with the intention of innovating the feeling of the game without letting the design break the game visual with a big gap in style. Some pieces are made from other mmos such as maplestory for example ( and some others I cant remember right now ) I've got some files backed up and lost others due to lost data on my old computer(it's an old project) so it's a little hard to deal modifications from the feedback, but i'll do my best. A lot of people came asking for this cursor over PM and Posts, glad you guys asked for it, otherwise I would let this project on the shelf, enjoy guys ;] RAN OUT OF IDEAS FOR THE NAME! cYA Click here to download this file -
1 pointthat's why I keep saying hercules mob controller is utterly broken there are 2 problems here 1. the hp and max hp is very strange thing when you want to increase the monster hp, setunitdata UDT_MAXHP 1st, then UDT_HP later when you want to decrease the monster hp, setunitdata UDT_HP 1st, then UDT_MAXHP later I'm not even sure need to fix this or not, because rathena also doing this way 2. yes, our recalculate monster status are broken https://github.com/HerculesWS/Hercules/pull/2408 prontera,155,185,5 script askdaksd 1_F_MARIA,{ .@mobgid = monster( "this", -1,-1, "--ja--", PORING, 1 ); setunitdata .@mobgid, UDT_MAXHP, 1000000; setunitdata .@mobgid, UDT_HP, 1000000; setunitdata .@mobgid, UDT_LEVEL, 99; end; }
-
1 point
[Guide] Mapcache Generation 2018
some1 reacted to imbadudelz for a post in a topic
I fixed it Myriad. I extracted all the izlude maps in data.grf. I moved it to my data folder. Then I ran map-server.exe --load-plugin mapcache --map izlude map-server.exe --load-plugin mapcache --map izlude_a map-server.exe --load-plugin mapcache --map izlude_b map-server.exe --load-plugin mapcache --map izlude_c map-server.exe --load-plugin mapcache --map izlude_d map-server.exe --load-plugin mapcache --map izlude_in The unwalkable areas of izlude map are now fixed. Thank you. -
1 pointSo with the release of Item Options System I had created a demo NPC with a small number of options to test the system out or be used as a full fledged NPC. Configuration /** * General Configuration */ /* Chance of the enhancement process to fail. (0 - 99 in percent) */ .chance_of_failure = 10; /* Delete the item on failure? (true/false) */ .delete_on_failure = true; /* Required amount of zeny for a try. */ .zeny_requirement = 100; /* Minimum amount of the bonus value. * For negative effects or certain bonuses that require negative values * Maximum possible value is -INT16_MAX) */ .minimum_bonus_amount = -100; // usually used with delay bonus options, although not provided in the script. /* Maximum amount of the bonus value. * Maximum possible value is INT16_MAX */ .maximum_bonus_amount = 100; /* Disable selection of bonus value (true/false) */ .enable_random_bonus = false; /* Item Option Descriptions */ setarray(.options$[0], "Max HP", "Max SP", "STR", "AGI", "VIT", "INT", "DEX", "LUK"); /* Item Option Constants */ setarray(.option_constants[0], VAR_MAXHPAMOUNT, VAR_MAXSPAMOUNT, VAR_STRAMOUNT, VAR_AGIAMOUNT, VAR_VITAMOUNT, VAR_INTAMOUNT, VAR_DEXAMOUNT, VAR_LUKAMOUNT); end; File v1.0 item_options.txt Let me know what you think! Enjoy~!
-
1 point
Old Izlude and Alberta
some1 reacted to evilpuncker for a file
-
1 pointThank you very much... --> FINAL NOTE The truth was i had two mistakes of his own: 1.- I had to copy the file "mapcache.dll" in the folders plugin and the folder of the emulator. .2- Never use as a final folder for grf-files.txt a folder called "data", because by default, the emulator reads to data folder as the final destination, that is, if you have your .gat files in your data directory, you should ideally write the path without placing the data folder : *Example *In my directory real: F:\Gravity\Ragnarok\RO\data\lasagna.gat *In "grf-files.txt" you would apply the following route: F:\Gravity\Ragnarok\RO\
-
1 pointin windows copy plugin binary mapcache.dll into plugins directory in hercules. then open command line in hercules directory and run commands what was in previous messages. in linux you using wrong directory. put files in /home/data/data. dir /home/data is your client root, /home/data/data is data directory in client.
-
1 pointbuild server build mapcache plugin make plugin.mapcache run command for help about command line parameters ./map-server --load-plugin mapcache --help See all commands about map cache and select what you want. For add map probably you want ./map-server --load-plugin mapcache --map youmapname
-
1 pointThis fixes the client hang issue when using the @refresh command while a NPC dialog box/menu is open. I don't know if this plugin will compile, as I made it on the fly, but the command fix definitely works. Inspired from npc_rr_secure_timeout_timer Download: https://pastebin.com/zUzYyz1S ACMD(refresh) { if (sd->npc_id) { /** * If we still have the NPC script attached, tell it to stop. **/ if (sd->st) sd->st->state = END; sd->state.menu_or_input = 0; sd->npc_menu = 0; clif->scriptclose(sd, sd->npc_id); /** * We will end the script ourselves, client will request to end it again if it have dialog, * however it will be ignored, workaround for client stuck if NPC have no dialog. [hemagx] **/ sd->state.dialog = 0; npc->scriptcont(sd, sd->npc_id, true); } clif->refresh(sd); return true; }
-
1 pointI'm pretty sure that'll cap your perfect dodge to 3. Instead, try changing the all the return statements to this return (short)cap_value(flee2,10,300);
-
1 point
Version 1.2.0
258 downloads
Hello peoples, I've been asked recently to create official instances that aren't release on rathena yet. So I decided to merge them to hercules too. So here's my version of Temple of Demon God instance, based over infos took here and there, videos and divine-pride database. In the rar, you'll find all you need, including Instance file, mob, item and quest db. You'll still need up to date client (I personnaly use 20160201) to ensure the mobs are created client side. Have fun. Please, leave the credits and do not claim my work as yours. -
1 point
About Code Review and Why You'd Want Your Code to Be Reviewed
Shirakori Mio 「白狐狸水緒」 reacted to Haru for a post in a topic
About Code Review and Why You'd Want Your Code to Be Reviewed Hello, fellow developers and code contributors! As you certainly know, years ago, Hercules adopted a workflow based on pull requests, that includes code review as one of the necessary steps before any new piece of code makes it into the master branch of the repository. While being an uncommon and somewhat controversial change in Hercules (and in the RO emulator scene in general), code review is part of the workflow of most software projects, both open source and closed source, and has many benefits. Why Code Review The benefits of code review are several: "Given enough eyeballs, all bugs are shallow" [Linus's Law by Eric S. Raymond -- The Cathedral and the Bazaar, 1999]. While the law is not strictly true, it's certainly true that the more developers read and analyze a piece of code, the more likely it is that bugs that might be hidden in it are discovered early. Testing is not enough. It's very hard (or in the case of our codebase just plain impossible) to cover all the possible edge cases when testing a new feature or a fix. An additional pair of eyes reading the code may help discovering those more easily. This includes cases where the client would normally prevent a certain thing from happening, but it's not ensured anywhere on the server side. Better quality of code. By having other developers read a piece of code, they'll end up wondering why a certain approach was taken, rather than another, and discuss it with the submitter, leading to better, more efficient algorithms, or better engineered code. Better documentation. Since the code needs to be read by other people, it'll require proper comments (or they'll ask for explanations about the parts they can't easily explain). This increases the chance that the author, or anyone else that will need to read the same code again months or years after it's been submitted, will be able to understand it again, by finding appropriate comments in the appropriate parts of the code. Better insight into the code across the team. By reading code from different parts of the emulator as part of the review process, every team member increases their own general knowledge of the software, bit by bit. This is a very efficient way of learning how different parts of the emulator work, and why they were implemented that way. Future-proofing. By having public reviews, we keep a permanent trace of what were the hot topics and why certain decisions were taken, when a certain part of the emulator was implemented. If a bug arises, or something needs to be redesigned in future, we can look up the associated pull request and related discussion, and learn more about the discussion that went on in the past, and what's hiding behind code design decisions. Reviewing code from other people, as well as having one's own code reviewed by others might not be easy for everyone, especially at the beginning, but please try your best. Here are some suggestions on how to approach code review from either side. How to approach code review (for code authors) As a code author, the worst thing you can do is to be afraid or shy about other people judging your code. This is the wrong approach! Don't be shy, have your code looked at by others, have them praise you for your genial approach to tackle a problem, listen to their suggestions on how to improve it. But be ready to defend your implementation, if you believe it's better than the suggestions you receive, or if the critics that are moved against it are wrong or meaningless. Always keep in mind that: Having your code reviewed and commented on isn't humiliating. Other people are spending their time looking at your code, asking you why you did something in a certain way rather than another, suggesting improvements. Both sides have a lot to learn from each others. (On the other hand, if no one reviews your code, that's somewhat humiliating!) If someone spots an issue in your code, it doesn't mean that you're a bad developer. We all make mistakes, and we should be happy to learn from them (and it's definitely better if someone spots them and points them out to us before it's too late and they were able to do some harm). Never, ever, take code review personally. No one will laugh about you, fire you, kill you, shame you, etc. if your code is commented on. If you believe you're right and the comments you received are pointless or wrong, chance is that you really are right. Be ready to defend your reasons, it's possible that the reviewer didn't think of them. It is your duty to explain them your reasons. How to approach code review (for code reviewers) Reviewing code is several orders of magnitude harder than having your own code reviewed. You have to check the code for several classes of problems, point out your findings, suggest improvements. And you still have to deal with the worry about hurting the code author's feelings when pointing out a mistake. Here are some things you should keep in mind when reading and reviewing code from other people: You're not judging a person. You're judging code. Don't make your review sound personal. Always think of uncommon and edge cases, and never assume they can't happen, unless there's an explicit check that makes them impossible to happen. Even if the code was tested by the author, it doesn't mean that it can't cause problems to other existing features, or have some issues the author couldn't think of. If the same person writes and tests a piece of code, the chance that they don't test the cases they forgot to handle while coding, is very close to 100%. If the code is not following the project's style guidelines (and this isn't just about indentation, but also about names, conventions about function calls, proper modularization, etc), it is your duty to point it out now, before it's merged. This will make the life of your fellow developers easier later on. Think defensively. Consider the code you have in front of you as buggy until you can prove its correctness. If you see that a sanity check is missing, ask the author to add it. If you believe that a function returns the wrong value in certain cases, even if very unlikely to occur, prepare an example of input for which that happens and point it out. Remember that threats such as overflows, underflows, buffer overruns, null pointers, invalid pointers, numeric (floating point) approximation, etc. are always behind the corner, check for them as often as possible and prove that they can't occur. And remember that, while the code author isn't your enemy (and code review shouldn't generate negative feelings), it's often a good idea to think of them as your "professional enemies". There's a chance that something nasty is hiding in their code, even if they didn't write it with ill intent, and as such, you shouldn't blindly trust the code, regardless of who the author is. Don't be afraid when you comment on other people's code. Your goal isn't to hurt their feelings, you're asking them for explanations and/or suggesting the way you would have done something. Likewise, don't be afraid of making a pointless comment. If the author has a good reason for their implementation, be ready to take back your comment and learn from them. Don't accept compromises. If you're firmly convinced that the author's defense of their code is wrong, your duty is to prove them wrong. But if they manage to convince you, don't be ashamed of admitting you were wrong. Happy reviewing! -
1 pointLagless wont help. It will cause more lag since players need to connected to more hop server.
-
1 pointyou ppl should stop, pointing at the wiki you are very lame and trollish, the wiki is very confusing and is copy/paste from serveral webs. If adding cards acording to the wiki is same as adding normal items, but dosent mention if u need .act or .spr, this tipe of confusing things makes me vomit at the wiki.
-
1 pointThe biggest mistake of any "anti-bot" feature is saying about that in public, or adding that to the sources without encryption. Why? Because one of the opencore developers here, at our community, and all "old fags" know them. The only one solution to block bots, it's find a way to make traffic ecnryption. (Sure, i'm talking about packet based bots (opencore, other differnt rops plugins). But mostly, players, and i'm sure 90% of the different adminds, don't hear about dll based (loaded via cps.dll) bots with the very easy logic what playing via ragnarok window.
-
1 pointMask everything? even there are checks like that, bots can still login? O_O yes, that is why we can't really block them 100% since they came out Make some hooks which send a completely unique packet id(over a range like from 0x1000 to 0x1111) with some data, which in return, client should return a data which contains encrypted player's data like IP/Mac and validate it server side. Can Assure you 99.9% Botters cannot bot because of this system(unless the system is leaked to the experts and they want to REALLY modify the openKore and bot in your server, which is as low as 0.001% Chance)