Jump to content

Aleos

Development Manager
  • Posts

    732
  • Joined

  • Days Won

    73

Posts posted by Aleos

  1. All brAthena did was add the source from Harmony into their source. This does absolutely nothing since as stated above by others requires the client to send this info, which it doesn't by default. A third party DLL is required to send this information.

  2. Let's talk about GitHub Issues!

    GitHub has this great tool called Issues. Issues not only for developers can be used to track bugs, but it can also track enhancements and tasks. Spare 3 minutes of your time and get a quick overview of the Issues feature!

    Here's a breakdown of an Issue:
    post-812-0-03672900-1452190523_thumb.png

    Here we can see that we have:

    • Title should give some general insight as to what the bug is about.
    • Description should give greater detail of the bug that can't be explained in the Title.
    • Labels which are colored to represent a category to which they fall into it.
    • Milestone which is what developers can use to track enhancements or tasks, ask described above.
    • Assignee which is someone who is directly linked to resolve the issue.
    • Comments which allows other members to give feedback on the issue.

    What are some good details to provide in a bug report?

    When describing your Issue through the Description area, it is recommended that you provide as much information as possible to make the Issue get resolved a lot quicker. Keep in mind you can tag people within the Description area through the @mention feature. You can also tag other Issues by typing # which will pull up a list of issues. You can find a more detailed list of GitHub Markdown here. An example of a very detailed bug report which prompted a quick resolution can be found here. Some information to keep in mind while creating an Issue:

    • GitHub Hash: The hash is a 40 alpha-numeric string (which can be broken down to the first 7 characters) which states the version you are at. A detailed guide of getting your hash can be found here by @nanakiwurtz. (If you're using SVN instead of Git: Please also put the change date and first line of changelog beside the revision number, or we'll be assuming you're using very old rAthena revision).
    • Client Date: The client date provides specific details depending on the issue. The main detail is that it helps narrow down issues if it's related to a packet problem.
    • Modifications that may affect results: It's always best to try to reproduce your issue on a clean rAthena if you have lots of modifications.
    • Description of Issue: Describe your issue in detail! Screen shots and videos help a lot! Please also provide crash dumps if the one of the servers is crashing.
    • How to Reproduce Issue: Describe how to reproduce your issue in detail! The more the merrier!
    • Official Info: Provide creditable sources to state why it is a bug! Please don't provide an iRO Wiki link as there is a high chance it doesn't match kRO behavior.

    Be wary of the @mention feature!

    Since rAthena uses custom @commands, when describing an issue that deals with these commands please keep in mind that this does clash with the @mention system for GitHub! Always quote the text when mentioning an @command (ie: `@hide`) so that you do not tag GitHub users!

    What are all these colored labels?

    For the most part you as a user will have no reason to worry about the Milestone or Assignee parts of an Issue. The different Labels of an Issue allow developers to quickly understand the issue and also allows for fast searching or sorting.

    Labels

    Users should be aware of the 'Mode' and 'Status' Type Labels as these sometimes require feedback so get to know your Labels!


    • Bug Type
      • bug:core : A fault that lies within the main framework of rAthena.
      • bug:database : A fault that lies within the database of rAthena.
      • bug:documentation : A fault that lies within the documentation of rAthena.
      • bug:forum : A fault that lies within the rAthena forum.
      • bug:script : A fault that lies within the scripts of rAthena.
      • bug:skill : A fault that deals specifically with a skill.
      • bug:tool : A fault that lies within a tool of rAthena.
    • Mode Type
      • mode:missing : Issue Title or Description does not state pre-renewal or renewal mode.
      • mode:prerenewal: A fault that exists within the pre-renewal mode.
      • mode:renewal: A fault that exists within the renewal mode.
    • Priority Type
      • priority:high : A fault that makes rAthena unstable or unusable.
      • priority:medium : A fault that makes rAthena have significant repercussions but does not render rAthena unusable.
      • priority:low : A fault that affects rAthena in one piece of functionality and is self-contained.
    • Server Type
      • server:char : A fault that lies within the character server of rAthena.
      • server:login : A fault that lies within the login server of rAthena.
      • server:map : A fault that lies within the map server of rAthena.
    • Status Type
      • status:client date missing : Issue Title or Description does not state the client date used to create the bug.
      • status:confirmed : Issue that has been validated by a developer to affect rAthena.
      • status:duplicate: Issue that has been reported before.
      • status:git hash missing : Issue Description does not state the hash of rAthena used when the bug occurred.
      • status:invalid : Issue that is either not official or is not related to rAthena.
      • status:needs more info : Issue that needs more information from the issue creator.
      • status:needs official info : Issue that needs more information from a creditable source.
      • status:started : Issue that has begun resolution by a developer.
      • status:unable to reproduce : Issue that was unable to be reproduced on rAthena.
      • status:wontfix: Issue that cannot be fixed through some limitation or is intended behavior.



    So how does this benefit me?

    You might be asking your self this question at this point. This helps you and the community in many ways! Detailed bug reports lead to quicker resolution which means less bugs and more official content! It also can help you earn some nifty badges!

    tl;dr

    Please include the following information when creating a bug report to provide a quicker resolution!

    • GitHub Hash
    • Client Date
    • Modifications that may affect results
    • Description of Issue
    • How to Reproduce Issue
    • Official Info
    • Upvote 5
  3. November Digest 2015
    The following digest covers the month of November, 2015.


    Staff Changes

    • None

    Development Highlights

    • CORE:
      • Fixed Neutral Barrier and Stealth Field not staying with the player through warp portals on the same map (a7b8fd4)
      • Updated Exeed Break damage formula (a7b8fd4)
      • Updated Renewal Cast Time Formula (10fcd20)
      • Fixed Silent Breeze not casting correctly (2afaac8)
      • Updated the list of skills that can be copied by Reproduce. Added: Dark Claw, Tetra Vortex, Summon Fire/Lightning/Water/Water/Stone, Magma Eruption, Illusion Doping, and Rapid Throw (2afaac8)
      • Added two new options to the Pincode System to try and follow official behavior (085cd98)
      • Fixed an issue with ammo type fail message for bows and guns (a7b8fd4)
      • Added a check for skill_require_db parsing to skip requirements on invalid item IDs (a7b8fd4)
      • Updated the way HP is displayed for dead characters (c2f8dec)
      • Corrected Zenkai duration (af60b28)
      • Fixed an issue with SC_INCCRI not setting the proper rate (af60b28)
      • Added full support for clients up to 2015-05-03 (d2d1fd2)
      • Corrected VIP drop chance rates (002f321)
    • SCRIPT:
      • Implemented the Novice Academy (2b5332a)
      • Moved a few NPC out of Wolfchev Laboratory that were not part of the instance (644341a)
      • Corrected Eden Instructor dialog (d46cf4b)
    • OTHERS:
      • Added missing maps to pre-renewal (5b5fb1a)
      • Corrected some issues and expanded upon the Unit Controller script commands (e276970)
      • Large CPPCheck cleanup (09ddcdf)
      • Alphabetized the SQL tables (219c034)
      • Dead players can now be jailed (85971d6)
      • Updated atcommand documentation (bdd6ea6)
      • Fixed an issue in the SQL upgrade script when converting negative card values (d22eb43)
      • Fixed an issue with new headgears that give visual effects not clearing when status expires (8c6b720)
      • Updated the script command documentation (7fcd0f5, 5695dc5)
      • Added support for MSVS 2015 (1d60228, a2270aa, c68680a, 86d6113)
      • Fixed getexp command giving 1 exp with 0 value (5695dc5)
      • Disabled the rAthena Stat Reporter by default (0ffeec0)

    Statistics

    • 10 authors have pushed 70 commits during this period.
    • On master, 103 files have changed.
    • There have been 21,627 additions and 2,937 deletions.
    • There are 9 merged Pull Requests and 3 Proposed Pull Requests.
    • There are 24 new Issues and 54 Closed Issues.

    /no1Show your support to rAthena by submitting your Issue or Pull Requests! /mail


    [spoiler=You can help us too! (Yes, YOU! :D)]Currently rAthena uses GitHub Issues to handle bugs, server crash, pull requests, etc..
    Most of the reports are fine, but some posts on our GitHub Issues are lacking of information needed to identify the possible cause, therefore it will make the dev to ask the same questions over and over again.
    So, I'm here to show you a small tutorial on how to improve rAthena's GitHub Issues ^^

    First of all, it will helps the devs a lot if the issue reporter put decent information on the top of the report.
    You can copy paste the text below, and put it on top of your report:
    [spoiler=GitHub Header Format]

    Git Hash/Date: 
    Client Date: 
    Server Mode: Pre-RE/Renewal
    Source/Script Mods: 
    Descriptions:
    How To Replicate:


    Now I will explain what does the above lines means.
    - Git Hash/Date = It means the referrence for each commits in GitHub, it can be used to identify which code has been changed/added. If you can't provide the Git Hash, at least you can use the date where you pulled/clone the repository. If you are still using SVN (which is not recommended anymore), you can provide the Revision Number instead.
    [spoiler=Here I will show you how to get your current Git Hash]x7l4OgY.png
    1. Open up your Command Line Prompt' if you are on Windows, or 'Terminal' if you are on Linux. Navigate to your repository folder. For example if your rAthena folder is on F:\Folder\rAthena and currently you are on C:\, then you can type F:(enter)cd folder\rathena(enter). If your folder name contains space, enclose your folder name inside the "".
    After you navigate to your repository folder, type: git show
    (Actually you can use another commands like: git rev-parse HEAD or git rev-parse --short HEAD)
    2. You will see your current Git Hash number which can be pasted using the short version (only it's first 7 characters).
    For example: 5a0f8dc12ae1d0b2c3bf0a9fecc085719a28622b can be safely written as 5a0f8dc.
    3. On the screenshot, I used a Git application (SmartGit), and it shows the same Git Hash number like the one on Command Line Prompt. There are lots of Git applications available, you can use whichever you want.
    4. "master <3 origin" here is not "master loves origin" /... D:
    It means that currently my local repo is '3 commits behind' from the master repo. In other words, someone has pushed some new commits (in this case, 3 commits) and I haven't pulled/fetch them. If I made some modification on my local repo but haven't pushed my commit to the master repo, it means that my local repo is 'ahead' of master repo.
    5. Those dots are the commits details which is already pushed to the master repo.
    6. HEAD means our 'current local repo'.

    After reading the above explanations, I hope that no one will use the word 'latest git/hash/version/revision' anymore, because it's incorrect and confusing /hum


    - Client Date = Put with the client date you are using.
    - Server Mode: Pre-RE/Renewal = Choose one, by deleting the unneeded one.
    - Source/Script Mods = If you ever edited or applied some diffs from other sources, or you have edited the corresponding script, please describe it here. Because sometimes the report is invalid because of this reason.
    - Descriptions = Describe your report here, if it's a server crash or compilation warning (or the others), please include the screenshot or the debug data too.
    - How To Replicate = If you can, please describe on how to replicate the bugs you found, so it can be identified easier.

    We are thankful if all issue reporters could follow the above format. /ok

    • Upvote 4
  4. Hello everyone!

     

    As you all know we have had some issues with the domain. After it expired on November 28th the system didn't auto-renew the domain because of a policy change within the company. They changed the policy on valid usernames for their system. They removed the use of emails as a username and special characters in a username. This caused us to fail in these two places and forced us to create a new account. It took a while for them to confirm the validity of our new account identity to verify ownership of the domain (which was on the other invalid account).

     

    In the end, the server has been up this whole time, so no harm has been done to the server. Sorry again for any inconveniences!

    • Upvote 8
  5. October Digest 2015
    The following digest covers the month of October, 2015.


    Staff Changes

    • @Aleos is now a Head Administrator
    • @Brian is now a Supporting Admin
    • @Maki is now a Supporting Admin
    • @Akkarin is now a Community Contributor
    • @Luciar is now a Community Contributor

    Development Highlights

    • CORE:
      • Corrected the Burning and Stun effects for Magma Eruption (7bc7b7e)
      • Added usage of enum values and cast cleanup in various places of source (78b6c15, a597e7b)
      • Backslide will now work if a player has the 'no knockback effect' active (c9c988a)
      • Fixed the questlog display for clients 2014-10-22 and on (45e50a3)
      • Fixed long broadcasts getting truncated (cef2f9e)
      • Fixed an issue with the pc_damage_log_add() not storing correctly (927d1e2)
      • Fixed Elementals getting removed incorrectly from deleted instances (857b82d)
      • Fixed a possible crash from Star Gladiator Warm skills (8c8c486)
      • Corrected Arms Cannon not giving splash damage (34c19ed)
      • Fixed a possible crash from Taekwon Counter (80b88b9)
      • Corrected skill cooldown overflow (573c7dc)
      • Corrected a few skills that use base stats to use stats stored in mmo_charstatus (ea497b2)
      • Warg Dash cannot be used while standing next to a monster (09e91d4)
      • Status effects that damage monsters will now give the EXP to the player (b385fd0)
    • DATABASE:
      • Item Package update. Converted AegisName -> ItemID (640a0c5)
      • Corrected Blank Eyes location (64d2463)
      • Corrected Lighthalzen Bio Labs 3 monster drops (e0b24fc)
      • Updated item group Advanced Weapons Box (fd5e796)
      • Corrected locations for a few costumes (b6187aa, 581c236)
    • SCRIPT:
      • None
    • OTHERS:
      • Moved hard coded timestamps for logs to conf/logs.athena (1210bca)
      • @iteminfo will now properly display dropped items when 'mobinfo_type' is active (cef2f9e)
      • Script commands 'close' and 'end' will no longer stop a script if a shop is active (cef2f9e)
      • Quest IDs > 65535 is now supported (a2d8b81)
      • Corrected a few status checks to not have priority (030c4c5)
      • Fixed an issue where memory leak log was null on Windows (5a49b70)
      • Replaced macros 'min' and 'max' with some inline functions (214ff17)
      • Fixed an incorrect variable type, left over from 82467e1 (da94f41)
      • Item bonus documentation updates (efea117)
      • Added some newer NPC constants (ae98019)
      • Removed a useless parameter from elemental_delete() (dc533fe)
      • Removed some duplicate lines from .gitignore (d996590)

    Statistics

    • 8 authors have pushed 50 commits during this period.
    • On master, 107 files have changed.
    • There have been 5,571 additions and 4,963 deletions.
    • There are 4 merged Pull Requests and 3 Proposed Pull Requests.
    • There are 29 created Issues and 49 Closed Issues.

    /no1Show your support to rAthena by submitting your Issue or Pull Requests! /mail


    [spoiler=You can help us too! (Yes, YOU! :D)]Currently rAthena uses GitHub Issues to handle bugs, server crash, pull requests, etc..
    Most of the reports are fine, but some posts on our GitHub Issues are lacking of information needed to identify the possible cause, therefore it will make the dev to ask the same questions over and over again.
    So, I'm here to show you a small tutorial on how to improve rAthena's GitHub Issues ^^

    First of all, it will helps the devs a lot if the issue reporter put decent information on the top of the report.
    You can copy paste the text below, and put it on top of your report:
    [spoiler=GitHub Header Format]

    Git Hash/Date: 
    Client Date: 
    Server Mode: Pre-RE/Renewal
    Source/Script Mods: 
    Descriptions:
    How To Replicate:


    Now I will explain what does the above lines means.
    - Git Hash/Date = It means the referrence for each commits in GitHub, it can be used to identify which code has been changed/added. If you can't provide the Git Hash, at least you can use the date where you pulled/clone the repository. If you are still using SVN (which is not recommended anymore), you can provide the Revision Number instead.
    [spoiler=Here I will show you how to get your current Git Hash]x7l4OgY.png
    1. Open up your Command Line Prompt' if you are on Windows, or 'Terminal' if you are on Linux. Navigate to your repository folder. For example if your rAthena folder is on F:\Folder\rAthena and currently you are on C:\, then you can type F:(enter)cd folder\rathena(enter). If your folder name contains space, enclose your folder name inside the "".
    After you navigate to your repository folder, type: git show
    (Actually you can use another commands like: git rev-parse HEAD or git rev-parse --short HEAD)
    2. You will see your current Git Hash number which can be pasted using the short version (only it's first 7 characters).
    For example: 5a0f8dc12ae1d0b2c3bf0a9fecc085719a28622b can be safely written as 5a0f8dc.
    3. On the screenshot, I used a Git application (SmartGit), and it shows the same Git Hash number like the one on Command Line Prompt. There are lots of Git applications available, you can use whichever you want.
    4. "master <3 origin" here is not "master loves origin" /... D:
    It means that currently my local repo is '3 commits behind' from the master repo. In other words, someone has pushed some new commits (in this case, 3 commits) and I haven't pulled/fetch them. If I made some modification on my local repo but haven't pushed my commit to the master repo, it means that my local repo is 'ahead' of master repo.
    5. Those dots are the commits details which is already pushed to the master repo.
    6. HEAD means our 'current local repo'.

    After reading the above explanations, I hope that no one will use the word 'latest git/hash/version/revision' anymore, because it's incorrect and confusing /hum


    - Client Date = Put with the client date you are using.
    - Server Mode: Pre-RE/Renewal = Choose one, by deleting the unneeded one.
    - Source/Script Mods = If you ever edited or applied some diffs from other sources, or you have edited the corresponding script, please describe it here. Because sometimes the report is invalid because of this reason.
    - Descriptions = Describe your report here, if it's a server crash or compilation warning (or the others), please include the screenshot or the debug data too.
    - How To Replicate = If you can, please describe on how to replicate the bugs you found, so it can be identified easier.

    We are thankful if all issue reporters could follow the above format. /ok

    • Upvote 4
  6. clif.c

            sd->roulette.prizeIdx = rnd()%rd.items[stage];
    
            if (rd.flag[stage][sd->roulette.prizeIdx]&1) {
                clif_roulette_generate_ack(sd,GENERATE_ROULETTE_LOSING,stage,sd->roulette.prizeIdx,0);
                clif_roulette_getitem(sd);
                clif_roulette_recvitem_ack(sd, RECV_ITEM_SUCCESS);
                return;
            }

    This is the snippet of code that determines win or loss. There are two ways to go about this.

     

    1) You can go to `db_roulette` and adjust more items as flag = 1 for each stage. When an item is flagged as 1, then it is considered a loss item.

    2) Adjust the snippet of code above. You could make the rnd() do something like out of 100 then change the if() statment below it to check for a "%" of success.

  7. The Client Support topic isn't that out dated. Truthfully speaking the 2014 client was missing (I just added it in). Client development has become very slow after the clients were packed with Themida.

     

    If you've done all those steps, provide the errors you are hitting that way people can provide more accurate answers.

  8. 2014-02-05b isn't even supported by rAthena. You need to stick with 2014-10-16 or 2014-10-22.

     

    As for your rejections, yes, it could be that you didn't have your IP setup correctly in your config. I ran into that issue as well while testing the newer clients and saw no one out there had posted anything about it since not many people ran into it. The problem was because I was using imported values that I just copied over while testing, but later fixed the issue when I started everything clean and saw what I was doing wrong.

     

    Make sure your data.grf is fully up to date as well since you're using a newer client. Grab the updated LUAs. Diff your client using NEMO as it is pretty much the most stable and up-to-date patcher out there. By default the server should have packet obfuscation on. Follow the steps in the link before for making sure your packet obfuscation is setup correctly. And, that's it. You should be good to go.

    • Upvote 1
  9. I haven't spoken to any of the other admins about the Nexus situation. I've heard though that someone was on the task of finishing it up. If I can step in to help the other admins I will, I just don't want to get in their way if they have a process of going through the remaining transactions.

    • Upvote 1
  10. Script Engine Upgrade
    As of 6295c77, rAthena's script engine has been significantly improved!

    Thanks to Hercules for the release of it!

    Character and Account (and Global Account) Variable Changes:

    • They're no longer limited to #define ACCOUNT/GLOBAL_REG_NUM, they're now limitless.
    • Storage and speed processing have been improved with less traffic being sent between the servers.
    • Character and Account variables now support arrays!
    • Variables stored in global_reg_value are now split up into account, character, and global tables (each having their own string and integer table).

    Array Changes:

    • Increased array limit from 127 to 2 billion!
    • Overall speed has been improved through new array handling methods.
    • Script command 'getarraysize' overall processing has also been increased.

    Temporary Variable Changes:

    • Variables are now stored in DBMaps which helps with read/write speed.
    • Trying to write to an instance variable outside of an actual instance will now print a warning.

    Please report all bugs to the Issue Tracker!

    • Upvote 14
  11. The point of Packet Obfuscation is to send encrypted packets to the server, thus keeping third party tools (bot programs) from working.

     

    The issue you are having with your client is because it is not supported, which is why you're being rejected.

×
×
  • Create New...