7
I Use This!
High Activity

News

Analyzed 1 day ago. based on code collected 1 day ago.
Posted over 9 years ago
Hercules April 22 PatchHello~! - What?!1st, most of these things were meant to be released separately but as I started to work with them one thing hooked up to another and I ended up deciding to get all out at onceNo second today!The all-long ... [More] , all-mighty listNewMap Zone DB UpdatesAdded New "All" Zone, easy way to add modifiers to all maps in the game. Automatically inherited by all existent zones.Added new zone setting disabled_commands, can disable any command in any zone "command-name: min-group-lv" also supports min group level to override, to enable back a command disabled by inheritance just use "command-name: 0"Added new zone setting skill_damage_cap (as requested by the community), can cap any skill damage to any range of unit types, and also a new core config "HMAP_ZONE_DAMAGE_CAP_TYPE" that controls how the cap is applied (before or after modifiers)New target-type support (used by skill_damage_cap and disabled_skills): PET (special thanks to frenzmu06 for bringing it up!), CLONE and MOB_BOSSAdded support to ids! item and skill ids may now be employed in all sections of the file in the place of item/skill namesDetailed Map Zone DB UpdateHercules Channel System UpdateAdded a IRC bridge as requested by the community, allows users outside of the game (but in a irc network e.g. thru mobile/cel app) to communicate with anyone in-game that is within a specific #channel, and vice-versaDetailed Channel System UpdateAdded Beret and Yommy's suggestion on cash shop file format, also added support for item idsAdded Ryuuzaki's kafra point support to the new cashshopUpdated map-server's save_setting, added new option: 128, to save buyingstore transactions on the flyRevisited bindatcmd feature, dropped level support, added group level support and added a new flag capable of deciding whether calls to that command should be logged in the atcommand log.Performance ImprovementAdded a in-memory list to store existent shops (saves iterating through all online players)Modified searchstore to use said db above, making its queries fasterImproved pc_groups processing, decreased runtime ram usage by a about 1mb.Improved @command log processing through groups, now caching the state (no longer does dbmap lookup).Improved atcommand.conf file processing (was doing a extra lookup instead of using atcommand_exists already-performed lookup result)Improved atcommand's help file processing (no more lookups! string is now cached directly in the atcommandinfo struct of each command) and data managementImproved @help's processing: dropped the huge config file lookup and replaced by using the caches.Improved atcommand logging, added option to not log specific commands (so you dont waste log room with stuff such as @iteminfo/@mobinfo/etc) -- atcommand.conf nolog groupSightly improved zone inheritance processing.Speeded up mvp drop processingSpeeded up item log processingSpeeded up mob item drop processingMiscWith map_zone_db's new clone support, flag 0x8000 (no-clone-use) in the skill db was droppedWith map_zone_db's new way to block commands, mapflag nogo was dropped.Fixed a number of discrepancies between unsigned and signed variables in many packets.Fixed loading messages for exp_db, attr_fix, statpoint, mob_chat_db, mob_pouch, mob_branch, mob_classchange, mob_boss, mob_poring and item_group_dbpets from gms who cant drop items no longer can loot items (prevents exploit where gm kills something, pet loots, then drops and action is not logged nor blocked).Fixed combo bonuses that used getrefine on weapons/cards that affect weapons.Added @searchstore as to offer same availability to gms as @auction/@mail doesImproved 2013 client charselect procedure, all thanks to Yommy!Links~!Commit [Less]
Posted over 9 years ago
*skill script command update/fixHello~! - What?!This is me telling you I screwed up when I fixed bug #5018 (script-granted skills not being persistent), and how you can fix it.Whats it aboutThe code I committed for #5018 is perfectly fine, the screw ... [More] up was that I totally didn't think of all the scripts out there that were using the function as it performed instead of what its description said (the function behavior had been broken since it was first implemented back in j/eAthena)Fixing itIt's very simple to fix. Update to latest Hercules and run the 2013-04-16--01-24.sql upgrade file, it'll update the skill flags accordinglyChangesWith this update, in order to achieve the "skill permanently granted through script" effect, you need to use flag 3 instead of 0, 0 will mimic the effect prior to the fix on #5018 as to keep backwards compatibility with the scriptsSpecial Thanksakinari1087 from rAthena.LinkCommitUpgrade File [Less]
Posted over 9 years ago
Hercules Renewal: Phase TwoHello~! - What?!"but phase one isn't complete yet!"its alright, we have been able to manage parallel projects and goals, we surely can take care of this one too and effort required on this one is pretty much less than on ... [More] phase one"So whats this phase two about?"one of my favorite things: user friendlinessGoal: user-friendlinessThis aims at rewriting all of our server-client packet building, making it much more user friendly to modify and add new ones.We'll be starting with map server <- -> client (clif.c) and then will move to char server <- -> client and later login server <- -> clientBeforevoid clif_authok(struct map_session_data *sd) { #if PACKETVER < 20080102 const int cmd = 0x73; #else const int cmd = 0x2eb; #endif int fd = sd->fd; WFIFOHEAD(fd,packet_len(cmd)); WFIFOW(fd, 0) = cmd; WFIFOL(fd, 2) = gettick(); WFIFOPOS(fd, 6, sd->bl.x, sd->bl.y, sd->ud.dir); WFIFOB(fd, 9) = 5; // ignored WFIFOB(fd,10) = 5; // ignored #if PACKETVER >= 20080102 WFIFOW(fd,11) = sd->user_font; #endif WFIFOSET(fd,packet_len(cmd)); } Aftervoid clif_authok(struct map_session_data *sd) { struct packet_authok pack; pack.PacketType = authokType; pack.startTime = gettick(); pack.PosDir[0] = sd->bl.x; pack.PosDir[1] = sd->bl.y; pack.PosDir[2] = sd->ud.dir; pack.xSize = 5; //not used pack.ySize = 5; //not used #if PACKETVER >= 20080102 pack.font = sd->user_font; #endif clif->send(pack,sd->fd,blabla,SELF); } Special ThanksTo Yommy for bringing this up! [Less]
Posted over 9 years ago
Hercules Download SectionWhere?!!Here~The rulesNone exclusive to this download section as of yet, all our forum rules extend to our download section -- e.g. no warez. Probably not for long, our moderators surely will think of some as issues show ... [More] up.Why so few categoriesSince we're starting from scratch we thought it'd be best if we didn't have a high number of empty categories, we'll be creating new categories as we see necessary, example: if the sprites & palettes section gets crowded (i.e. with different types of sprites) we'll create a new subcategory section for said type, and so on as more files come in.In short, we'll be expanding as necessity comes.Upcoming ModificationsJayPee came up with a very interesting idea we'll be implementing soon, making downloads on certain areas (e.g. control panels) be capable of having their download link be their respective repository's latest zip file ( e.g. from a github project ), as to allow users to always download the latest version as opposed to having to rely on the files' author to update their file on our system.We are not yet sure whether we'll be implementing paid file support, however if we do we already have a few modification ideas from our staff whos got frustrated by similar systems' inability to counter frauds (for example introduction of measures on first-time buyers) [Less]
Posted over 9 years ago
Hercules CC ProgramHello~! - What?!We're changing how the CC Badge works, making it a position that actually makes sense with it's name: a position given to community members who've contributed to Hercules.Badge RequirementAny of the following will ... [More] make you elegible to receive the title, be aware the position is not automatically-granted, the staff who oversees the section in question will appoint you to receive the title.Outstanding presence in the bug report sectionOutstanding presence in the wikiOutstanding presence in the support sections (helping others)Outstanding presence in the downloads sections (sharing your stuff)Help the development by providing key informationAny other outstanding effort to contribute to Hercules not necessarily listed here (we'll add more items as we see fit)Position BenefitsWe have plans/intentions to implement specific benefits depending on why each title was given (e.g. if its because you're active in the bug reports section you may receive pseudo-moderation-powers on that section), however at this point in time the title is only a title -- there are no benefits to it yet. [Less]
Posted over 9 years ago
Cash Shop SupportHello~! - What?!1st, getting this together has only been possible thanks to Yommy2nd, really, without Yommy's help this wouldn't have worked3rd, did I already mention Yommy made this possible? cashshop_db.txt format// Hercules Cash ... [More] Shop Database // Format: // Tab ID or Tab Name, ItemID or Item Name, Price // // Tabs: // 0 = New // 1 = Popular // 2 = Limited // 3 = Rental // 4 = Permanent // 5 = Scroll // 6 = Usable // 7 = Other //New New,Apple,100 0,531,250 /* other */ Is it ready?!The packets work, you can buy, list, etc. BUUUUT I wouldn't bet it is 100% complete -- I'm not very aware of how the cashpoint stuff works, I'd guess the behavior is not 100% -- BUUUT getting the packets to work was the toughest part, just drop us a bug report and we sure will fix any broken formulas instantly.I'm not aware of what the official servers have in it being sold either, I've put random garbage with absurdly high prices in the db (so we all can debug).BTW This only works on ragexe (not ragexere!) clients, e.g. : http://hercules.ws/board/topic/289-2013-ragexe-area/Special ThanksYommyYommy...Yommy!malufettJudasBeretAnd everyone whos helped us get the 2013 client to work, Thank you All!Links~!Commitcashshop_db.txt file [Less]
Posted over 9 years ago
PacketDB OverhaulHello~! - What?!1st, not a overhaul as much as...well we purged the poor thing completely2nd, adding and maintaining packets is now much easierChangespacket_db.txt was droppedpacket_ver was dropped in its entirety, the server has ... [More] never been able to maintain multiple packet versions at once stablypacket_ver_flag setting in conf/battle/client.conf was droppedpackets are now stored at src/map/packets.hpackets.h formatfor outgoing packets:packet(packet_id,length) /* example */ packet(0x006a,23); for incoming packets:packet(packet_id,length,function,offset ( specifies the offset of a packet field in bytes from the begin of the packet ),...) /* example */ packet(0x0072,19,clif->pWantToConnection,2,6,10,14,18); ImprovementUsers no longer have to touch packet files when changing their client versions, PACKETVER in src/common/mmo.h is now enough.With the map server not having to maintain packets for so many versions at once, its ram usage was reduced by 7MBCreditsFeature Design by GreenBoxSpecial Thanksto mkbu95 for bringing this topic up! (reworking the packetdb)Links~!Commitpackets.h file [Less]
Posted over 9 years ago
Introducing Hercules' Stress Test ServerHello~!The "Stress" PartOver 1.000 IndAI units (equivalent to +1k online players) will be in the server playing 24/7, farming, going to pvp, doing woe, playing battlegrounds, doing anything a player does, this ... [More] will create a perfect scenario for us to debug and test Hercules.The Development BenefitsWe'll be able to keep track of performance usage 24/7, making us able to detect whenever a update increases a server's usage, allowing us to further optimise said update in order to take the processing down.With the AI characters doing stuff non-stop 24/7 we'll be able to identify and fix any crashes existent.Hercules will gain a super stability boost thanks to this.How to connect / Moving in and outThis is the fun part.No new clients, and no sclient/clientinfo/blablabla edits will be required.get to the test server by typing '@hercules warp', test whatever you like, and go back to your server with '@hercules leave'.This technology *might* also be employed in the future by us to create hercules-hosted inter-server events.Entirely SecureThe only data your server will pass to our test server upon warp is the name of the character (and maybe hairstyle vals).The test server is unable to modify (or even access) any data on your server, it is entirely secure and damage-free.Unique to HerculesThe ability to connect through your ordinary client will be made possible by our custom server hosted over at hercules.ws, the code won't be made public.Coming soonI felt inspired to write about this feature, which is why this announce is out.This is one of the features we'll be rolling out in the coming days.FAQwhat if i dont want my players to go to the test server?@hercules is a command like any other, you can restrict access by groups.conf (by default only gms will be able to use it)what if i dont have a test server to use as a gateway to the hercules stress test server?we will also provide clients for those who don't have/want to use a server as the gateway [Less]
Posted over 9 years ago
We'll be starting our Monthly Digests so that we can keep our community informed on whats going on with Hercules!     March Digest 2013The following digest covers the month of March 1st - March 31st 2013.   Team Addition Wolf has joined as ... [More] a Portuguese Moderator. Development Highlights Hercules' Channel System (7ec1e8f) Re-Introduction of ERS Report (646f978) Garment Costume System (9aded8a) Slot Change Feature (889a866) Hercules' Map Zone Database (90f117f) Re-introduction of Console Input (3b89a13) Dropping of StatusChangeStateTable (70a3d73) Hercules' Renewal Pincode System (d2d734c) Follow Up: 84e8f18, f214021, 5b1fee9 Introduction of Account-Dependent Character Slot Count (0241d01) On-Going process of Hercules Renewal (Topic) Command Additions / Updates Added 'itemeffect' script command (c58f741) AccountInfo command updated to work with Pincode (9b5ec24) Statistics During the period there were 62 commits. Of these 62 commits 15 included bug-fixes. 1 Commit from Pull Request In this month, there were 21,330 Additions and 16,692 Deletions. February's Statistics: - 112 Total Commits (merges not included) - 29 Bug Fixes - 21 Commits from Pull Requests [Less]
Posted over 9 years ago
Introducing Hercules' Channel SystemHello~! - What?!1st, it is a replacement for the old @main2nd, it is a super ultra mega improvement compared to the functionality @main provided.3rd, whops. there is no 3rd.channels.conf format /* default channels ... [More] (available on boot) */ default_channels: { /* channel_name : channel_messages_color */ main: "Orange" /* available as #main */ support: "Blue" /* available as #support */ trade: "Red" /* available as #trade */ offtopic: "Cyan" /* available as #offtopic */ /* as many channels as you like */ } /* colors available */ colors: { Default: "0xffffff" /* custom channels will use the first in the list unless a font is selected thru @channel */ Red: "0xff0000" Blue: "0x83cfe9" Orange: "0xe57c00" Cyan: "0x00b89d" Yellow: "0xffff90" Green: "0x28bf00" Normal: "0x00ff00" /* as many colors as you like */ } /* allow users to create their own (private) channels through @channels command? */ /* (must also allow players to use @channels in groups.conf) */ allow_user_channel_creation: true /* "map_local_channel" is a instanced channel unique to each map */ map_local_channel: true map_local_channel_name: "map" /* available as #map */ map_local_channel_color: "Yellow" map_local_channel_autojoin: true /* can disable autojoin in specific maps through mapflag or zone: nomapchannelautojoin */ /* "ally_channel" is a channel shared by all your guild allies */ ally_channel_enabled: true ally_channel_name: "ally" /* available as #ally */ ally_channel_color: "Green" ally_channel_autojoin: true Notes on the format/configurationdefault_channels is the list of reboot-persistent channels, you can setup as many as you like and each can have its own color for chat, which you can specify in colors (again, you can setup as many as you like)map_local_channel is a feature that grants each map its own instanced channel (available, by default as #map -- which can be changed as per map_local_channel_name)map_local_channel_autojoin whether users will autojoin the local channel when they load a map with it enabledmap_local_channel_autojoin can be disabled on selected maps (e.g. if you dont want it on gvg maps) through a mapflag (with a horribly long name D:)'mapflagnomapchannelautojoin'ally_channel_enabled is a feature that grants a instanced channel for each guild's allies (as well as their own members), available by default as #ally -- which can be changed as per map_local_channel_nameally_channel_autojoin whether users will autojoin their respective ally chats upon login.New Commands Explained@joinSimple:@join <#channel_name>or, for password-protected rooms:@join <#channel_name> @channelDoes a number of things.Create a new channel (option available as long as allow_user_channel_creation is enabled)@channel create <#channel_name> List public channels (groups with hchsys_admin can view private channels as well)@channel listChange a channel's color (requires to be owner of said channel or be in a group with hchsys_admin permission)@channel setcolorSamples available colors and displays their keys/names@channel list colorsLeaves a specific channel@channel leave <#channel_name>Binds your global chat to a specific channel, making everything you type that'd normally be displayed to nearby characters be redirected to that channel instead@channel bindto <#channel_name>Unbinds your global chat from the current (if any) binded channel@channel unbindHow to speak in a #channelYou can either bind a channel to your global chat (see @channel bindto above) or PM the channel you want to speak to, if you attempt to send a pm to a non-password protected channel that you have not joined, you'll autojoin.Other stuffas I coded this feature I also improved overall guild processing/lookup, extremely, extremely faster (did I already say its ridiculously faster? WoE overhead probably more than halved with this). over a hundred lookups were replaced by a cached guild state that takes only 4~8 bytes per player.The commit also fixed a "wearing-garment-removed-costume-garment-look" bug - special thanks to jTynne for letting me know~!Special Thanksto Streusel for proposing an idea that'd end up as the @channel bindto feature.Links~!Commit [Less]