<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.herc.ws/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.herc.ws/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ind</id>
		<title>Hercules Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.herc.ws/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ind"/>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Special:Contributions/Ind"/>
		<updated>2026-05-02T11:03:10Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.21.11</generator>

	<entry>
		<id>https://wiki.herc.ws/wiki/Startnpctimer</id>
		<title>Startnpctimer</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Startnpctimer"/>
				<updated>2015-01-17T14:15:00Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: nevermind me [7] (testing stuff)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Syntax==&lt;br /&gt;
* [[startnpctimer]] {&amp;lt;attach flag&amp;gt;};&lt;br /&gt;
* [[startnpctimer]] {&amp;quot;&amp;lt;NPC name&amp;gt;&amp;quot;};&lt;br /&gt;
* [[startnpctimer]] {&amp;quot;&amp;lt;NPC name&amp;gt;&amp;quot;{, &amp;lt;attach flag&amp;gt;}};&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This script command works almost exactly like [[initnpctimer]], however calling this method does not reset the timer for the NPC. When called, it will resume the timer if it has been stopped using [[stopnpctimer]], and it will not reset the NPC timer tick to 0.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
See [[initnpctimer#Parameters|initnpctimer]].&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
* Start or stop an NPC timer using menus.&lt;br /&gt;
 [[switch]]( select(&amp;quot;Resume timer&amp;quot;, &amp;quot;Stop timer&amp;quot;) )&lt;br /&gt;
 {&lt;br /&gt;
     [[case]] 1:&lt;br /&gt;
          startnpctimer;&lt;br /&gt;
          [[end]];&lt;br /&gt;
 &lt;br /&gt;
     case 2:&lt;br /&gt;
          stopnpctimer;&lt;br /&gt;
          end;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 [[OnTimer]]60000:&lt;br /&gt;
     [[announce]] &amp;quot;This will only ever be called once.&amp;quot;, bc_all|bc_npc;&lt;br /&gt;
     end;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Script Command]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Isloggedin</id>
		<title>Isloggedin</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Isloggedin"/>
				<updated>2015-01-17T14:11:11Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: nevermind me [6] (testing stuff)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Syntax==&lt;br /&gt;
*'''isloggedin'''(&amp;lt;account id&amp;gt;[, &amp;lt;char id&amp;gt;]);&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This function checks, whether an character with given [[AID|account id]] is currently online (1) or not (0). Additionally a [[CID|char id]] can be specified, for exact character matching.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
 [[input]] .@aid;&lt;br /&gt;
 if(isloggedin(.@aid))&lt;br /&gt;
 {&lt;br /&gt;
     [[mes]] &amp;quot;A character with account id &amp;quot;+.@aid+&amp;quot; is currently around.&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
     mes &amp;quot;Sorry, there is no character online with account id &amp;quot;+.@aid+&amp;quot;,&amp;quot;;&lt;br /&gt;
     mes &amp;quot;or the account does not exist.&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[attachrid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Script Command]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Initnpctimer</id>
		<title>Initnpctimer</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Initnpctimer"/>
				<updated>2015-01-17T14:05:13Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: nevermind me [5] (testing stuff)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Syntax==&lt;br /&gt;
* [[initnpctimer]] {&amp;lt;attach flag&amp;gt;};&lt;br /&gt;
* [[initnpctimer]] {&amp;quot;&amp;lt;NPC name&amp;gt;&amp;quot;};&lt;br /&gt;
* [[initnpctimer]] {&amp;quot;&amp;lt;NPC name&amp;gt;&amp;quot;{, &amp;lt;attach flag&amp;gt;}};&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
This script command will begin an NPC-attached timer on the running or specified NPC. The timer will run internally in the NPC and is not attached to any player, so will continue to run even when there are no players logged on. It is important to note that an NPC can only run a single timer on itself at any given time. In order to process multiple timers, the script would have to use player based timers such as [[addtimer]].&lt;br /&gt;
&lt;br /&gt;
The timer runs in milliseconds (1/1000th of a second) from 0, and calling this script command will begin a new timer (if a timer is not already running on the NPC) or reset the current timer on the NPC. To completely stop the NPC timer, the script command [[stopnpctimer]] must be called, and to resume the timer (without resetting the current tick) the script command [[startnpctimer]] must be called.&lt;br /&gt;
&lt;br /&gt;
The script can access a timer event by creating a label matching the format &amp;quot;OnTimer&amp;lt;tick&amp;gt;:&amp;quot; where the &amp;lt;tick&amp;gt; is replaced with a millisecond value to occur on. The NPC timer does not reset automatically once reaching one of these labels, therefore it is possible to multiple labels with incremented &amp;lt;tick&amp;gt; values to handle the same NPC timer (see [[#Examples|Examples]]).&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
===Attach Flag===&lt;br /&gt;
&lt;br /&gt;
The flag value determines whether a player should be directly associated with this NPC timer. When flag is specified (a value of 1) the script will attach the player who is currently attached to the script, to the timer. If no player is attached to the script when this flag is specified, then the [[initnpctimer]] call will fail.&lt;br /&gt;
&lt;br /&gt;
If a player is successfully attached to the NPC timer, and logs out of the game, then the event label &amp;quot;OnTimerQuit:&amp;quot; will run on the NPC (the player will still be logged in at this point) to allow cleaning up and handling of the timer.&lt;br /&gt;
&lt;br /&gt;
===NPC Name===&lt;br /&gt;
&lt;br /&gt;
If specified, the call to [[initnpctimer]] will not apply to the current running script but will take effect on the NPC which exists with the passed NPC name. If an NPC could not be found with this name then the [[initnpctimer]] call will fail.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
* Announce every 1 second (resetting the timer after every 1000 milliseconds)&lt;br /&gt;
     initnpctimer;&lt;br /&gt;
     end;&lt;br /&gt;
 &lt;br /&gt;
 [[OnTimer]]1000:&lt;br /&gt;
     [[announce]] &amp;quot;1 second has passed!&amp;quot;, bc_all|bc_npc;&lt;br /&gt;
     initnpctimer;&lt;br /&gt;
     [[end]];&lt;br /&gt;
* Announce at 5 and 10 seconds (stopping the timer once 10000 milliseconds is reached)&lt;br /&gt;
     initnpctimer;&lt;br /&gt;
     end;&lt;br /&gt;
 &lt;br /&gt;
 [[OnTimer]]5000:&lt;br /&gt;
     [[announce]] &amp;quot;5 seconds have passed!&amp;quot;, bc_all|bc_npc;&lt;br /&gt;
     [[end]];&lt;br /&gt;
 &lt;br /&gt;
  OnTimer10000:&lt;br /&gt;
     announce &amp;quot;10 seconds have passed!!&amp;quot;, bc_all|bc_npc;&lt;br /&gt;
     [[stopnpctimer]];&lt;br /&gt;
     end;&lt;br /&gt;
&lt;br /&gt;
* Perform an event on a player every 60 seconds (resetting the timer after every 60000 milliseconds)&lt;br /&gt;
     initnpctimer 1;&lt;br /&gt;
     end;&lt;br /&gt;
 &lt;br /&gt;
 [[OnTimer]]60000:&lt;br /&gt;
     [[percentheal]] 10, 0;&lt;br /&gt;
     [[message]] [[strcharinfo]](0), &amp;quot;You were healed 10% HP!&amp;quot;;&lt;br /&gt;
     initnpctimer 1;&lt;br /&gt;
     [[end]];&lt;br /&gt;
 &lt;br /&gt;
 OnTimerQuit:&lt;br /&gt;
     [[stopnpctimer]];&lt;br /&gt;
     [[end]];&lt;br /&gt;
&lt;br /&gt;
[[Category:Script Command]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Min</id>
		<title>Min</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Min"/>
				<updated>2015-01-17T14:04:37Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: nevermind me [4] (testing stuff)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Syntax ==&lt;br /&gt;
*[[min]](&amp;lt;number&amp;gt;{,&amp;lt;number&amp;gt;...&amp;lt;number&amp;gt;})&lt;br /&gt;
*[[max]](&amp;lt;number&amp;gt;{,&amp;lt;number&amp;gt;...&amp;lt;number&amp;gt;})&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Returns the smallest (or biggest) from the set of given numbers.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&amp;lt;pre&amp;gt;	.@minimum = min(1, -6, -2, 8, 2); // .@minimum will be equal to -6&lt;br /&gt;
	.@maximum = max(0, 5, 10, 4); // .@maximum will be equal to 10&lt;br /&gt;
	.@level = min(BaseLevel, 70); // .@level will be the character's base level, capped to 70&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Script Command]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Do</id>
		<title>Do</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Do"/>
				<updated>2015-01-17T13:53:25Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: nevermind me [2]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Syntax ==&lt;br /&gt;
* [[do]] { &amp;lt;statement&amp;gt;; } [[while]] (&amp;lt;condition&amp;gt;);&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The '[[do]]...[[while]]' is the only post-test loop structure available in this &lt;br /&gt;
script language. With a post-test, the statements are executed once before &lt;br /&gt;
the condition is tested. When the condition is true, the statement(s) are &lt;br /&gt;
repeated. When the condition is false, control is transferred to the &lt;br /&gt;
statement following the '[[do]]...[[while]]' loop expression.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;do {&lt;br /&gt;
	Code to execute(1)&lt;br /&gt;
} while (expression(2));&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Example 1: sentinel-controlled loop&lt;br /&gt;
	mes &amp;quot;This menu will keep appearing until you pick Cancel&amp;quot;;&lt;br /&gt;
	do {&lt;br /&gt;
		set .@menu, select(&amp;quot;One:Two:Three:Cancel&amp;quot;);&lt;br /&gt;
	} while (.@menu != 4);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Example 2: counter-controlled loop&lt;br /&gt;
	mes &amp;quot;This will countdown from 10 to 1.&amp;quot;;&lt;br /&gt;
	set .@i, 10;&lt;br /&gt;
	do {&lt;br /&gt;
		mes .@i;&lt;br /&gt;
		set .@i, .@i - 1;&lt;br /&gt;
	} while (.@i &amp;gt; 0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Script Command]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Do</id>
		<title>Do</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Do"/>
				<updated>2015-01-17T13:52:28Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: nevermind this&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Syntax ==&lt;br /&gt;
* [[do]] { &amp;lt;statement&amp;gt;; } [[while]] (&amp;lt;condition&amp;gt;);&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The '[[do]]...[[while]]' is the only post-test loop structure available in this &lt;br /&gt;
script language. With a post-test, the statements are executed once before &lt;br /&gt;
the condition is tested. When the condition is true, the statement(s) are &lt;br /&gt;
repeated. When the condition is false, control is transferred to the &lt;br /&gt;
statement following the '[[do]]...[[while]]' loop expression.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;do {&lt;br /&gt;
	Code to execute(1)&lt;br /&gt;
} while (expression(2));&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Example 1: sentinel-controlled loop&lt;br /&gt;
	mes &amp;quot;This menu will keep appearing until you pick Cancel&amp;quot;;&lt;br /&gt;
	do {&lt;br /&gt;
		set .@menu, select(&amp;quot;One:Two:Three:Cancel&amp;quot;);&lt;br /&gt;
	} while (.@menu != 4);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Example 2: counter-controlled loop&lt;br /&gt;
	mes &amp;quot;This will countdown from 10 to 1.&amp;quot;;&lt;br /&gt;
	set .@i, 10;&lt;br /&gt;
	do {&lt;br /&gt;
		mes .@i;&lt;br /&gt;
		set .@i, .@i - 1;&lt;br /&gt;
	} while (.@i &amp;gt; 0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Script Command]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/System_Requirements</id>
		<title>System Requirements</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/System_Requirements"/>
				<updated>2014-02-24T21:40:45Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Updated memory usage with latest tests&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Hercules]] works off of the [[wikipedia:Client–server_model|client-server model]]. The player, usually using a [[Hexing|hexed]] kRO [[Renewal|RE]] client, first connects to the [[Login Server]]. When the client enters their login information, it is given the list of available char-servers, which the player chooses from. After the server has been chosen, the client connects to the selected [[Character Server]], which displays the characters on that player's account. After selecting a character, the client is directed to the [[Map Server]], which maintains maps and the character positions on the server and relays this information to the client.&lt;br /&gt;
&lt;br /&gt;
Hercules is designed to run on a machine that is designated as a Server, either Dedicated or VPS. It can run on a workstation, but using that workstation for other tasks (including playing on the same machine that is running the server) will reduce performance.&lt;br /&gt;
&lt;br /&gt;
== Hardware Requirements ==&lt;br /&gt;
Hercules requires the following resources from the machine in order to function without problems or the common &amp;quot;Lag&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* 1.5 GHz or faster CPU, either Intel or AMD is acceptable. Some members have reported that they have gotten Hercules to run on other processors.&lt;br /&gt;
* 128 MB of RAM, MINIMUM. The map server in an idle state consumes about 76MB of RAM, depending on how many maps and [[NPC|NPCs]] are loaded (41mb when no NPCs are in use).&lt;br /&gt;
* A video card powerful enough to run the Operating System of your choice. Hercules is a console based software, which means that all that is required to run it is a console or command access.&lt;br /&gt;
* Fast internet or network connection. This is very hard to predict. A lot of questions arise that ask 'how much bandwidth does Hercules need?'. There is no answer to that. It is all depending on how many characters are connected, from where, and what they do while connected to the server.&lt;br /&gt;
* 250MB of Hard Drive space or better, up-to 1GB depending on how big the database may get.&lt;br /&gt;
&lt;br /&gt;
== Software Requirements ==&lt;br /&gt;
Hercules, depending on what you plan to do with it and what platform you run it on, will require, at a minimum, the following:&lt;br /&gt;
&lt;br /&gt;
* GCC compatible compiler&lt;br /&gt;
* zlib&lt;br /&gt;
* MySQL server and libraries&lt;br /&gt;
* Git (if using self-compiled packages)&lt;br /&gt;
&lt;br /&gt;
== Supported Operating Systems ==&lt;br /&gt;
The following operating systems have been tested and are known to work:&lt;br /&gt;
=== [[wikipedia:Linux|Linux]] ===&lt;br /&gt;
* Debian Based: [http://www.debian.org/ Debian], [http://www.knoppix.net/ Knoppix], [http://www.ubuntu.com/ Ubuntu Server &amp;amp; Desktop]&lt;br /&gt;
* RPM Based: [http://www.centos.org/ CentOS], [http://fedoraproject.org/ Fedora Core], [http://www2.mandriva.com/ Mandriva], [http://www.redhat.com/rhel/ Red Hat Linux], [http://www.novell.com/linux/ SUSE Linux]&lt;br /&gt;
* Slackware Based: [http://www.slackware.com/ Slackware]&lt;br /&gt;
=== [[wikipedia:Unix|Unix]] ===&lt;br /&gt;
* BSD Based: [http://www.freebsd.org/ FreeBSD], [http://www.openbsd.org/ OpenBSD]&lt;br /&gt;
=== [[wikipedia:Microsoft_Windows|Windows]] ===&lt;br /&gt;
* [[wikipedia:Windows_Server|Server Versions]]: Windows Server 2000, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012&lt;br /&gt;
* Home Versions: Windows 98, Windows ME, Windows 2000, Windows XP, Windows Vista, Windows 7&lt;br /&gt;
&lt;br /&gt;
64-bit operating systems of all those listed will take some time and effort to get working.&lt;br /&gt;
&lt;br /&gt;
[[Category:Basics]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Clientinfo.xml</id>
		<title>Clientinfo.xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Clientinfo.xml"/>
				<updated>2013-11-16T23:34:46Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''sclientinfo.xml'' is a file that configures your modified Sakray client so that it may connect to Hercules Servers, for non-Sakray and Renewal clients this file is usually called ''clientinfo.xml''.&lt;br /&gt;
&lt;br /&gt;
== Template ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;euc-kr&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;clientinfo&amp;gt;&lt;br /&gt;
	&amp;lt;desc&amp;gt;Ragnarok Client Information&amp;lt;/desc&amp;gt;&lt;br /&gt;
	&amp;lt;servicetype&amp;gt;korea&amp;lt;/servicetype&amp;gt;&lt;br /&gt;
	&amp;lt;servertype&amp;gt;sakray&amp;lt;/servertype&amp;gt;&lt;br /&gt;
	&amp;lt;hideaccountlist /&amp;gt;&lt;br /&gt;
	&amp;lt;passwordencrypt /&amp;gt;&lt;br /&gt;
	&amp;lt;passwordencrypt2 /&amp;gt;&lt;br /&gt;
	&amp;lt;extendedslot /&amp;gt;&lt;br /&gt;
	&amp;lt;readfolder /&amp;gt;&lt;br /&gt;
	&amp;lt;connection&amp;gt;&lt;br /&gt;
		&amp;lt;display&amp;gt;SERVER NAME HERE&amp;lt;/display&amp;gt;&lt;br /&gt;
		&amp;lt;desc&amp;gt;Ragnarok Online&amp;lt;/desc&amp;gt;&lt;br /&gt;
		&amp;lt;balloon&amp;gt;this is a tool tip&amp;lt;/balloon&amp;gt;&lt;br /&gt;
		&amp;lt;address&amp;gt;SERVER IP HERE&amp;lt;/address&amp;gt;&lt;br /&gt;
		&amp;lt;port&amp;gt;6900&amp;lt;/port&amp;gt;&lt;br /&gt;
		&amp;lt;version&amp;gt;20&amp;lt;/version&amp;gt;&lt;br /&gt;
		&amp;lt;langtype&amp;gt;1&amp;lt;/langtype&amp;gt;&lt;br /&gt;
		&amp;lt;registrationweb&amp;gt;REGISTRATION URL HERE&amp;lt;/registrationweb&amp;gt;&lt;br /&gt;
		&amp;lt;yellow&amp;gt;&lt;br /&gt;
			&amp;lt;admin&amp;gt;2000001&amp;lt;/admin&amp;gt;&lt;br /&gt;
			&amp;lt;admin&amp;gt;2000002&amp;lt;/admin&amp;gt;&lt;br /&gt;
			&amp;lt;admin&amp;gt;2000003&amp;lt;/admin&amp;gt;&lt;br /&gt;
		&amp;lt;/yellow&amp;gt;&lt;br /&gt;
		&amp;lt;loading&amp;gt;&lt;br /&gt;
			&amp;lt;image&amp;gt;loading00.jpg&amp;lt;/image&amp;gt;&lt;br /&gt;
			&amp;lt;image&amp;gt;loading01.jpg&amp;lt;/image&amp;gt;&lt;br /&gt;
			&amp;lt;image&amp;gt;loading02.jpg&amp;lt;/image&amp;gt;&lt;br /&gt;
			&amp;lt;image&amp;gt;loading03.jpg&amp;lt;/image&amp;gt;&lt;br /&gt;
			&amp;lt;image&amp;gt;loading04.jpg&amp;lt;/image&amp;gt;&lt;br /&gt;
			&amp;lt;image&amp;gt;loading05.jpg&amp;lt;/image&amp;gt;&lt;br /&gt;
			&amp;lt;image&amp;gt;loading06.jpg&amp;lt;/image&amp;gt;&lt;br /&gt;
			&amp;lt;image&amp;gt;loading07.jpg&amp;lt;/image&amp;gt;&lt;br /&gt;
			&amp;lt;image&amp;gt;loading08.jpg&amp;lt;/image&amp;gt;&lt;br /&gt;
			&amp;lt;image&amp;gt;loading09.jpg&amp;lt;/image&amp;gt;&lt;br /&gt;
			&amp;lt;image&amp;gt;loading10.jpg&amp;lt;/image&amp;gt;&lt;br /&gt;
		&amp;lt;/loading&amp;gt;&lt;br /&gt;
	&amp;lt;/connection&amp;gt;&lt;br /&gt;
&amp;lt;/clientinfo&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explanation ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Tag&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;servicetype&amp;gt;||Specifies the client service type (country). Affects client behavior for some features. See below for valid values. Should be set to '''korea''', unless you know, what you want to achieve by using another value.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;servertype&amp;gt;||Specifies the server type this client is intended for. Affects client behavior for some features. See below for valid values. Should be set to '''sakray''', unless you know, what you want to achieve by using another value.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;hideaccountlist /&amp;gt;||When present, disallows the client from showing Service Select screen and uses the first &amp;lt;connection&amp;gt; entry automatically.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;passwordencrypt /&amp;gt;||When present, passwords are encrypted (method 1) before being sent to the server. Incompatible with '''use_MD5_passwords''' defined in .../conf/login_athena.conf.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;passwordencrypt2 /&amp;gt;||When present, passwords are encrypted (method 2) before being sent to the server. When you use this with &amp;lt;passwordencrypt /&amp;gt;, method 2 will be used. Incompatible with '''use_MD5_passwords''' defined in .../conf/login_athena.conf.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;extendedslot /&amp;gt;||When present, all character slots (usually 9) are available. Otherwise only 2-4 are enabled for use, others are displayed as 'Not available'.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;readfolder /&amp;gt;||When present, all files are first searched inside the /data/ folder, then inside the [[GRF]] archives. Otherwise files inside the /data/ folder are only accessed, when they were not found inside the GRF archives.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;display&amp;gt;||Displays the name of the server at the Service Select screen.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;desc&amp;gt;||Server description.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;balloon&amp;gt;||This tag tells the game to display a tooltip when the cursor is over the server name on the server select screen.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;address&amp;gt;||IP or DNS address of the server (for DNS, client needs the DNS hex).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;port&amp;gt;||Connection server port (default 6900).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;version&amp;gt;||Must be equal to '''client_version_to_connect''' defined in .../conf/login_athena.conf.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;langtype&amp;gt;||See table below.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;registrationweb&amp;gt;||Web address to open when you click the Register button.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;yellow&amp;gt;||Characters with the following Account IDs will be seen in GM sprites and have Yellow name/chat (add the Account IDs of all your GMs here).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;aid&amp;gt;||Use instead of &amp;lt;yellow&amp;gt; to also allow the right-click menu for your GMs.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;loading&amp;gt;||Define each loading screen in the path .../data/texture/À¯ÀúÀÎÅÍÆäÀÌ½º/ (to use more than 10, client also needs Unlimited Loading Screens hex).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' All [[wikipedia:XML|XML]] rules apply, so &amp;lt;tag /&amp;gt; options can also be written as &amp;lt;tag&amp;gt;&amp;lt;/tag&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 +-----+------------------------+-------------------+&lt;br /&gt;
 | int | enum SERVICETYPE       | &amp;quot;servicetype&amp;quot; tag |&lt;br /&gt;
 +-----+------------------------+-------------------+&lt;br /&gt;
 | 0   | SERVICETYPE_KOREA      | korea             |&lt;br /&gt;
 | 1   | SERVICETYPE_AMERICA    | america           |&lt;br /&gt;
 | 2   | SERVICETYPE_JAPAN      | japan             |&lt;br /&gt;
 | 3   | SERVICETYPE_CHINA      | china             |&lt;br /&gt;
 | 4   | SERVICETYPE_TAIWAN     | taiwan            |&lt;br /&gt;
 | 5   | SERVICETYPE_THAI       | thai              |&lt;br /&gt;
 | 6   | SERVICETYPE_INDONESIA  | indonesia         |&lt;br /&gt;
 | 7   | SERVICETYPE_PHILIPPINE | philippine        |&lt;br /&gt;
 | 8   | SERVICETYPE_MALAYSIA   | malaysia          |&lt;br /&gt;
 | 9   | SERVICETYPE_SINGAPORE  | singapore         |&lt;br /&gt;
 | 10  | SERVICETYPE_GERMANY    | germany           |&lt;br /&gt;
 | 11  | SERVICETYPE_INDIA      | india             |&lt;br /&gt;
 | 12  | SERVICETYPE_BRAZIL     | brazil            |&lt;br /&gt;
 | 13  | SERVICETYPE_AUSTRALIA  | australia         |&lt;br /&gt;
 | 14  | SERVICETYPE_RUSSIA     | russia            |&lt;br /&gt;
 | 15  | SERVICETYPE_VIETNAM    | vietnam           |&lt;br /&gt;
 | 17  | SERVICETYPE_CHILE      | chile             |&lt;br /&gt;
 | 18  | SERVICETYPE_FRANCE     | france            |&lt;br /&gt;
 | 19  | SERVICETYPE_UAE        | uae               |&lt;br /&gt;
 +-----+------------------------+-------------------+&lt;br /&gt;
&lt;br /&gt;
 +-----+------------------------+-------------------+&lt;br /&gt;
 | int | enum ServerType        | &amp;quot;servertype&amp;quot; tag  |&lt;br /&gt;
 +-----+------------------------+-------------------+&lt;br /&gt;
 | 0   | ServerPrimary          | primary           |&lt;br /&gt;
 | 1   | ServerSakray           | sakray            |&lt;br /&gt;
 | 2   | ServerLocal            | local             |&lt;br /&gt;
 | 5   | ServerPK               | pk                |&lt;br /&gt;
 +-----+------------------------+-------------------+&lt;br /&gt;
&lt;br /&gt;
[[Category:Client Configuration]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/System_Requirements</id>
		<title>System Requirements</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/System_Requirements"/>
				<updated>2013-11-08T22:52:52Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basic Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Hercules]] works off of the [[wikipedia:Client–server_model|client-server model]]. The player, usually using a [[Hexing|hexed]] kRO [[Renewal|RE]] client, first connects to the [[Login Server]]. When the client enters their login information, it is given the list of available char-servers, which the player chooses from. After the server has been chosen, the client connects to the selected [[Character Server]], which displays the characters on that player's account. After selecting a character, the client is directed to the [[Map Server]], which maintains maps and the character positions on the server and relays this information to the client.&lt;br /&gt;
&lt;br /&gt;
Hercules is designed to run on a machine that is designated as a Server, either Dedicated or VPS. It can run on a workstation, but using that workstation for other tasks (including playing on the same machine that is running the server) will reduce performance.&lt;br /&gt;
&lt;br /&gt;
== Hardware Requirements ==&lt;br /&gt;
Hercules requires the following resources from the machine in order to function without problems or the common &amp;quot;Lag&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* 1.5 GHz or faster CPU, either Intel or AMD is acceptable. Some members have reported that they have gotten Hercules to run on other processors.&lt;br /&gt;
* 128 MB of RAM, MINIMUM. The map server in an idle state consumes about 87MB of RAM, depending on how many maps and [[NPC|NPCs]] are loaded.&lt;br /&gt;
* A video card powerful enough to run the Operating System of your choice. Hercules is a console based software, which means that all that is required to run it is a console or command access.&lt;br /&gt;
* Fast internet or network connection. This is very hard to predict. A lot of questions arise that ask 'how much bandwidth does Hercules need?'. There is no answer to that. It is all depending on how many characters are connected, from where, and what they do while connected to the server.&lt;br /&gt;
* 250MB of Hard Drive space or better, up-to 1GB depending on how big the database may get.&lt;br /&gt;
&lt;br /&gt;
== Software Requirements ==&lt;br /&gt;
Hercules, depending on what you plan to do with it and what platform you run it on, will require, at a minimum, the following:&lt;br /&gt;
&lt;br /&gt;
* GCC compatible compiler&lt;br /&gt;
* zlib&lt;br /&gt;
* MySQL server and libraries&lt;br /&gt;
* Git (if using self-compiled packages)&lt;br /&gt;
&lt;br /&gt;
== Supported Operating Systems ==&lt;br /&gt;
The following operating systems have been tested and are known to work:&lt;br /&gt;
=== [[wikipedia:Linux|Linux]] ===&lt;br /&gt;
* Debian Based: [http://www.debian.org/ Debian], [http://www.knoppix.net/ Knoppix], [http://www.ubuntu.com/ Ubuntu Server &amp;amp; Desktop]&lt;br /&gt;
* RPM Based: [http://www.centos.org/ CentOS], [http://fedoraproject.org/ Fedora Core], [http://www2.mandriva.com/ Mandriva], [http://www.redhat.com/rhel/ Red Hat Linux], [http://www.novell.com/linux/ SUSE Linux]&lt;br /&gt;
* Slackware Based: [http://www.slackware.com/ Slackware]&lt;br /&gt;
=== [[wikipedia:Unix|Unix]] ===&lt;br /&gt;
* BSD Based: [http://www.freebsd.org/ FreeBSD], [http://www.openbsd.org/ OpenBSD]&lt;br /&gt;
=== [[wikipedia:Microsoft_Windows|Windows]] ===&lt;br /&gt;
* [[wikipedia:Windows_Server|Server Versions]]: Windows Server 2000, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012&lt;br /&gt;
* Home Versions: Windows 98, Windows ME, Windows 2000, Windows XP, Windows Vista, Windows 7&lt;br /&gt;
&lt;br /&gt;
64-bit operating systems of all those listed will take some time and effort to get working.&lt;br /&gt;
&lt;br /&gt;
[[Category:Basics]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Editing_the_wiki</id>
		<title>Editing the wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Editing_the_wiki"/>
				<updated>2013-10-31T16:48:32Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome to the Hercules wiki!==&lt;br /&gt;
The Hercules wiki could always use some help. It is an ever changing repository of information related to Hercules, such as installation, configuration, scripting and even some client support. The wiki thanks you for stopping by and showing some interest in helping get the wiki full of the most useful information for Hercules.&lt;br /&gt;
&lt;br /&gt;
===Where to Begin?===&lt;br /&gt;
All users must login to the wiki using their forum account. Any member with more than 1 post on the forums can edit the wiki, but please keep in mind that the Hercules wiki is released under the [[wikipedia:GNU_Free_Documentation_License|GNU Free Documentation License]] Version 1.2. This means that the wiki and any works put on it can be edited at will. They may also be distributed, provided all history and copylefts remain intact. Please see read this page for more information.&lt;br /&gt;
&lt;br /&gt;
Don't know where to start? Check the [[Special:WantedPages]] page and create a page that is listed there!&lt;br /&gt;
&lt;br /&gt;
Please do not create pages for custom content, such as custom projects not relating to Hercules in any way. A full list of content that should not be on the wiki is listed at [[Editing the wiki]].&lt;br /&gt;
&lt;br /&gt;
Please see [[:Category:Wiki_Projects|Wiki Projects]] for any ongoing projects that you might be able to help with!&lt;br /&gt;
&lt;br /&gt;
===License Requirements===&lt;br /&gt;
The Hercules wiki is to be released under the [[wikipedia:GNU_Free_Documentation_License|GNU Free Documentation License]]. For those that do not know, this license allows anyone to edit your work on the wiki at will, provided that all pertinent history is remained intact and all copylefts are abided by. This work can also be redistributed, again, provided that all copylefts remain intact.&lt;br /&gt;
&lt;br /&gt;
===Editing Requirements===&lt;br /&gt;
You might be eager to start editing. The first question is....how do I start?&lt;br /&gt;
&lt;br /&gt;
With the Hercules wiki, you can use IPB BBCodes to format your work, but there is a helpful toolbar at the top of the edit box to help you as well.&lt;br /&gt;
&lt;br /&gt;
You can create a new page, but make sure that the page you are creating [[Special:AllPages|doesn't exist yet]] and preferably is already [[Special:WantedPages|being linked to]]. If it already exists, maybe you can head over and help edit in something that might be missing that someone forgot.&lt;br /&gt;
&lt;br /&gt;
===General Rules for the Hercules wiki===&lt;br /&gt;
{{outdated|type=section}}&lt;br /&gt;
These guidelines/rules should be followed on the Hercules wiki. If not followed, your account is at risk for being banned from the wiki '''as well as''' from the forums. You have been warned.&lt;br /&gt;
* Deleting a page must come from a Community Administrator or a Documentation Manager. If you have a page that you request for deletion, please add the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{deletion suggested}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; template. See [[Template:Delete]] for details.&lt;br /&gt;
* Editing wars are not to be tolerated. It creates unwanted and unneeded long history.&lt;br /&gt;
* Pornography is a not to appear on the Hercules wiki.&lt;br /&gt;
* Text must be appropriate in nature and not contain foul language.&lt;br /&gt;
&lt;br /&gt;
===General tips for editing a wiki===&lt;br /&gt;
These tips should be referenced when you need to edit/write an article.&lt;br /&gt;
* As mentioned before, make sure that if a new page is being created, it [[Special:AllPages|doesn't exist yet]].&lt;br /&gt;
* Use proper English with proper spelling and grammar. The Hercules wiki is in English and English only at this point.&lt;br /&gt;
* Links should not appear in topic titles, such as the title of a section.&lt;br /&gt;
* There should be no reason to link to a page more than once if it appears in the article multiple times. The first mention of a topic that has a page should be linked to.&lt;br /&gt;
* Name your page appropriately and avoid special symbols. Don't make your page too long, but think of a name that will relate to the article (i.e: Don't name your article related to XRay 'client').&lt;br /&gt;
* Use images when Windows is involved. It is too hard and sometimes troublesome to read an article with the text: Go here, click OK, go here, hover your mouse here, click here, type this, click here, drag it to here, etc.&lt;br /&gt;
* Any section or article that relates to changing code should be in DIFF or PATCH format. This includes all of the proper syntax. If you do not know what a diff or patch file is, please refer to it's Wikipedia article [[wikipedia:Diff#Unified_format|here]]. 'find and replace' text is not acceptable.&lt;br /&gt;
* Make use of Wikipedia's help articles, if you are unsure about [[wikipedia:Wikipedia:How_to_edit_a_page|editing articles]] or [[wikipedia:Help:Wiki_markup|the use of some wiki-code]]. Note, that most of the templates used on Wikipedia cannot be applied to the Hercules wiki, except [[:Category:Templates|few ones]].&lt;br /&gt;
* Use the ''Show preview'' button before saving the page, especially when you are unsure, how your edit turns out. This helps avoiding follow-up &amp;quot;ooops&amp;quot;-edits.&lt;br /&gt;
* Before you save an article, add reason for your edit or summary of your edit in the ''Summary'' line. You help others to recognize, what was changed and why in the [[Special:RecentChanges|list of recent changes]] and it distinguishes you from spam-bots, which do not add a reason. You do not need to add a summary for your user-page or on article's talk pages. If you cannot remember what you changed, use the ''Show changes'' button to review all changes done to the page as a diff.&lt;br /&gt;
* Avoid excessive amount of formatting. Use either '''bold''' or ''italics'' but not '''''both'''''. Refrain from using &amp;lt;u&amp;gt;underlining&amp;lt;/u&amp;gt; as this usually gives the impression of a link. &amp;lt;s&amp;gt;Strike-through&amp;lt;/s&amp;gt; should be used on talk pages only, if there is something in an article to invalidate, simply delete it.&lt;br /&gt;
&lt;br /&gt;
===Script Command Pages===&lt;br /&gt;
As a general rule of thumb, the following format should be used in order to keep the articles in a uniform fashion.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;==Syntax==&lt;br /&gt;
*'''scriptcommand'''(&amp;lt;argument1&amp;gt;, &amp;lt;&amp;quot;argument2&amp;quot;&amp;gt;);&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This command does this and that, and arguments mean that and this.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
 [[mes]] &amp;quot;...&amp;quot;;&lt;br /&gt;
 [[if]](scriptcommand(1, &amp;quot;abc&amp;quot;))&lt;br /&gt;
 {&lt;br /&gt;
     mes &amp;quot;...&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 [[close]];&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[related script command 1]]&lt;br /&gt;
* [[related script command 2]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Script Command]]&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_gcc</id>
		<title>Building HPM Plugin for gcc</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_gcc"/>
				<updated>2013-10-27T17:17:27Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: thanks to haruna make will know the file was changed and reload confiugre on its own.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to prepare your gcc environment for a new [[HPM]] plugin.&lt;br /&gt;
= Guide =&lt;br /&gt;
In your '''src/plugins/Makefile.in''' file you should find something like:&lt;br /&gt;
 ################  PLUGIN CONFIGURATION  ##############################&lt;br /&gt;
 #                                                                    #&lt;br /&gt;
 # When you add a plugin, add its name here:                          #&lt;br /&gt;
 # Example: if you have a plugin named my_cool_plugin.c and another   #&lt;br /&gt;
 # one named my_second_plugin.c, add them to the list like this:      #&lt;br /&gt;
 #                                                                    #&lt;br /&gt;
 # MYPLUGINS = my_cool_plugin my_second_plugin                        #&lt;br /&gt;
 #                                                                    #&lt;br /&gt;
 # Note: DO NOT include the .c extension!!!                           #&lt;br /&gt;
 &lt;br /&gt;
 MYPLUGINS = &lt;br /&gt;
add your plugin name (without the .c extension), after '''MYPLUGINS =''' save and close.&amp;lt;br/&amp;gt;&lt;br /&gt;
Lastly, run '''make plugins''' command at the root folder of Hercules, and you're good to go.&lt;br /&gt;
[[HPM]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules_Plugin_Manager</id>
		<title>Hercules Plugin Manager</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules_Plugin_Manager"/>
				<updated>2013-10-04T19:55:51Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Often referred to as the [[HPM]], the '''Hercules Plugin Manager''' is yet another [[Hercules Original]]&lt;br /&gt;
= Building a plugin =&lt;br /&gt;
While the [[C]] code for the plugin normally won't have discrepancies, in order to [[compile]] the plugin certain criteria must be met depending on your Operating System, there are 2 guides below, one for windows and other for everything else (which should work on any *nix distro, as well as on OSX).&lt;br /&gt;
;Windows&lt;br /&gt;
: [[Building HPM Plugin for MSVC]]&lt;br /&gt;
;All Others&lt;br /&gt;
: [[Building HPM Plugin for gcc]]&lt;br /&gt;
&lt;br /&gt;
= Creating a plugin =&lt;br /&gt;
After following the [[#Building_a_plugin|building a plugin]] guide, all thats left is for your plugin's code to be made, the following will guide you through the basics of how a [[HPM]] plugin works.&lt;br /&gt;
== HPM Events ==&lt;br /&gt;
Events are functions in a plugin that are triggered by the '''Hercules Plugin Mananger''' when they meet certain criteria.&amp;lt;br/&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Triggered when the server starts&lt;br /&gt;
* &amp;lt;code&amp;gt;void plugin_final (void)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Triggered when the server starts to shut itself down&lt;br /&gt;
* &amp;lt;code&amp;gt;void server_ready (void)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Triggered after the server is done starting, and is online.&lt;br /&gt;
* &amp;lt;code&amp;gt;void server_post_final (void)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Triggered after the server's main shutdown procedures are complete, core functionality such as memory manager, timer, and sockets are still available at this point.&lt;br /&gt;
With the [[HPM]] you only need to code the events your plugin will use.&lt;br /&gt;
== HPM Hooks ==&lt;br /&gt;
In Hercules, hooking is a simple operation, it is possible to hook an infinite number of times to the over 2k hookable functions (all the interfaced ones, accounting for over 99% of map server)&amp;lt;br/&amp;gt;&lt;br /&gt;
 HPExport void plugin_init (void) {&lt;br /&gt;
 	addHookPre(&amp;quot;pc-&amp;gt;dropitem&amp;quot;,my_pc_dropitem_preHook);  /* int my_pc_dropitem_preHook(struct map_session_data *sd,int *n,int *amount) */&lt;br /&gt;
 	addHookPost(&amp;quot;pc-&amp;gt;dropitem&amp;quot;,my_pc_dropitem_postHook);/* int my_pc_dropitem_postHook(int retVal, struct map_session_data *sd,int *n,int *amount) */&lt;br /&gt;
 }&lt;br /&gt;
Hooks receive all function params as pointers, whereas the original may be&lt;br /&gt;
 int pc_dropitem(struct map_session_data *sd,int n,int amount)&lt;br /&gt;
the one for the hook shall be&lt;br /&gt;
 (struct map_session_data *sd,int *n,int *amount)&lt;br /&gt;
which allows for hooks to modify any and all data as it pleases.&amp;lt;br/&amp;gt;&lt;br /&gt;
postHooks receive one additional param, which accounts for the result of the original function,&lt;br /&gt;
 int &amp;lt;name&amp;gt;(int retVal, struct map_session_data *sd,int *n,int *amount)&lt;br /&gt;
In this case it'd allow for the postHook to react properly to what the original returned, in this case (for pc_dropitem) 0 (failure) or 1 (success)&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM @commands ==&lt;br /&gt;
The [[HPM]] makes it very simple to provide [[@commands]] through plugins.&amp;lt;br/&amp;gt;&lt;br /&gt;
You define a new atcommand exactly as it'd normally be done in {{git|src/map/atcommand.c}}&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 ACMD(sample) {//@sample command - 5 params: const int fd, struct map_session_data* sd, const char* command, const char* message, struct AtCommandInfo *info&lt;br /&gt;
 	clif-&amp;gt;message(fd,&amp;quot;You used the @sample command!&amp;quot;);&lt;br /&gt;
 	ShowDebug(&amp;quot;I'm being run! message -&amp;gt; '%s' by '%s'\n&amp;quot;,message,sd-&amp;gt;status.name);&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
After that you just have to link your new command, to do that you use the &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt; event.&lt;br /&gt;
 HPMi-&amp;gt;addCommand(&amp;quot;sample&amp;quot;,ACMD_A(sample));&lt;br /&gt;
and voila, your plugin now adds the '''@sample''' command.&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Script Commands ==&lt;br /&gt;
The [[HPM]] makes it very simple to provide [[Category:Script_Command|script commands]] through plugins.&amp;lt;br/&amp;gt;&lt;br /&gt;
You define a new script command exactly as it'd normally be done in {{git|src/map/script.c}}&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 BUILDIN(sample) {//script command 'sample(num);' - 1 param: struct script_state* st&lt;br /&gt;
 	int arg = script_getnum(st,2);&lt;br /&gt;
 	ShowInfo(&amp;quot;I'm being run! arg -&amp;gt; '%d'\n&amp;quot;,arg);&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
After that you just have to link your new script command, to do that you use the &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt; event.&lt;br /&gt;
 HPMi-&amp;gt;addScript(&amp;quot;sample&amp;quot;,&amp;quot;i&amp;quot;,BUILDIN_A(sample)); //note the 2nd param is this commands' arg-types (in this case, a number)&lt;br /&gt;
and voila, your plugin now adds the '''sample''' script command.&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Console Commands ==&lt;br /&gt;
The [[HPM]] makes it very simple to provide [[Category:Console_Command|console commands]] through plugins.&amp;lt;br/&amp;gt;&lt;br /&gt;
You define a new console command exactly as it'd normally be done in {{git|src/common/console.c}}&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 CPCMD(sample) {//console command 'sample' - 1 param: char *line&lt;br /&gt;
 	ShowInfo(&amp;quot;I'm being run! arg -&amp;gt; '%s'\n&amp;quot;,line?line:&amp;quot;NONE&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
After that you just have to link your new script command, to do that you use the &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt; event.&lt;br /&gt;
 addCPCommand(&amp;quot;this:is:a:sample&amp;quot;,CPCMD_A(sample)); // note the first param is the path to this command, in this case it translates to 'this is a sample' and everything afterwards is the commands' params&lt;br /&gt;
and voila, your plugin now adds the '''sample''' console command.&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Custom Packets ==&lt;br /&gt;
The HPM makes it possible for a plugin to add or override packets within all 3 servers&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 /* sample packet implementation */&lt;br /&gt;
 /* cmd 0xf3 - it is a client-server existent id, for clif_parse_GlobalMessage */&lt;br /&gt;
 /* in this sample we do nothing and simply redirect */&lt;br /&gt;
 void sample_packet0f3(int fd) {&lt;br /&gt;
 	struct map_session_data *sd = session[fd]-&amp;gt;session_data;&lt;br /&gt;
  	&lt;br /&gt;
 	if( !sd ) return;/* socket didn't fully log-in? this packet shouldn't do anything then! */&lt;br /&gt;
 &lt;br /&gt;
 	ShowInfo(&amp;quot;sample_packet0f3: Hello World! received 0xf3 for '%s', redirecting!\n&amp;quot;,sd-&amp;gt;status.name);&lt;br /&gt;
 &lt;br /&gt;
 	clif-&amp;gt;pGlobalMessage(fd,sd);&lt;br /&gt;
 }&lt;br /&gt;
 void plugin_init(void) {&lt;br /&gt;
 	HPMi-&amp;gt;addPacket(0xf3,-1,sample_packet0f3,hpClif_Parse,HPMi-&amp;gt;pid);&lt;br /&gt;
 }&lt;br /&gt;
and voila, your plugin just changed the map server's '''0xf3''' packet to pass by '''sample_packet0f3''' prior to being sent to '''clif_parse_GlobalMessage'''&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Custom Data Structs ==&lt;br /&gt;
The HPM makes it possible for a plugin to create and append structs to existent data, this feature is currently supported on player units (map_session_data) and network pipes (socket_data)&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 /* can be of any size, using any data types */&lt;br /&gt;
 struct sample_data_struct {&lt;br /&gt;
 	struct point lastMSGPosition;&lt;br /&gt;
 	unsigned int someNumber;&lt;br /&gt;
 };&lt;br /&gt;
 /* appends/reads sample_data_struct in a network session data entry (socket_data) */&lt;br /&gt;
 void some_function_receiving_a_socket_fd(int fd) {&lt;br /&gt;
 	struct sample_data_struct *data;&lt;br /&gt;
 &lt;br /&gt;
 	if( !(data = HPMi-&amp;gt;getFromSession(session[fd],HPMi-&amp;gt;pid,0)) ) {&lt;br /&gt;
 		CREATE(data,struct sample_data_struct,1);&lt;br /&gt;
 		&lt;br /&gt;
 		data-&amp;gt;lastMSGPosition.map = 1;&lt;br /&gt;
 		data-&amp;gt;lastMSGPosition.x = 150;&lt;br /&gt;
 		data-&amp;gt;lastMSGPosition.y = 150;&lt;br /&gt;
 		data-&amp;gt;someNumber = rand()%777;&lt;br /&gt;
 		&lt;br /&gt;
 		ShowInfo(&amp;quot;Created Appended session[] data, %d %d %d %d\n&amp;quot;,data-&amp;gt;lastMSGPosition.map,data-&amp;gt;lastMSGPosition.x,data-&amp;gt;lastMSGPosition.y,data-&amp;gt;someNumber);&lt;br /&gt;
 		HPMi-&amp;gt;addToSession(session[fd],data,HPMi-&amp;gt;pid,0,true);&lt;br /&gt;
 	} else {&lt;br /&gt;
 		ShowInfo(&amp;quot;Existent Appended session[] data, %d %d %d %d\n&amp;quot;,data-&amp;gt;lastMSGPosition.map,data-&amp;gt;lastMSGPosition.x,data-&amp;gt;lastMSGPosition.y,data-&amp;gt;someNumber);&lt;br /&gt;
 		if( rand()%4 == 2 ) {&lt;br /&gt;
 			ShowInfo(&amp;quot;Removing Appended session[] data\n&amp;quot;);&lt;br /&gt;
 			HPMi-&amp;gt;removeFromSession(session[fd],HPMi-&amp;gt;pid,0);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
and voila, your plugin becomes capable of appending and handling your custom struct data&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Function Overloading ==&lt;br /&gt;
Thanks to [[Hercules Renewal Phase One]], you're capable of overloading all functions covered by the [[Hercules Renewal Phase One]] interfaces, with your plugin.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 int my_custom_check_target_function( struct block_list *src, struct block_list *target,int flag) {&lt;br /&gt;
 	//&amp;lt;...&amp;gt; code&lt;br /&gt;
 }&lt;br /&gt;
 void server_ready(void) {&lt;br /&gt;
 	battle = GET_SYMBOL(&amp;quot;battle&amp;quot;);&lt;br /&gt;
 	battle-&amp;gt;check_target = &amp;amp;my_custom_check_target_function;&lt;br /&gt;
 }&lt;br /&gt;
and voila, your plugin just overloaded the game server's '''battle_check_target''' function with your plugin's own, this is greatly handy to ensure your customs do not create conflicts when updating your [[Hercules|Hercules Repository]]&lt;br /&gt;
= Other Features =&lt;br /&gt;
Is there something you'd like to do with your plugin that requires modifications to [[HPM]]'s core? [http://hercules.ws/board/forum/55-suggestions/ let we know], and we'll do our best to make it happen.&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://hercules.ws/board/forum/55-suggestions/ Post your suggestions here]&lt;br /&gt;
= Support =&lt;br /&gt;
Need help writing your plugin? [http://hercules.ws/board/forum/26-source-support/ post your question on our support forum]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules_Plugin_Manager</id>
		<title>Hercules Plugin Manager</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules_Plugin_Manager"/>
				<updated>2013-10-04T19:53:24Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Often referred to as the [[HPM]], the '''Hercules Plugin Manager''' is yet another [[Hercules Original]]&lt;br /&gt;
= Building a plugin =&lt;br /&gt;
While the [[C]] code for the plugin normally won't have discrepancies, in order to [[compile]] the plugin certain criteria must be met depending on your Operating System, there are 2 guides below, one for windows and other for everything else (which should work on any *nix distro, as well as on OSX).&lt;br /&gt;
;Windows&lt;br /&gt;
: [[Building HPM Plugin for MSVC]]&lt;br /&gt;
;All Others&lt;br /&gt;
: [[Building HPM Plugin for gcc]]&lt;br /&gt;
&lt;br /&gt;
= Creating a plugin =&lt;br /&gt;
After following the [[#Building_a_plugin|building a plugin]] guide, all thats left is for your plugin's code to be made, the following will guide you through the basics of how a [[HPM]] plugin works.&lt;br /&gt;
== HPM Events ==&lt;br /&gt;
Events are functions in a plugin that are triggered by the '''Hercules Plugin Mananger''' when they meet certain criteria.&amp;lt;br/&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Triggered when the server starts&lt;br /&gt;
* &amp;lt;code&amp;gt;void plugin_final (void)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Triggered when the server starts to shut itself down&lt;br /&gt;
* &amp;lt;code&amp;gt;void server_ready (void)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Triggered after the server is done starting, and is online.&lt;br /&gt;
With the [[HPM]] you only need to code the events your plugin will use.&lt;br /&gt;
== HPM Hooks ==&lt;br /&gt;
In Hercules, hooking is a simple operation, it is possible to hook an infinite number of times to the over 2k hookable functions (all the interfaced ones, accounting for over 99% of map server)&amp;lt;br/&amp;gt;&lt;br /&gt;
 HPExport void plugin_init (void) {&lt;br /&gt;
 	addHookPre(&amp;quot;pc-&amp;gt;dropitem&amp;quot;,my_pc_dropitem_preHook);  /* int my_pc_dropitem_preHook(struct map_session_data *sd,int *n,int *amount) */&lt;br /&gt;
 	addHookPost(&amp;quot;pc-&amp;gt;dropitem&amp;quot;,my_pc_dropitem_postHook);/* int my_pc_dropitem_postHook(int retVal, struct map_session_data *sd,int *n,int *amount) */&lt;br /&gt;
 }&lt;br /&gt;
Hooks receive all function params as pointers, whereas the original may be&lt;br /&gt;
 int pc_dropitem(struct map_session_data *sd,int n,int amount)&lt;br /&gt;
the one for the hook shall be&lt;br /&gt;
 (struct map_session_data *sd,int *n,int *amount)&lt;br /&gt;
which allows for hooks to modify any and all data as it pleases.&amp;lt;br/&amp;gt;&lt;br /&gt;
postHooks receive one additional param, which accounts for the result of the original function,&lt;br /&gt;
 int &amp;lt;name&amp;gt;(int retVal, struct map_session_data *sd,int *n,int *amount)&lt;br /&gt;
In this case it'd allow for the postHook to react properly to what the original returned, in this case (for pc_dropitem) 0 (failure) or 1 (success)&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM @commands ==&lt;br /&gt;
The [[HPM]] makes it very simple to provide [[@commands]] through plugins.&amp;lt;br/&amp;gt;&lt;br /&gt;
You define a new atcommand exactly as it'd normally be done in {{git|src/map/atcommand.c}}&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 ACMD(sample) {//@sample command - 5 params: const int fd, struct map_session_data* sd, const char* command, const char* message, struct AtCommandInfo *info&lt;br /&gt;
 	clif-&amp;gt;message(fd,&amp;quot;You used the @sample command!&amp;quot;);&lt;br /&gt;
 	ShowDebug(&amp;quot;I'm being run! message -&amp;gt; '%s' by '%s'\n&amp;quot;,message,sd-&amp;gt;status.name);&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
After that you just have to link your new command, to do that you use the &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt; event.&lt;br /&gt;
 HPMi-&amp;gt;addCommand(&amp;quot;sample&amp;quot;,ACMD_A(sample));&lt;br /&gt;
and voila, your plugin now adds the '''@sample''' command.&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Script Commands ==&lt;br /&gt;
The [[HPM]] makes it very simple to provide [[Category:Script_Command|script commands]] through plugins.&amp;lt;br/&amp;gt;&lt;br /&gt;
You define a new script command exactly as it'd normally be done in {{git|src/map/script.c}}&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 BUILDIN(sample) {//script command 'sample(num);' - 1 param: struct script_state* st&lt;br /&gt;
 	int arg = script_getnum(st,2);&lt;br /&gt;
 	ShowInfo(&amp;quot;I'm being run! arg -&amp;gt; '%d'\n&amp;quot;,arg);&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
After that you just have to link your new script command, to do that you use the &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt; event.&lt;br /&gt;
 HPMi-&amp;gt;addScript(&amp;quot;sample&amp;quot;,&amp;quot;i&amp;quot;,BUILDIN_A(sample)); //note the 2nd param is this commands' arg-types (in this case, a number)&lt;br /&gt;
and voila, your plugin now adds the '''sample''' script command.&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Console Commands ==&lt;br /&gt;
The [[HPM]] makes it very simple to provide [[Category:Console_Command|console commands]] through plugins.&amp;lt;br/&amp;gt;&lt;br /&gt;
You define a new console command exactly as it'd normally be done in {{git|src/common/console.c}}&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 CPCMD(sample) {//console command 'sample' - 1 param: char *line&lt;br /&gt;
 	ShowInfo(&amp;quot;I'm being run! arg -&amp;gt; '%s'\n&amp;quot;,line?line:&amp;quot;NONE&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
After that you just have to link your new script command, to do that you use the &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt; event.&lt;br /&gt;
 addCPCommand(&amp;quot;this:is:a:sample&amp;quot;,CPCMD_A(sample)); // note the first param is the path to this command, in this case it translates to 'this is a sample' and everything afterwards is the commands' params&lt;br /&gt;
and voila, your plugin now adds the '''sample''' console command.&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Custom Packets ==&lt;br /&gt;
The HPM makes it possible for a plugin to add or override packets within all 3 servers&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 /* sample packet implementation */&lt;br /&gt;
 /* cmd 0xf3 - it is a client-server existent id, for clif_parse_GlobalMessage */&lt;br /&gt;
 /* in this sample we do nothing and simply redirect */&lt;br /&gt;
 void sample_packet0f3(int fd) {&lt;br /&gt;
 	struct map_session_data *sd = session[fd]-&amp;gt;session_data;&lt;br /&gt;
  	&lt;br /&gt;
 	if( !sd ) return;/* socket didn't fully log-in? this packet shouldn't do anything then! */&lt;br /&gt;
 &lt;br /&gt;
 	ShowInfo(&amp;quot;sample_packet0f3: Hello World! received 0xf3 for '%s', redirecting!\n&amp;quot;,sd-&amp;gt;status.name);&lt;br /&gt;
 &lt;br /&gt;
 	clif-&amp;gt;pGlobalMessage(fd,sd);&lt;br /&gt;
 }&lt;br /&gt;
 void plugin_init(void) {&lt;br /&gt;
 	HPMi-&amp;gt;addPacket(0xf3,-1,sample_packet0f3,hpClif_Parse,HPMi-&amp;gt;pid);&lt;br /&gt;
 }&lt;br /&gt;
and voila, your plugin just changed the map server's '''0xf3''' packet to pass by '''sample_packet0f3''' prior to being sent to '''clif_parse_GlobalMessage'''&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Custom Data Structs ==&lt;br /&gt;
The HPM makes it possible for a plugin to create and append structs to existent data, this feature is currently supported on player units (map_session_data) and network pipes (socket_data)&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 /* can be of any size, using any data types */&lt;br /&gt;
 struct sample_data_struct {&lt;br /&gt;
 	struct point lastMSGPosition;&lt;br /&gt;
 	unsigned int someNumber;&lt;br /&gt;
 };&lt;br /&gt;
 /* appends/reads sample_data_struct in a network session data entry (socket_data) */&lt;br /&gt;
 void some_function_receiving_a_socket_fd(int fd) {&lt;br /&gt;
 	struct sample_data_struct *data;&lt;br /&gt;
 &lt;br /&gt;
 	if( !(data = HPMi-&amp;gt;getFromSession(session[fd],HPMi-&amp;gt;pid,0)) ) {&lt;br /&gt;
 		CREATE(data,struct sample_data_struct,1);&lt;br /&gt;
 		&lt;br /&gt;
 		data-&amp;gt;lastMSGPosition.map = 1;&lt;br /&gt;
 		data-&amp;gt;lastMSGPosition.x = 150;&lt;br /&gt;
 		data-&amp;gt;lastMSGPosition.y = 150;&lt;br /&gt;
 		data-&amp;gt;someNumber = rand()%777;&lt;br /&gt;
 		&lt;br /&gt;
 		ShowInfo(&amp;quot;Created Appended session[] data, %d %d %d %d\n&amp;quot;,data-&amp;gt;lastMSGPosition.map,data-&amp;gt;lastMSGPosition.x,data-&amp;gt;lastMSGPosition.y,data-&amp;gt;someNumber);&lt;br /&gt;
 		HPMi-&amp;gt;addToSession(session[fd],data,HPMi-&amp;gt;pid,0,true);&lt;br /&gt;
 	} else {&lt;br /&gt;
 		ShowInfo(&amp;quot;Existent Appended session[] data, %d %d %d %d\n&amp;quot;,data-&amp;gt;lastMSGPosition.map,data-&amp;gt;lastMSGPosition.x,data-&amp;gt;lastMSGPosition.y,data-&amp;gt;someNumber);&lt;br /&gt;
 		if( rand()%4 == 2 ) {&lt;br /&gt;
 			ShowInfo(&amp;quot;Removing Appended session[] data\n&amp;quot;);&lt;br /&gt;
 			HPMi-&amp;gt;removeFromSession(session[fd],HPMi-&amp;gt;pid,0);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
and voila, your plugin becomes capable of appending and handling your custom struct data&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Function Overloading ==&lt;br /&gt;
Thanks to [[Hercules Renewal Phase One]], you're capable of overloading all functions covered by the [[Hercules Renewal Phase One]] interfaces, with your plugin.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 int my_custom_check_target_function( struct block_list *src, struct block_list *target,int flag) {&lt;br /&gt;
 	//&amp;lt;...&amp;gt; code&lt;br /&gt;
 }&lt;br /&gt;
 void server_ready(void) {&lt;br /&gt;
 	battle = GET_SYMBOL(&amp;quot;battle&amp;quot;);&lt;br /&gt;
 	battle-&amp;gt;check_target = &amp;amp;my_custom_check_target_function;&lt;br /&gt;
 }&lt;br /&gt;
and voila, your plugin just overloaded the game server's '''battle_check_target''' function with your plugin's own, this is greatly handy to ensure your customs do not create conflicts when updating your [[Hercules|Hercules Repository]]&lt;br /&gt;
= Other Features =&lt;br /&gt;
Is there something you'd like to do with your plugin that requires modifications to [[HPM]]'s core? [http://hercules.ws/board/forum/55-suggestions/ let we know], and we'll do our best to make it happen.&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://hercules.ws/board/forum/55-suggestions/ Post your suggestions here]&lt;br /&gt;
= Support =&lt;br /&gt;
Need help writing your plugin? [http://hercules.ws/board/forum/26-source-support/ post your question on our support forum]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_gcc</id>
		<title>Building HPM Plugin for gcc</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_gcc"/>
				<updated>2013-10-04T19:49:56Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to prepare your gcc environment for a new [[HPM]] plugin.&lt;br /&gt;
= Guide =&lt;br /&gt;
In your '''src/plugins/Makefile.in''' file you should find something like:&lt;br /&gt;
 ################  PLUGIN CONFIGURATION  ##############################&lt;br /&gt;
 #                                                                    #&lt;br /&gt;
 # When you add a plugin, add its name here:                          #&lt;br /&gt;
 # Example: if you have a plugin named my_cool_plugin.c and another   #&lt;br /&gt;
 # one named my_second_plugin.c, add them to the list like this:      #&lt;br /&gt;
 #                                                                    #&lt;br /&gt;
 # MYPLUGINS = my_cool_plugin my_second_plugin                        #&lt;br /&gt;
 #                                                                    #&lt;br /&gt;
 # Note: DO NOT include the .c extension!!!                           #&lt;br /&gt;
 &lt;br /&gt;
 MYPLUGINS = &lt;br /&gt;
add your plugin name (without the .c extension), after '''MYPLUGINS =''' save and close.&amp;lt;br/&amp;gt;&lt;br /&gt;
Lastly, re-run your '''./configure''' command at the root folder of Hercules, and you're good to go.&lt;br /&gt;
[[HPM]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/MSVC_Crash_Debugging</id>
		<title>MSVC Crash Debugging</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/MSVC_Crash_Debugging"/>
				<updated>2013-08-23T15:15:05Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1. In the '''Solution Explorer''' sidebar, right click '''map-server'''&amp;lt;br/&amp;gt;&lt;br /&gt;
2. Hit '''Set as StartUp Project'''&amp;lt;br/&amp;gt;&lt;br /&gt;
3. right click '''map-server''' again, hit '''Properties'''&amp;lt;br/&amp;gt;&lt;br /&gt;
4. In the '''Properties''' window, within '''Configuration Properties''' -&amp;gt; '''Debugging''', change '''Working Directory''' to '''$(SolutionDir)''', then save &amp;amp; close the '''Properties''' window.&amp;lt;br/&amp;gt;&lt;br /&gt;
5. Hit '''F5''' key it will launch map server under debug mode, once it crashes a '''Call Stack''' window will be populated with useful debug information.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Footnote ==&lt;br /&gt;
Written by a non-MSVC user, please improve at will, and feel free to dump this footnote when you do so.&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/MSVC_Crash_Debugging</id>
		<title>MSVC Crash Debugging</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/MSVC_Crash_Debugging"/>
				<updated>2013-08-23T15:12:47Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;1. In the 'Solution Explorer' sidebar, right click map-server&amp;lt;br/&amp;gt; 2. Hit 'Set as StartUp Project'&amp;lt;br/&amp;gt; 3. right click map-server again, hit 'Properties'&amp;lt;br/&amp;gt; 4. In the Proper...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1. In the 'Solution Explorer' sidebar, right click map-server&amp;lt;br/&amp;gt;&lt;br /&gt;
2. Hit 'Set as StartUp Project'&amp;lt;br/&amp;gt;&lt;br /&gt;
3. right click map-server again, hit 'Properties'&amp;lt;br/&amp;gt;&lt;br /&gt;
4. In the Properties window, within 'Configuration Properties' -&amp;gt; 'Debugging', change 'Working Directory' to '$(SolutionDir)', then save &amp;amp; close the Properties window.&amp;lt;br/&amp;gt;&lt;br /&gt;
5. Hit 'F5' it will launch map server under debug mode, once it crashes a 'Call Stack' window will be populated with useful debug information.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Footnote ==&lt;br /&gt;
Written by a non-MSVC user, please improve at will, and feel free to dump this footnote when you do so.&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules_Plugin_Manager</id>
		<title>Hercules Plugin Manager</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules_Plugin_Manager"/>
				<updated>2013-08-08T18:45:40Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Often referred to as the [[HPM]], the '''Hercules Plugin Manager''' is yet another [[Hercules Original]]&lt;br /&gt;
= Building a plugin =&lt;br /&gt;
While the [[C]] code for the plugin normally won't have discrepancies, in order to [[compile]] the plugin certain criteria must be met depending on your [[Operating System]], there are 2 guides below, one for windows and other for everything else (which should work on any *nix distro, as well as on OSX).&lt;br /&gt;
;Windows&lt;br /&gt;
: [[Building HPM Plugin for MSVC]]&lt;br /&gt;
;All Others&lt;br /&gt;
: [[Building HPM Plugin for gcc]]&lt;br /&gt;
= Creating a plugin =&lt;br /&gt;
After following the [[#Building_a_plugin|building a plugin]] guide, all thats left is for your plugin's code to be made, the following will guide you through the basics of how a [[HPM]] plugin works.&lt;br /&gt;
== HPM Events ==&lt;br /&gt;
Events are functions in a plugin that are triggered by the '''Hercules Plugin Mananger''' when they meet certain criteria.&amp;lt;br/&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Triggered when the server starts&lt;br /&gt;
* &amp;lt;code&amp;gt;void plugin_final (void)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Triggered when the server starts to shut itself down&lt;br /&gt;
* &amp;lt;code&amp;gt;void server_ready (void)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Triggered after the server is done starting, and is online.&lt;br /&gt;
With the [[HPM]] you only need to code the events your plugin will use.&lt;br /&gt;
== HPM Hooks ==&lt;br /&gt;
Support for Hooks will be enabled within the next [[HPM]] release.&lt;br /&gt;
== HPM @commands ==&lt;br /&gt;
The [[HPM]] makes it very simple to provide [[@commands]] through plugins.&amp;lt;br/&amp;gt;&lt;br /&gt;
You define a new atcommand exactly as it'd normally be done in {{git|src/map/atcommand.c}}&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 ACMD(sample) {//@sample command - 5 params: const int fd, struct map_session_data* sd, const char* command, const char* message, struct AtCommandInfo *info&lt;br /&gt;
 	clif-&amp;gt;message(fd,&amp;quot;You used the @sample command!&amp;quot;);&lt;br /&gt;
 	ShowDebug(&amp;quot;I'm being run! message -&amp;gt; '%s' by '%s'\n&amp;quot;,message,sd-&amp;gt;status.name);&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
After that you just have to link your new command, to do that you use the &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt; event.&lt;br /&gt;
 HPMi-&amp;gt;addCommand(&amp;quot;sample&amp;quot;,ACMD_A(sample));&lt;br /&gt;
and voila, your plugin now adds the '''@sample''' command.&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Script Commands ==&lt;br /&gt;
The [[HPM]] makes it very simple to provide [[Category:Script_Command|script commands]] through plugins.&amp;lt;br/&amp;gt;&lt;br /&gt;
You define a new script command exactly as it'd normally be done in {{git|src/map/script.c}}&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 BUILDIN(sample) {//script command 'sample(num);' - 1 param: struct script_state* st&lt;br /&gt;
 	int arg = script_getnum(st,2);&lt;br /&gt;
 	ShowInfo(&amp;quot;I'm being run! arg -&amp;gt; '%d'\n&amp;quot;,arg);&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
After that you just have to link your new script command, to do that you use the &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt; event.&lt;br /&gt;
 HPMi-&amp;gt;addScript(&amp;quot;sample&amp;quot;,&amp;quot;i&amp;quot;,BUILDIN_A(sample)); //note the 2nd param is this commands' arg-types (in this case, a number)&lt;br /&gt;
and voila, your plugin now adds the '''sample''' script command.&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Console Commands ==&lt;br /&gt;
The [[HPM]] makes it very simple to provide [[Category:Console_Command|console commands]] through plugins.&amp;lt;br/&amp;gt;&lt;br /&gt;
You define a new console command exactly as it'd normally be done in {{git|src/common/console.c}}&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 CPCMD(sample) {//console command 'sample' - 1 param: char *line&lt;br /&gt;
 	ShowInfo(&amp;quot;I'm being run! arg -&amp;gt; '%s'\n&amp;quot;,line?line:&amp;quot;NONE&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
After that you just have to link your new script command, to do that you use the &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt; event.&lt;br /&gt;
 addCPCommand(&amp;quot;this:is:a:sample&amp;quot;,CPCMD_A(sample)); // note the first param is the path to this command, in this case it translates to 'this is a sample' and everything afterwards is the commands' params&lt;br /&gt;
and voila, your plugin now adds the '''sample''' console command.&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Custom Packets ==&lt;br /&gt;
The HPM makes it possible for a plugin to add or override packets within all 3 servers&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 /* sample packet implementation */&lt;br /&gt;
 /* cmd 0xf3 - it is a client-server existent id, for clif_parse_GlobalMessage */&lt;br /&gt;
 /* in this sample we do nothing and simply redirect */&lt;br /&gt;
 void sample_packet0f3(int fd) {&lt;br /&gt;
 	struct map_session_data *sd = session[fd]-&amp;gt;session_data;&lt;br /&gt;
  	&lt;br /&gt;
 	if( !sd ) return;/* socket didn't fully log-in? this packet shouldn't do anything then! */&lt;br /&gt;
 &lt;br /&gt;
 	ShowInfo(&amp;quot;sample_packet0f3: Hello World! received 0xf3 for '%s', redirecting!\n&amp;quot;,sd-&amp;gt;status.name);&lt;br /&gt;
 &lt;br /&gt;
 	clif-&amp;gt;pGlobalMessage(fd,sd);&lt;br /&gt;
 }&lt;br /&gt;
 void plugin_init(void) {&lt;br /&gt;
 	HPMi-&amp;gt;addPacket(0xf3,-1,sample_packet0f3,hpClif_Parse,HPMi-&amp;gt;pid);&lt;br /&gt;
 }&lt;br /&gt;
and voila, your plugin just changed the map server's '''0xf3''' packet to pass by '''sample_packet0f3''' prior to being sent to '''clif_parse_GlobalMessage'''&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Custom Data Structs ==&lt;br /&gt;
The HPM makes it possible for a plugin to create and append structs to existent data, this feature is currently supported on player units (map_session_data) and network pipes (socket_data)&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 /* can be of any size, using any data types */&lt;br /&gt;
 struct sample_data_struct {&lt;br /&gt;
 	struct point lastMSGPosition;&lt;br /&gt;
 	unsigned int someNumber;&lt;br /&gt;
 };&lt;br /&gt;
 /* appends/reads sample_data_struct in a network session data entry (socket_data) */&lt;br /&gt;
 void some_function_receiving_a_socket_fd(int fd) {&lt;br /&gt;
 	struct sample_data_struct *data;&lt;br /&gt;
 &lt;br /&gt;
 	if( !(data = HPMi-&amp;gt;getFromSession(session[fd],HPMi-&amp;gt;pid,0)) ) {&lt;br /&gt;
 		CREATE(data,struct sample_data_struct,1);&lt;br /&gt;
 		&lt;br /&gt;
 		data-&amp;gt;lastMSGPosition.map = 1;&lt;br /&gt;
 		data-&amp;gt;lastMSGPosition.x = 150;&lt;br /&gt;
 		data-&amp;gt;lastMSGPosition.y = 150;&lt;br /&gt;
 		data-&amp;gt;someNumber = rand()%777;&lt;br /&gt;
 		&lt;br /&gt;
 		ShowInfo(&amp;quot;Created Appended session[] data, %d %d %d %d\n&amp;quot;,data-&amp;gt;lastMSGPosition.map,data-&amp;gt;lastMSGPosition.x,data-&amp;gt;lastMSGPosition.y,data-&amp;gt;someNumber);&lt;br /&gt;
 		HPMi-&amp;gt;addToSession(session[fd],data,HPMi-&amp;gt;pid,0,true);&lt;br /&gt;
 	} else {&lt;br /&gt;
 		ShowInfo(&amp;quot;Existent Appended session[] data, %d %d %d %d\n&amp;quot;,data-&amp;gt;lastMSGPosition.map,data-&amp;gt;lastMSGPosition.x,data-&amp;gt;lastMSGPosition.y,data-&amp;gt;someNumber);&lt;br /&gt;
 		if( rand()%4 == 2 ) {&lt;br /&gt;
 			ShowInfo(&amp;quot;Removing Appended session[] data\n&amp;quot;);&lt;br /&gt;
 			HPMi-&amp;gt;removeFromSession(session[fd],HPMi-&amp;gt;pid,0);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
and voila, your plugin becomes capable of appending and handling your custom struct data&amp;lt;br/&amp;gt;&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Function Overloading ==&lt;br /&gt;
Thanks to [[Hercules Renewal Phase One]], you're capable of overloading all functions covered by the [[Hercules Renewal Phase One]] interfaces, with your plugin.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 int my_custom_check_target_function( struct block_list *src, struct block_list *target,int flag) {&lt;br /&gt;
 	//&amp;lt;...&amp;gt; code&lt;br /&gt;
 }&lt;br /&gt;
 void server_ready(void) {&lt;br /&gt;
 	battle = GET_SYMBOL(&amp;quot;battle&amp;quot;);&lt;br /&gt;
 	battle-&amp;gt;check_target = &amp;amp;my_custom_check_target_function;&lt;br /&gt;
 }&lt;br /&gt;
and voila, your plugin just overloaded the game server's '''battle_check_target''' function with your plugin's own, this is greatly handy to ensure your customs do not create conflicts when updating your [[Hercules|Hercules Repository]]&lt;br /&gt;
= Other Features =&lt;br /&gt;
Is there something you'd like to do with your plugin that requires modifications to [[HPM]]'s core? [http://hercules.ws/board/forum/55-suggestions/ let we know], and we'll do our best to make it happen.&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://hercules.ws/board/forum/55-suggestions/ Post your suggestions here]&lt;br /&gt;
= Support =&lt;br /&gt;
Need help writing your plugin? [http://hercules.ws/board/forum/26-source-support/ post your question on our support forum]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules_Hierarchy</id>
		<title>Hercules Hierarchy</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules_Hierarchy"/>
				<updated>2013-07-11T17:48:13Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{yellbox|This page is '''incomplete''', you can help us improve this page by editing it}}&lt;br /&gt;
= Staff Titles =&lt;br /&gt;
Ordered alphabetically.&amp;lt;br/&amp;gt;All staff titles, regardless of their description, possesses full moderation powers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Administrators ==&lt;br /&gt;
They administrate.&lt;br /&gt;
* [http://hercules.ws/board/user/1-ind/ Ind] (Community Administrator)	&lt;br /&gt;
* [http://hercules.ws/board/user/2-jman/ Jman] (Community Administrator)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Core Developers ==&lt;br /&gt;
The kings of the code hill.&lt;br /&gt;
* [http://hercules.ws/board/user/28-greenbox/ GreenBox]&lt;br /&gt;
* [http://hercules.ws/board/user/20-malufett/ malufett]&lt;br /&gt;
* [http://hercules.ws/board/user/49-mkbu95/ mkbu95]&lt;br /&gt;
* [http://hercules.ws/board/user/307-haru/ Haru]&lt;br /&gt;
* [http://hercules.ws/board/user/725-susu/ Susu]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Forum Managers ==&lt;br /&gt;
They oversee everything forum-related&lt;br /&gt;
* [http://hercules.ws/board/user/10-judas/ Judas] ([http://hercules.ws/board/index.php?app=members&amp;amp;filter=17 Forum Manager])&lt;br /&gt;
* [http://hercules.ws/board/user/43-mysterious/ Mysterious] ([http://hercules.ws/board/index.php?app=members&amp;amp;filter=17 Forum Manager])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Moderators ==&lt;br /&gt;
Global Moderators are individuals who moderate all of the forums excluding International Communities, however, may still moderate.&amp;lt;br/&amp;gt;&lt;br /&gt;
Global Moderator ensure that all of the forums are cleaned by removing duplicate topics, ensuring posts/topics don't have spam, moving topics where need be, and locking topics.&amp;lt;br/&amp;gt;&lt;br /&gt;
Global Moderators also provide support to support topics, however, not to an extent as Support Leaders.&lt;br /&gt;
Global Moderator is not a position one can apply to, but be promoted to from other moderation position thanks to one's efforts and commitment to moderation.&lt;br /&gt;
* [http://hercules.ws/board/user/387-jabote/ jaBote]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Graphics Moderators ==&lt;br /&gt;
In charge of all the main graphics areas.&lt;br /&gt;
* [http://hercules.ws/board/user/129-adel/ Adel]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== High Council ==&lt;br /&gt;
They're an sort of upgrade from the [[#Community_Contributor]] title.&lt;br /&gt;
* [http://hercules.ws/board/user/8-eurydice/ Eurydice]&lt;br /&gt;
* [http://hercules.ws/board/user/6-jtynne/ jTynne]&lt;br /&gt;
* [http://hercules.ws/board/user/99-muad_dib/ Muad_Dib]&lt;br /&gt;
* [http://hercules.ws/board/user/456-rytech/ Rytech]&lt;br /&gt;
* [http://hercules.ws/board/user/409-yommy/ Yommy]&lt;br /&gt;
* [http://hercules.ws/board/user/67-xgear/ Xgear]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Int'l Moderators ==&lt;br /&gt;
International Moderators are individuals who moderate their respective International Community.&amp;lt;br/&amp;gt;&lt;br /&gt;
They are solely responsible in making sure their respective community is cleaned by moving, locking, removing, and cleaning topics of spams.&amp;lt;br/&amp;gt;&lt;br /&gt;
International Moderators don't have sole responsibility of other forums outside their community and they must provide support to individuals in their community.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Filipino====&lt;br /&gt;
* [http://hercules.ws/board/user/25-jaypee/ JayPee]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Portuguese====&lt;br /&gt;
* [http://hercules.ws/board/user/63-juliocf/ JulioCF]&lt;br /&gt;
* [http://hercules.ws/board/user/192-wolf/ Wolf]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Spanish====&lt;br /&gt;
* [http://hercules.ws/board/user/125-m45t3r/ M45T3R]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====German====&lt;br /&gt;
* [http://hercules.ws/board/user/1071-shikazu/ Shikazu]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Script Developers ==&lt;br /&gt;
Usually the members with the fastest key/second typing ratio.&lt;br /&gt;
* [http://hercules.ws/board/user/23-martin/ Martin]&lt;br /&gt;
* [http://hercules.ws/board/user/5-kenpachi/ Kenpachi]&lt;br /&gt;
* [http://hercules.ws/board/user/7-nameless2you/ Nameless2you]&lt;br /&gt;
* [http://hercules.ws/board/user/757-masao/ Masao]&lt;br /&gt;
* [http://hercules.ws/board/user/756-joseph/ Joseph]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Support Leaders ==&lt;br /&gt;
In charge of all the main supporting areas.&lt;br /&gt;
* [http://hercules.ws/board/user/4-emistry/ Emistry]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Other Titles =&lt;br /&gt;
Non-staff Titles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Community Contributor ==&lt;br /&gt;
This title is awarded to community members for their outstanding support of Hercules, for [http://hercules.ws/board/topic/376-hercules-cc-program/ more information check this thread]&lt;br /&gt;
* [http://hercules.ws/board/user/59-beret/ Beret]&lt;br /&gt;
* [http://hercules.ws/board/user/88-kyeme/ kyeme]&lt;br /&gt;
* [http://hercules.ws/board/user/315-mstream/ MStream]&lt;br /&gt;
* [http://hercules.ws/board/user/303-ryuuzaki/ Ryuuzaki]&lt;br /&gt;
* [http://hercules.ws/board/user/297-shakto/ Shakto]&lt;br /&gt;
* [http://hercules.ws/board/user/315-neomind/ Neomind]&lt;br /&gt;
* [http://hercules.ws/board/user/83-via/ Via]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules_Changes</id>
		<title>Hercules Changes</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules_Changes"/>
				<updated>2013-07-06T20:00:42Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Compilation of noteworthy changes done by Hercules throughout its existence, noteworthy being considered new features, modifications to existent features (e.g. script command) among other things.&lt;br /&gt;
= 2013 =&lt;br /&gt;
{{yellbox|This page is '''incomplete''', you can help us improve this page by editing it}}&lt;br /&gt;
== January ==&lt;br /&gt;
== February ==&lt;br /&gt;
== March ==&lt;br /&gt;
== April ==&lt;br /&gt;
== May ==&lt;br /&gt;
=== Instances / Instancing ===&lt;br /&gt;
Since May 30th on the [http://hercules.ws/board/topic/928-memory-slasher-may-30-patch/|Memory Slasher Patch]&lt;br /&gt;
==== Functionality/Feature ====&lt;br /&gt;
* map server was made capable of creating instances of any maps regardless of client-side edits, e.g. one can clone prontera and call it &amp;quot;mymapname&amp;quot;&lt;br /&gt;
* instances were modified to be employed in 4 distinct ways:&lt;br /&gt;
** by nobody (server type instance, to be used with special map names)&lt;br /&gt;
** by a sole character&lt;br /&gt;
** by a party&lt;br /&gt;
** by by a guild&lt;br /&gt;
==== Script Command Changes ====&lt;br /&gt;
* [[instance_create]] 2nd param was renamed to owner_id, (was party_id) , and it got a 3rd optional param that defines what kind of owner id it is (when not provided, assumes party_id, for backwards compatibility), available options are (IOT_ stands for INSTANCE OWNER TYPE) IOT_NONE (0), IOT_CHAR (1), IOT_PARTY (2) and IOT_GUILD (3).&lt;br /&gt;
* [[instance_destroy]] no longer autodetects instance id from party id&lt;br /&gt;
* [[instance_attachmap]] was given a 4th, optional, param, &amp;quot;&amp;lt;new map name&amp;gt;&amp;quot;, it allows a entirely new map name to be specified for the instance (without the need of client-side edits). this option can be best employed when used on a instance of &amp;lt;owner_type&amp;gt; IOT_NONE&lt;br /&gt;
* [[instance_detachmap]] no longer autodetects instance id from party id&lt;br /&gt;
* [[instance_id]] no longer supports any param&lt;br /&gt;
* [[instance_set_timeout]] no longer autodetects instance id from party id&lt;br /&gt;
* [[instance_announce]] no longer autodetects instance id from party id, and to tell it to autodetect from the attached script you must set instance_id param as -1 as opposed to 0&lt;br /&gt;
* [[instance_npcname]] no longer autodetects instance id from party id&lt;br /&gt;
* [[has_instance]] no longer autodetects instance from party, however it now checks if attached player possesses a instance with same map as [[has_instance]](&amp;lt;param&amp;gt;) checks for&lt;br /&gt;
* [[instance_warpall]] no longer autodetects instance from party&lt;br /&gt;
==== Other Changes ====&lt;br /&gt;
* instance IDs (valid ones) are now always &amp;gt;= 0 as opposed to &amp;gt; 0&lt;br /&gt;
== June ==&lt;br /&gt;
== July ==&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules_Changes</id>
		<title>Hercules Changes</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules_Changes"/>
				<updated>2013-07-06T19:58:14Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;A Compilation of noteworthy changes done by Hercules throughout its existence, noteworthy being considered new features, modifications to existent features (e.g. script comman...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Compilation of noteworthy changes done by Hercules throughout its existence, noteworthy being considered new features, modifications to existent features (e.g. script command) among other things.&lt;br /&gt;
= 2013 =&lt;br /&gt;
{{yellbox|This page is '''incomplete''', you can help us improve this page by editing it}}&lt;br /&gt;
== January ==&lt;br /&gt;
== February ==&lt;br /&gt;
== March ==&lt;br /&gt;
== April ==&lt;br /&gt;
== May ==&lt;br /&gt;
=== Instances / Instancing ===&lt;br /&gt;
Since May 30th on the [http://hercules.ws/board/topic/928-memory-slasher-may-30-patch/|Memory Slasher Patch]&lt;br /&gt;
==== Functionality/Feature ====&lt;br /&gt;
* map server was made capable of creating instances of any maps regardless of client-side edits, e.g. one can clone prontera and call it &amp;quot;mymapname&amp;quot;&lt;br /&gt;
* instances were modified to be employed in 4 distinct ways:&lt;br /&gt;
** by nobody (server type instance, to be used with special map names)&lt;br /&gt;
** by a sole character&lt;br /&gt;
** by a party&lt;br /&gt;
** by by a guild&lt;br /&gt;
==== Script Command Changes ====&lt;br /&gt;
* instance_create 2nd param was renamed to owner_id, (was party_id) , and it got a 3rd optional param that defines what kind of owner id it is (when not provided, assumes party_id, for backwards compatibility), available options are (IOT_ stands for INSTANCE OWNER TYPE) IOT_NONE (0), IOT_CHAR (1), IOT_PARTY (2) and IOT_GUILD (3).&lt;br /&gt;
* instance_destroy no longer autodetects instance id from party id&lt;br /&gt;
* instance_attachmap was given a 4th, optional, param, &amp;quot;&amp;lt;new map name&amp;gt;&amp;quot;, it allows a entirely new map name to be specified for the instance (without the need of client-side edits). this option can be best employed when used on a instance of &amp;lt;owner_type&amp;gt; IOT_NONE&lt;br /&gt;
* instance_detachmap no longer autodetects instance id from party id&lt;br /&gt;
* instance_id no longer supports any param&lt;br /&gt;
* instance_set_timeout no longer autodetects instance id from party id&lt;br /&gt;
* instance_announce no longer autodetects instance id from party id, and to tell it to autodetect from the attached script you must set instance_id param as -1 as opposed to 0&lt;br /&gt;
* instance_npcname no longer autodetects instance id from party id&lt;br /&gt;
* has_instance no longer autodetects instance from party, however it now checks if attached player possesses a instance with same map as has_instance(&amp;lt;param&amp;gt;) checks for&lt;br /&gt;
* instance_warpall no longer autodetects instance from party&lt;br /&gt;
==== Other Changes ====&lt;br /&gt;
* instance IDs (valid ones) are now always &amp;gt;= 0 as opposed to &amp;gt; 0&lt;br /&gt;
== June ==&lt;br /&gt;
== July ==&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules_Renewal_Phase_One</id>
		<title>Hercules Renewal Phase One</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules_Renewal_Phase_One"/>
				<updated>2013-06-09T23:26:44Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: /* Available Interfaces */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[Hercules Renewal Phase One]] started March 01, 2013, as [http://hercules.ws/board/topic/237-hercules-renewal/ announced over the forum by Ind]&amp;lt;br/&amp;gt;&lt;br /&gt;
The primary goal of the [[Hercules Renewal Phase One]] was to prepare the core for the [[Hercules Plugin Manager]]&amp;lt;br/&amp;gt;&lt;br /&gt;
The [[Hercules Renewal Phase One]] is still ongoing.&lt;br /&gt;
= Available Interfaces =&lt;br /&gt;
* '''Common'''&lt;br /&gt;
** console (console.c)&lt;br /&gt;
** DB (db.c)&lt;br /&gt;
** iTimer (timer.c)&lt;br /&gt;
** iMalloc (mallo.c)&lt;br /&gt;
** SQL (sql.c)&lt;br /&gt;
** strlib (strlib.c)&lt;br /&gt;
** sv (strlib.c)&lt;br /&gt;
** StrBuf (StringBuf) (strlib.c)&lt;br /&gt;
* '''Map Server'''&lt;br /&gt;
** atcommand (atcommand.c)&lt;br /&gt;
** battle (battle.c)&lt;br /&gt;
** bg (battlegrounds.c)&lt;br /&gt;
** buyingstore (buyingstore.c)&lt;br /&gt;
** clif (clif.c)&lt;br /&gt;
** guild (guild.c)&lt;br /&gt;
** homun (homunculus.c)&lt;br /&gt;
** ircbot (irc-bot.c)&lt;br /&gt;
** iMap (map.c)&lt;br /&gt;
** logs (log.c)&lt;br /&gt;
** mapit (map.c)&lt;br /&gt;
** party (party.c)&lt;br /&gt;
** pc (pc.c)&lt;br /&gt;
** script (script.c)&lt;br /&gt;
** searchstore (searchstore.c)&lt;br /&gt;
** skill (skill.c)&lt;br /&gt;
** vending (vending.c)&lt;br /&gt;
* '''Char Server'''&lt;br /&gt;
** pincode (pincode.c)&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_MSVC</id>
		<title>Building HPM Plugin for MSVC</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_MSVC"/>
				<updated>2013-06-09T04:15:32Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Thank you Thanna for updating this, its much appreciated :D&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to prepare your MSVC environment for a new [[HPM]] plugin.&lt;br /&gt;
= Guide =&lt;br /&gt;
1. Go to '''src/plugins/''' folder, create a new '''.c''' file, e.g. '''dance.c''' (this name will be used throughout this guide)&lt;br /&gt;
[[File:step1.JPG|center|750px]]&lt;br /&gt;
2. Open dance.c and paste this code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
#include &amp;quot;../common/HPMi.h&amp;quot;&lt;br /&gt;
#include &amp;quot;../map/script.h&amp;quot;&lt;br /&gt;
#include &amp;quot;../map/pc.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
HPExport struct hplugin_info pinfo =&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;@dance&amp;quot;,		// Plugin name&lt;br /&gt;
    SERVER_TYPE_MAP,// Which server types this plugin works with?&lt;br /&gt;
    &amp;quot;0.1a&amp;quot;,			// Plugin version&lt;br /&gt;
    HPM_VERSION,	// HPM Version (don't change, macro is automatically updated)&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
ACMD(dance)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      if (!message || !*message) {&lt;br /&gt;
		  clif-&amp;gt;message(fd, &amp;quot;usage: @dance 1-9&amp;quot;);&lt;br /&gt;
return -1;&lt;br /&gt;
   }&lt;br /&gt;
   if ( atoi(message) == 1 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 413, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 2 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 414, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 3 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 415, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 4 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 426, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 5 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 458, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 6 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 466, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 7 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 501, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 8 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 540, ALL_CLIENT);&lt;br /&gt;
   } else if ( atoi(message) == 9 ) {&lt;br /&gt;
clif-&amp;gt;specialeffect(&amp;amp;sd-&amp;gt;bl, 550, ALL_CLIENT);&lt;br /&gt;
   }&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
	clif-&amp;gt;message(fd, &amp;quot;usage: @dance 1-9&amp;quot;); &lt;br /&gt;
	}&lt;br /&gt;
   return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Server Startup */&lt;br /&gt;
HPExport void plugin_init (void)&lt;br /&gt;
{&lt;br /&gt;
    clif = GET_SYMBOL(&amp;quot;clif&amp;quot;);&lt;br /&gt;
    script = GET_SYMBOL(&amp;quot;script&amp;quot;);&lt;br /&gt;
    skill = GET_SYMBOL(&amp;quot;skill&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    HPMi-&amp;gt;addCommand(&amp;quot;dance&amp;quot;,ACMD_A(dance));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
3. Open your MSVC project (e.g. '''Hercules-10.sln'')&lt;br /&gt;
[[File:step2.JPG|center|750px]]&lt;br /&gt;
4. Go to the '''Solution Explorer'''&lt;br /&gt;
[[File:step3.JPG|center|750px]]&lt;br /&gt;
5. Right click the Hercules project (first item in '''Solution Explorer'''), and click '''Add-&amp;gt;New Project'''&lt;br /&gt;
[[File:step4.JPG|center|750px]]&lt;br /&gt;
6. Select '''General''', and pick '''Empty Project'''.&lt;br /&gt;
[[File:step5.JPG|center|750px]]&lt;br /&gt;
7. Enter the name of your plugin in the '''Name''' field, and click OK.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. In the solution explorer it'll display the new project.&lt;br /&gt;
[[File:step6.JPG|center|750px]]&lt;br /&gt;
9. Right click the new project, and open '''Add-&amp;gt;Existing Item'''&lt;br /&gt;
[[File:step7.JPG|center|750px]]&lt;br /&gt;
10. Browse to '''src/plugins/''' and select the '''dance.c''' file, and hit OK.&lt;br /&gt;
[[File:step8.JPG|center|750px]]&lt;br /&gt;
11. It will place the '''dance.c''' file under the '''Source Files''' folder, drag it to the project you created and drop it (in a manner it be placed out of the source files folder.)&lt;br /&gt;
[[File:step9.JPG|center|750px]]&lt;br /&gt;
(It should look like the image below)&lt;br /&gt;
[[File:step10.JPG|center|750px]]&lt;br /&gt;
12. With the '''dance.c''' out of the folders, delete the 3 of them (select the 3, hit delete, hit ok)&lt;br /&gt;
[[File:step11.JPG|center|750px]]&lt;br /&gt;
(It should look like the image below)&lt;br /&gt;
[[File:step12.JPG|center|750px]]&lt;br /&gt;
13. Right click the project you created, open '''Properties'''&lt;br /&gt;
[[File:step13.JPG|center|750px]]&lt;br /&gt;
14. Under '''Configuration Properties''' click '''General''', change '''Output Directory''' to '''..\plugins''', '''Intermediate Directory''' to '''$(ProjectName)\$(ConfigurationName)''' and  '''Configuration Type''' to '''Dynamic Library (.dll)'''&lt;br /&gt;
[[File:step14.JPG|center|750px]]&lt;br /&gt;
15. Under '''Configuration Properties''' click '''C/C++''' and open '''General''', change '''Additional Include Directories''' to '''..\src\common;..\3rdparty\msinttypes\include'''&lt;br /&gt;
[[File:step15.JPG|center|750px]]&lt;br /&gt;
16. Under '''Configuration Properties''' click '''Linker''' and open '''General''', change '''Output File''' to '''$(OutDir)\dance.dll''' (change dance.dll with your actual name, if you used a different one)&lt;br /&gt;
[[File:step16.JPG|center|750px]]&lt;br /&gt;
17. Done, just add your code to the '''dance.c''' file, and then right-click the project you created, and select '''Build'''&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
* I added step by step images for other people to follow so they can easily follow one of the best feature Hercules have, the HPM. - Thanna&lt;br /&gt;
* The tutorial is tested on MSVC 2010.&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules_Hierarchy</id>
		<title>Hercules Hierarchy</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules_Hierarchy"/>
				<updated>2013-05-26T14:09:53Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{yellbox|This page is '''incomplete''', you can help us improve this page by editing it}}&lt;br /&gt;
= Staff Titles =&lt;br /&gt;
Ordered alphabetically.&amp;lt;br/&amp;gt;All staff titles, regardless of their description, possesses full moderation powers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Administrators ==&lt;br /&gt;
They administrate.&lt;br /&gt;
* [http://hercules.ws/board/user/1-ind/ Ind] (Community Administrator)	&lt;br /&gt;
* [http://hercules.ws/board/user/2-jman/ Jman] (Community Administrator)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Core Developers ==&lt;br /&gt;
The kings of the code hill.&lt;br /&gt;
* [http://hercules.ws/board/user/18-trojal/ Trojal]&lt;br /&gt;
* [http://hercules.ws/board/user/28-greenbox/ GreenBox]&lt;br /&gt;
* [http://hercules.ws/board/user/20-malufett/ malufett]&lt;br /&gt;
* [http://hercules.ws/board/user/49-mkbu95/ mkbu95]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Forum Managers ==&lt;br /&gt;
They oversee everything forum-related&lt;br /&gt;
* [http://hercules.ws/board/user/10-judas/ Judas] ([http://hercules.ws/board/index.php?app=members&amp;amp;filter=17 Forum Manager])&lt;br /&gt;
* [http://hercules.ws/board/user/43-mysterious/ Mysterious] ([http://hercules.ws/board/index.php?app=members&amp;amp;filter=17 Forum Manager])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Moderators ==&lt;br /&gt;
Global Moderators are individuals who moderate all of the forums excluding International Communities, however, may still moderate.&amp;lt;br/&amp;gt;&lt;br /&gt;
Global Moderator ensure that all of the forums are cleaned by removing duplicate topics, ensuring posts/topics don't have spam, moving topics where need be, and locking topics.&amp;lt;br/&amp;gt;&lt;br /&gt;
Global Moderators also provide support to support topics, however, not to an extent as Support Leaders.&lt;br /&gt;
Global Moderator is not a position one can apply to, but be promoted to from other moderation position thanks to one's efforts and commitment to moderation.&lt;br /&gt;
* [http://hercules.ws/board/user/387-jabote/ jaBote]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Graphics Moderators ==&lt;br /&gt;
In charge of all the main graphics areas.&lt;br /&gt;
* [http://hercules.ws/board/user/129-adel/ Adel]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== High Council ==&lt;br /&gt;
They're an sort of upgrade from the [[#Community_Contributor]] title.&lt;br /&gt;
* [http://hercules.ws/board/user/8-eurydice/ Eurydice]&lt;br /&gt;
* [http://hercules.ws/board/user/6-jtynne/ jTynne]&lt;br /&gt;
* [http://hercules.ws/board/user/99-muad_dib/ Muad_Dib]&lt;br /&gt;
* [http://hercules.ws/board/user/456-rytech/ Rytech]&lt;br /&gt;
* [http://hercules.ws/board/user/409-yommy/ Yommy]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Int'l Moderators ==&lt;br /&gt;
International Moderators are individuals who moderate their respective International Community.&amp;lt;br/&amp;gt;&lt;br /&gt;
They are solely responsible in making sure their respective community is cleaned by moving, locking, removing, and cleaning topics of spams.&amp;lt;br/&amp;gt;&lt;br /&gt;
International Moderators don't have sole responsibility of other forums outside their community and they must provide support to individuals in their community.&lt;br /&gt;
&lt;br /&gt;
====Filipino====&lt;br /&gt;
* [http://hercules.ws/board/user/25-jaypee/ JayPee]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Portuguese====&lt;br /&gt;
* [http://hercules.ws/board/user/63-juliocf/ JulioCF]&lt;br /&gt;
* [http://hercules.ws/board/user/192-wolf/ Wolf]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Script Developers ==&lt;br /&gt;
Usually the members with the fastest key/second typing ratio.&lt;br /&gt;
* [http://hercules.ws/board/user/23-martin/ Martin]&lt;br /&gt;
* [http://hercules.ws/board/user/5-kenpachi/ Kenpachi]&lt;br /&gt;
* [http://hercules.ws/board/user/7-nameless2you/ Nameless2you]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Support Leaders ==&lt;br /&gt;
In charge of all the main supporting areas.&lt;br /&gt;
* [http://hercules.ws/board/user/4-emistry/ Emistry]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Other Titles =&lt;br /&gt;
Non-staff Titles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Community Contributor ==&lt;br /&gt;
This title is awarded to community members for their outstanding support of Hercules, for [http://hercules.ws/board/topic/376-hercules-cc-program/ more information check this thread]&lt;br /&gt;
* [http://hercules.ws/board/user/59-beret/ Beret]&lt;br /&gt;
* [http://hercules.ws/board/user/88-kyeme/ kyeme]&lt;br /&gt;
* [http://hercules.ws/board/user/315-mstream/ MStream]&lt;br /&gt;
* [http://hercules.ws/board/user/303-ryuuzaki/ Ryuuzaki]&lt;br /&gt;
* [http://hercules.ws/board/user/297-shakto/ Shakto]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules_Hierarchy</id>
		<title>Hercules Hierarchy</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules_Hierarchy"/>
				<updated>2013-05-16T23:49:47Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Staff Titles =&lt;br /&gt;
Ordered alphabetically.&amp;lt;br/&amp;gt;All staff titles, regardless of their description, possesses full moderation powers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Administrators ==&lt;br /&gt;
They administrate.&lt;br /&gt;
* [http://hercules.ws/board/user/1-ind/ Ind] (Community Administrator)	&lt;br /&gt;
* [http://hercules.ws/board/user/2-jman/ Jman] (Community Administrator)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Core Developers ==&lt;br /&gt;
The kings of the code hill.&lt;br /&gt;
* [http://hercules.ws/board/user/18-trojal/ Trojal]&lt;br /&gt;
* [http://hercules.ws/board/user/28-greenbox/ GreenBox]&lt;br /&gt;
* [http://hercules.ws/board/user/20-malufett/ malufett]&lt;br /&gt;
* [http://hercules.ws/board/user/49-mkbu95/ mkbu95]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Forum Managers ==&lt;br /&gt;
They oversee everything forum-related&lt;br /&gt;
* [http://hercules.ws/board/user/10-judas/ Judas] ([http://hercules.ws/board/index.php?app=members&amp;amp;filter=17 Forum Manager])&lt;br /&gt;
* [http://hercules.ws/board/user/43-mysterious/ Mysterious] ([http://hercules.ws/board/index.php?app=members&amp;amp;filter=17 Forum Manager])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Moderators ==&lt;br /&gt;
Global Moderators are individuals who moderate all of the forums excluding International Communities, however, may still moderate.&amp;lt;br/&amp;gt;&lt;br /&gt;
Global Moderator ensure that all of the forums are cleaned by removing duplicate topics, ensuring posts/topics don't have spam, moving topics where need be, and locking topics.&amp;lt;br/&amp;gt;&lt;br /&gt;
Global Moderators also provide support to support topics, however, not to an extent as Support Leaders.&lt;br /&gt;
Global Moderator is not a position one can apply to, but be promoted to from other moderation position thanks to one's efforts and commitment to moderation.&lt;br /&gt;
* [http://hercules.ws/board/user/387-jabote/ jaBote]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Graphics Moderators ==&lt;br /&gt;
In charge of all the main graphics areas.&lt;br /&gt;
* [http://hercules.ws/board/user/129-adel/ Adel]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== High Council ==&lt;br /&gt;
They're an sort of upgrade from the [[#Community_Contributor]] title.&lt;br /&gt;
* [http://hercules.ws/board/user/8-eurydice/ Eurydice]&lt;br /&gt;
* [http://hercules.ws/board/user/6-jtynne/ jTynne]&lt;br /&gt;
* [http://hercules.ws/board/user/99-muad_dib/ Muad_Dib]&lt;br /&gt;
* [http://hercules.ws/board/user/456-rytech/ Rytech]&lt;br /&gt;
* [http://hercules.ws/board/user/409-yommy/ Yommy]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Int'l Moderators ==&lt;br /&gt;
International Moderators are individuals who moderate their respective International Community.&amp;lt;br/&amp;gt;&lt;br /&gt;
They are solely responsible in making sure their respective community is cleaned by moving, locking, removing, and cleaning topics of spams.&amp;lt;br/&amp;gt;&lt;br /&gt;
International Moderators don't have sole responsibility of other forums outside their community and they must provide support to individuals in their community.&lt;br /&gt;
&lt;br /&gt;
====Filipino====&lt;br /&gt;
* [http://hercules.ws/board/user/25-jaypee/ JayPee]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Portuguese====&lt;br /&gt;
* [http://hercules.ws/board/user/63-juliocf/ JulioCF]&lt;br /&gt;
* [http://hercules.ws/board/user/192-wolf/ Wolf]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Script Developers ==&lt;br /&gt;
Usually the members with the fastest key/second typing ratio.&lt;br /&gt;
* [http://hercules.ws/board/user/23-martin/ Martin]&lt;br /&gt;
* [http://hercules.ws/board/user/5-kenpachi/ Kenpachi]&lt;br /&gt;
* [http://hercules.ws/board/user/7-nameless2you/ Nameless2you]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Support Leaders ==&lt;br /&gt;
In charge of all the main supporting areas.&lt;br /&gt;
* [http://hercules.ws/board/user/4-emistry/ Emistry]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Other Titles =&lt;br /&gt;
Non-staff Titles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Community Contributor ==&lt;br /&gt;
This title is awarded to community members for their outstanding support of Hercules, for [http://hercules.ws/board/topic/376-hercules-cc-program/ more information check this thread]&lt;br /&gt;
* [http://hercules.ws/board/user/59-beret/ Beret]&lt;br /&gt;
* [http://hercules.ws/board/user/88-kyeme/ kyeme]&lt;br /&gt;
* [http://hercules.ws/board/user/315-mstream/ MStream]&lt;br /&gt;
* [http://hercules.ws/board/user/303-ryuuzaki/ Ryuuzaki]&lt;br /&gt;
* [http://hercules.ws/board/user/297-shakto/ Shakto]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules_Renewal_Phase_One</id>
		<title>Hercules Renewal Phase One</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules_Renewal_Phase_One"/>
				<updated>2013-05-16T23:19:15Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;The Hercules Renewal Phase One started March 01, 2013, as [http://hercules.ws/board/topic/237-hercules-renewal/ announced over the forum by Ind]&amp;lt;br/&amp;gt; The primary goal of t...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[Hercules Renewal Phase One]] started March 01, 2013, as [http://hercules.ws/board/topic/237-hercules-renewal/ announced over the forum by Ind]&amp;lt;br/&amp;gt;&lt;br /&gt;
The primary goal of the [[Hercules Renewal Phase One]] was to prepare the core for the [[Hercules Plugin Manager]]&amp;lt;br/&amp;gt;&lt;br /&gt;
The [[Hercules Renewal Phase One]] is still ongoing.&lt;br /&gt;
= Available Interfaces =&lt;br /&gt;
* '''Common'''&lt;br /&gt;
** console&lt;br /&gt;
** SQL&lt;br /&gt;
** strlib&lt;br /&gt;
** sv&lt;br /&gt;
** StrBuf (StringBuf)&lt;br /&gt;
* '''Map Server'''&lt;br /&gt;
** atcommand&lt;br /&gt;
** battle&lt;br /&gt;
** buyingstore&lt;br /&gt;
** clif&lt;br /&gt;
** guild&lt;br /&gt;
** homunculus&lt;br /&gt;
** ircbot&lt;br /&gt;
** log&lt;br /&gt;
** script&lt;br /&gt;
** searchstore&lt;br /&gt;
** skill&lt;br /&gt;
** vending&lt;br /&gt;
* '''Char Server'''&lt;br /&gt;
** pincode&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules_Hierarchy</id>
		<title>Hercules Hierarchy</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules_Hierarchy"/>
				<updated>2013-05-16T23:07:30Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Staff Titles =&lt;br /&gt;
Ordered alphabetically.&amp;lt;br/&amp;gt;All staff titles, regardless of their description, possess full moderation powers.&lt;br /&gt;
== Administrators ==&lt;br /&gt;
They administrate.&lt;br /&gt;
== Core Developers ==&lt;br /&gt;
The kings of the code hill.&lt;br /&gt;
== Forum Managers ==&lt;br /&gt;
They oversee everything forum-related&lt;br /&gt;
== Global Moderators ==&lt;br /&gt;
Global Moderators are individuals who moderate all of the forums excluding International Communities, however, may still moderate.&amp;lt;br/&amp;gt;&lt;br /&gt;
Global Moderator ensure that all of the forums are cleaned by removing duplicate topics, ensuring posts/topics don't have spam, moving topics where need be, and locking topics.&amp;lt;br/&amp;gt;&lt;br /&gt;
Global Moderators also provide support to support topics, however, not to an extent as Support Leaders.&lt;br /&gt;
== Graphics Moderators ==&lt;br /&gt;
In charge of all the main graphics areas.&lt;br /&gt;
== High Council ==&lt;br /&gt;
They're an sort of upgrade from the [[#Community_Contributor]] title.&lt;br /&gt;
== Int'l Moderators ==&lt;br /&gt;
International Moderators are individuals who moderate their respective International Community.&amp;lt;br/&amp;gt;&lt;br /&gt;
They are solely responsible in making sure their respective community is cleaned by moving, locking, removing, and cleaning topics of spams.&amp;lt;br/&amp;gt;&lt;br /&gt;
International Moderators don't have sole responsibility of other forums outside their community and they must provide support to individuals in their community.&lt;br /&gt;
== Script Developers ==&lt;br /&gt;
Usually the members with the fastest key/second typing ratio.&lt;br /&gt;
== Support Leaders ==&lt;br /&gt;
In charge of all the main supporting areas.&lt;br /&gt;
= Other Titles =&lt;br /&gt;
Non-staff Titles&lt;br /&gt;
== Community Contributor ==&lt;br /&gt;
This title is awarded to community members for their outstanding support of Hercules, for [http://hercules.ws/board/topic/376-hercules-cc-program/ more information check this thread]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Staff</id>
		<title>Staff</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Staff"/>
				<updated>2013-05-16T23:07:14Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Redirected page to Hercules Hierarchy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Hercules_Hierarchy]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules_Hierarchy</id>
		<title>Hercules Hierarchy</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules_Hierarchy"/>
				<updated>2013-05-16T23:06:49Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;= Staff Titles = Ordered alphabetically.&amp;lt;br/&amp;gt;All staff titles, regardless of their description, possesses full moderation powers. == Administrators == They administrate. == Co...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Staff Titles =&lt;br /&gt;
Ordered alphabetically.&amp;lt;br/&amp;gt;All staff titles, regardless of their description, possesses full moderation powers.&lt;br /&gt;
== Administrators ==&lt;br /&gt;
They administrate.&lt;br /&gt;
== Core Developers ==&lt;br /&gt;
The kings of the code hill.&lt;br /&gt;
== Forum Managers ==&lt;br /&gt;
They oversee everything forum-related&lt;br /&gt;
== Global Moderators ==&lt;br /&gt;
Global Moderators are individuals who moderate all of the forums excluding International Communities, however, may still moderate.&amp;lt;br/&amp;gt;&lt;br /&gt;
Global Moderator ensure that all of the forums are cleaned by removing duplicate topics, ensuring posts/topics don't have spam, moving topics where need be, and locking topics.&amp;lt;br/&amp;gt;&lt;br /&gt;
Global Moderators also provide support to support topics, however, not to an extent as Support Leaders.&lt;br /&gt;
== Graphics Moderators ==&lt;br /&gt;
In charge of all the main graphics areas.&lt;br /&gt;
== High Council ==&lt;br /&gt;
They're an sort of upgrade from the [[#Community_Contributor]] title.&lt;br /&gt;
== Int'l Moderators ==&lt;br /&gt;
International Moderators are individuals who moderate their respective International Community.&amp;lt;br/&amp;gt;&lt;br /&gt;
They are solely responsible in making sure their respective community is cleaned by moving, locking, removing, and cleaning topics of spams.&amp;lt;br/&amp;gt;&lt;br /&gt;
International Moderators don't have sole responsibility of other forums outside their community and they must provide support to individuals in their community.&lt;br /&gt;
== Script Developers ==&lt;br /&gt;
Usually the members with the fastest key/second typing ratio.&lt;br /&gt;
== Support Leaders ==&lt;br /&gt;
In charge of all the main supporting areas.&lt;br /&gt;
= Other Titles =&lt;br /&gt;
Non-staff Titles&lt;br /&gt;
== Community Contributor ==&lt;br /&gt;
This title is awarded to community members for their outstanding support of Hercules, for [http://hercules.ws/board/topic/376-hercules-cc-program/ more information check this thread]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Player_Parameters_(Scripting)</id>
		<title>Player Parameters (Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Player_Parameters_(Scripting)"/>
				<updated>2013-05-09T16:44:23Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;'''Player Parameters''', in scripting, are a set of params that look-like character-variables, they exist during runtime only and make certain information regarding the charac...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Player Parameters''', in scripting, are a set of params that look-like character-variables, they exist during runtime only and make certain information regarding the character available to scripts for read (and write depending on the variable), they're the following:&lt;br /&gt;
* StatusPoint&lt;br /&gt;
* BaseLevel&lt;br /&gt;
* SkillPoint&lt;br /&gt;
* Class&lt;br /&gt;
* Upper&lt;br /&gt;
* Zeny	&lt;br /&gt;
* Sex&lt;br /&gt;
** Whether the character is male (1) or female (0)&lt;br /&gt;
* Weight&lt;br /&gt;
* MaxWeight&lt;br /&gt;
* JobLevel&lt;br /&gt;
* BaseExp&lt;br /&gt;
* JobExp&lt;br /&gt;
* Karma&lt;br /&gt;
* Manner&lt;br /&gt;
* NextBaseExp&lt;br /&gt;
* NextJobExp&lt;br /&gt;
* Hp&lt;br /&gt;
* MaxHp&lt;br /&gt;
* Sp&lt;br /&gt;
* MaxSp&lt;br /&gt;
* BaseJob&lt;br /&gt;
* BaseClass&lt;br /&gt;
* killerrid&lt;br /&gt;
* killedrid&lt;br /&gt;
* SlotChange&lt;br /&gt;
** Stores the number of times this character may use the 'slot change' function in char select&lt;br /&gt;
** Can be modified&lt;br /&gt;
* CharRename&lt;br /&gt;
** Stores the number of times this character may use the 'char name change' function in char select&lt;br /&gt;
** Can be modified&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Wiki_Basics</id>
		<title>Wiki Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Wiki_Basics"/>
				<updated>2013-05-05T23:28:51Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;= Editing = == Formatting == Check [http://www.mediawiki.org/wiki/Help:Formatting Formatting] == Editing a Page == Anyone logged in with a [http://hercules.ws/board/ Hercules ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Editing =&lt;br /&gt;
== Formatting ==&lt;br /&gt;
Check [http://www.mediawiki.org/wiki/Help:Formatting Formatting]&lt;br /&gt;
== Editing a Page ==&lt;br /&gt;
Anyone logged in with a [http://hercules.ws/board/ Hercules Board] account is capable of editing all articles on this wiki, to edit a page hit the 'Edit' button on the top right (near the search bar)&lt;br /&gt;
== Creating a Page ==&lt;br /&gt;
You can use the wiki's URL for creating a new page. The URL to an article of the wiki is usually something like this:&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://www.example.net/index.php/&amp;lt;/nowiki&amp;gt;'''ARTICLE'''&amp;lt;/code&amp;gt; &amp;amp;nbsp;&amp;amp;nbsp; or&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://www.example.net/wiki/&amp;lt;/nowiki&amp;gt;'''ARTICLE'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you replace &amp;lt;code&amp;gt;'''ARTICLE'''&amp;lt;/code&amp;gt; with the name of the page you wish to create, you will be taken to a blank page which indicates that no article of that name exists yet. Clicking the &amp;quot;{{int:edit}}&amp;quot; button at the top of the page will take you to the edit page for that article, where you can create the new page by typing your text, and clicking submit.&lt;br /&gt;
== Redirects to a Page ==&lt;br /&gt;
If you think another person may search for the page you've created by using a different name or spelling, please create the proper redirect(s).&amp;lt;br/&amp;gt;&lt;br /&gt;
You first create a new page, as you normally would, and in the content you place the following&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#REDIRECT [[&amp;lt;/nowiki&amp;gt;''pagename''&amp;lt;nowiki&amp;gt;]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
where ''pagename'' is the name of the destination page. The word &amp;quot;redirect&amp;quot; is not case-sensitive, but there must be no space before the &amp;quot;#&amp;quot; symbol. Any text before the code will disable the code and prevent a redirect. Any text or regular content code after the redirect code will be ignored (and should be deleted from an existing page). However, to put or keep the current page name listed in a Category, the usual tag for that category is entered or kept on a line after the redirect code entry.&lt;br /&gt;
=== Viewing a Redirect ===&lt;br /&gt;
After making a redirect at a page, you can no longer get to that page by using its name or by any link using that name; and they do not show up in wiki search results, either. However, near the top of the destination page, a notice that you have been forwarded appears, with the source pagename as an active link to it. Click this to get back to the redirected page, showing the large bent arrow symbol and the destination for the redirect.&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/MediaWiki:Sidebar</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/MediaWiki:Sidebar"/>
				<updated>2013-05-05T22:57:17Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Hercules&lt;br /&gt;
** http://hercules.ws/board|Forum&lt;br /&gt;
** https://github.com/HerculesWS/Hercules/commits/master|Git Timeline&lt;br /&gt;
* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** Wiki_Basics|Wiki Basics&lt;br /&gt;
** Special:WantedPages|Wanted Pages&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/MediaWiki:Sidebar</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/MediaWiki:Sidebar"/>
				<updated>2013-05-05T22:55:34Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Hercules&lt;br /&gt;
** http://hercules.ws/board|Forum&lt;br /&gt;
** https://github.com/HerculesWS/Hercules/commits/master|Git Timeline&lt;br /&gt;
* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** Wiki_Basics|Wiki Basics&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/MediaWiki:Aboutsite</id>
		<title>MediaWiki:Aboutsite</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/MediaWiki:Aboutsite"/>
				<updated>2013-05-05T22:50:02Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;-&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/MediaWiki:Disclaimers</id>
		<title>MediaWiki:Disclaimers</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/MediaWiki:Disclaimers"/>
				<updated>2013-05-05T22:48:44Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;-&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/MediaWiki:Disclaimerpage</id>
		<title>MediaWiki:Disclaimerpage</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/MediaWiki:Disclaimerpage"/>
				<updated>2013-05-05T22:48:11Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project:-&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/MediaWiki:Disclaimerpage</id>
		<title>MediaWiki:Disclaimerpage</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/MediaWiki:Disclaimerpage"/>
				<updated>2013-05-05T22:46:43Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;-&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules:Privacy_policy</id>
		<title>Hercules:Privacy policy</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules:Privacy_policy"/>
				<updated>2013-05-05T22:41:46Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;#REDIRECT [http://hercules.ws/board/privacypolicy/]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [http://hercules.ws/board/privacypolicy/]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules_Original</id>
		<title>Hercules Original</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules_Original"/>
				<updated>2013-05-02T20:25:24Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;List of Original Hercules Features * [http://hercules.ws/board/topic/302-introducing-hercules-map-zone-database/ Hercules Map Zone DB] * [[HPM|Hercules P...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of [[Hercules Original|Original Hercules Features]]&lt;br /&gt;
* [http://hercules.ws/board/topic/302-introducing-hercules-map-zone-database/ Hercules Map Zone DB]&lt;br /&gt;
* [[HPM|Hercules Plugin Mananger]]&lt;br /&gt;
* [http://hercules.ws/board/topic/316-introducing-hercules-channel-system/ Hercules Channel System]&lt;br /&gt;
* [http://hercules.ws/board/topic/353-packetdb-overhaul/ Packet DB Overhaul]&lt;br /&gt;
* [http://hercules.ws/board/topic/548-hercules-console-input-update/ Console Input Redesign]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_MSVC</id>
		<title>Building HPM Plugin for MSVC</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_MSVC"/>
				<updated>2013-05-02T20:19:01Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;This is a guide on how to prepare your MSVC environment for a new HPM plugin. = Guide = # Go to '''src/plugins/''' folder, create a new '''.c''' file, e.g. '''sample2.c'''...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to prepare your MSVC environment for a new [[HPM]] plugin.&lt;br /&gt;
= Guide =&lt;br /&gt;
# Go to '''src/plugins/''' folder, create a new '''.c''' file, e.g. '''sample2.c''' (this name will be used throughout this guide)&lt;br /&gt;
# Open your MSVC project (e.g. '''Hercules-9.sln'')&lt;br /&gt;
# Go to the '''Solution Explorer'''&lt;br /&gt;
# Right click the Hercules project (first item in '''Solution Explorer'''), and click '''Add-&amp;gt;New Project'''&lt;br /&gt;
# Select '''General''', and pick '''Empty Project'''.&lt;br /&gt;
# Enter the name of your plugin in the '''Name''' field, and click OK.&lt;br /&gt;
# In the solution explorer it'll display the new project (probably at the bottom).&lt;br /&gt;
# Right click the new project, and open '''Add-&amp;gt;Existing Item'''&lt;br /&gt;
# Browse to '''src/plugins/''' and select the '''sample2.c''' file, and hit OK.&lt;br /&gt;
# It will place the '''sample2.c''' file under the '''Source Files''' folder, drag it to the project you created and drop it (in a manner it be placed out of the source files folder)&lt;br /&gt;
# With the '''sample2.c''' out of the folders, delete the 3 of them (select the 3, hit delete, hit ok)&lt;br /&gt;
# Right click the project you created, open '''Properties'''&lt;br /&gt;
# Under '''Configuration Properties''' click '''General''', change '''Output Directory''' to '''..\plugins''', '''Intermediate Directory''' to '''$(ProjectName)\$(ConfigurationName)''' and  '''Configuration Type''' to '''Dynamic Library (.dll)'''&lt;br /&gt;
# Under '''Configuration Properties''' click '''C/C++''' and open '''General''', change '''Additional Include Directories''' to '''..\src\common;..\3rdparty\msinttypes\include'''&lt;br /&gt;
# Under '''Configuration Properties''' click '''Linker''' and open '''General''', change '''Output File''' to '''$(OutDir)\sample2.dll''' (change sample2.dll with your actual name, if you used a different one)&lt;br /&gt;
# Done, just add your code to the '''sample2.c''' file, and then right-click the project you created, and select '''Build'''&lt;br /&gt;
= Notes =&lt;br /&gt;
* This guide is probably the worst I've ever written, if you can do better please hit the 'Edit' button, will be most welcome. - Ind&lt;br /&gt;
* I used MSVC 2008 when testing this guide.&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_gcc</id>
		<title>Building HPM Plugin for gcc</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Building_HPM_Plugin_for_gcc"/>
				<updated>2013-05-02T20:18:45Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;This is a guide on how to prepare your gcc environment for a new HPM plugin. = Guide = Lets say your '''src/plugins/Makefile.in''' file looks like the following (it probab...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide on how to prepare your gcc environment for a new [[HPM]] plugin.&lt;br /&gt;
= Guide =&lt;br /&gt;
Lets say your '''src/plugins/Makefile.in''' file looks like the following (it probably will be similar):&lt;br /&gt;
 COMMON_H = ../common/HPMi.h ../common/cbasetypes.h&lt;br /&gt;
 &lt;br /&gt;
 PLUGINS = sample&lt;br /&gt;
 &lt;br /&gt;
 @SET_MAKE@&lt;br /&gt;
 &lt;br /&gt;
 #####################################################################&lt;br /&gt;
 .PHONY : all $(PLUGINS) sample clean help&lt;br /&gt;
 &lt;br /&gt;
 all: $(PLUGINS)&lt;br /&gt;
 &lt;br /&gt;
 sample: sample@DLLEXT@&lt;br /&gt;
 &lt;br /&gt;
 clean:&lt;br /&gt;
 	@echo &amp;quot;	CLEAN	plugins&amp;quot;&lt;br /&gt;
  	@rm -rf *.o&lt;br /&gt;
 &lt;br /&gt;
 help:&lt;br /&gt;
 	@echo &amp;quot;possible targets are $(PLUGINS:%='%') 'all' 'clean' 'help'&amp;quot;&lt;br /&gt;
 	@echo &amp;quot;'sample'   - sample plugin&amp;quot;&lt;br /&gt;
 	@echo &amp;quot;'help'     - outputs this message&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #####################################################################&lt;br /&gt;
 &lt;br /&gt;
 %@DLLEXT@: %.c $(COMMON_H)&lt;br /&gt;
 	@echo &amp;quot;	CC	$&amp;lt;&amp;quot;&lt;br /&gt;
 	@@CC@ @DEFS@ @CFLAGS@ @CPPFLAGS@ @LDFLAGS@ @SOFLAGS@ -o ../../plugins/$@ $&amp;lt;&lt;br /&gt;
and the plugin you want to add is called '''sample2''', it will end up like the following:&lt;br /&gt;
 COMMON_H = ../common/HPMi.h ../common/cbasetypes.h&lt;br /&gt;
 &lt;br /&gt;
 PLUGINS = sample sample2&lt;br /&gt;
 &lt;br /&gt;
 @SET_MAKE@&lt;br /&gt;
 &lt;br /&gt;
 #####################################################################&lt;br /&gt;
 .PHONY : all $(PLUGINS) sample sample2 clean help&lt;br /&gt;
 &lt;br /&gt;
 all: $(PLUGINS)&lt;br /&gt;
 &lt;br /&gt;
 sample: sample@DLLEXT@&lt;br /&gt;
 &lt;br /&gt;
 sample2: sample2@DLLEXT@&lt;br /&gt;
 &lt;br /&gt;
 clean:&lt;br /&gt;
 	@echo &amp;quot;	CLEAN	plugins&amp;quot;&lt;br /&gt;
 	@rm -rf *.o&lt;br /&gt;
 &lt;br /&gt;
 help:&lt;br /&gt;
 	@echo &amp;quot;possible targets are $(PLUGINS:%='%') 'all' 'clean' 'help'&amp;quot;&lt;br /&gt;
 	@echo &amp;quot;'sample'   - sample plugin&amp;quot;&lt;br /&gt;
 	@echo &amp;quot;'help'     - outputs this message&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #####################################################################&lt;br /&gt;
 &lt;br /&gt;
 %@DLLEXT@: %.c $(COMMON_H)&lt;br /&gt;
 	@echo &amp;quot;	CC	$&amp;lt;&amp;quot;&lt;br /&gt;
 	@@CC@ @DEFS@ @CFLAGS@ @CPPFLAGS@ @LDFLAGS@ @SOFLAGS@ -o ../../plugins/$@ $&amp;lt;&lt;br /&gt;
Use CTRL+F to ensure you locate all the occurrences of '''sample2''', then edit the same way in your '''src/plugins/Makefile.in''', save and close.&amp;lt;br/&amp;gt;&lt;br /&gt;
Lastly, re-run your '''./configure''' command at the root folder of Hercules, and you're good to go.&lt;br /&gt;
[[HPM]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules_Plugin_Manager</id>
		<title>Hercules Plugin Manager</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules_Plugin_Manager"/>
				<updated>2013-05-02T20:18:32Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;Often referred to as the HPM, the '''Hercules Plugin Manager''' is yet another Hercules Original = Building a plugin = While the C code for the plugin normally won...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Often referred to as the [[HPM]], the '''Hercules Plugin Manager''' is yet another [[Hercules Original]]&lt;br /&gt;
= Building a plugin =&lt;br /&gt;
While the [[C]] code for the plugin normally won't have discrepancies, in order to [[compile]] the plugin certain criteria must be met depending on your [[Operating System]], there are 2 guides below, one for windows and other for everything else (which should work on any *nix distro, as well as on OSX).&lt;br /&gt;
;Windows&lt;br /&gt;
: [[Building HPM Plugin for MSVC]]&lt;br /&gt;
;All Others&lt;br /&gt;
: [[Building HPM Plugin for gcc]]&lt;br /&gt;
= Creating a plugin =&lt;br /&gt;
After following the [[#Building_a_plugin|building a plugin]] guide, all thats left is for your plugin's code to be made, the following will guide you through the basics of how a [[HPM]] plugin works.&lt;br /&gt;
== HPM Events ==&lt;br /&gt;
Events are functions in a plugin that are triggered by the '''Hercules Plugin Mananger''' when they meet certain criteria.&amp;lt;br/&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Triggered when the server starts&lt;br /&gt;
* &amp;lt;code&amp;gt;void plugin_final (void)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Triggered when the server starts to shut itself down&lt;br /&gt;
* &amp;lt;code&amp;gt;void server_ready (void)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Triggered after the server is done starting, and is online.&lt;br /&gt;
With the [[HPM]] you only need to code the events your plugin will use.&lt;br /&gt;
== HPM Hooks ==&lt;br /&gt;
Support for Hooks will be enabled within the next [[HPM]] release.&lt;br /&gt;
== HPM @commands ==&lt;br /&gt;
The [[HPM]] makes it very simple to provide [[@command|@commands]] through plugins.&amp;lt;br/&amp;gt;&lt;br /&gt;
You define a new [[@command]] exactly as it'd normally be done in [[src/map/atcommand.c]].&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 ACMD(sample) {//@sample command - 5 params: const int fd, struct map_session_data* sd, const char* command, const char* message, struct AtCommandInfo *info&lt;br /&gt;
 	clif-&amp;gt;message(fd,&amp;quot;You used the @sample command!&amp;quot;);&lt;br /&gt;
 	ShowDebug(&amp;quot;I'm being run! message -&amp;gt; '%s' by '%s'\n&amp;quot;,message,sd-&amp;gt;status.name);&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
After that you just have to link your new command, to do that you use the &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt; event.&lt;br /&gt;
 HPMi-&amp;gt;addCommand(&amp;quot;sample&amp;quot;,ACMD_A(sample));&lt;br /&gt;
and voila, your plugin now adds the '''@sample''' command.&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Script Commands ==&lt;br /&gt;
The [[HPM]] makes it very simple to provide [[Script_Commands|script commands]] through plugins.&amp;lt;br/&amp;gt;&lt;br /&gt;
You define a new [[Script_Commands|script command]] exactly as it'd normally be done in [[src/map/script.c]].&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 BUILDIN(sample) {//script command 'sample(num);' - 1 param: struct script_state* st&lt;br /&gt;
 	int arg = script_getnum(st,2);&lt;br /&gt;
 	ShowInfo(&amp;quot;I'm being run! arg -&amp;gt; '%d'\n&amp;quot;,arg);&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
After that you just have to link your new script command, to do that you use the &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt; event.&lt;br /&gt;
 HPMi-&amp;gt;addScript(&amp;quot;sample&amp;quot;,&amp;quot;i&amp;quot;,BUILDIN_A(sample)); //note the 2nd param is this commands' arg-types (in this case, a number)&lt;br /&gt;
and voila, your plugin now adds the '''sample''' script command.&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Console Commands ==&lt;br /&gt;
The [[HPM]] makes it very simple to provide [[Console_Commands|console commands]] through plugins.&amp;lt;br/&amp;gt;&lt;br /&gt;
You define a new [[Console_Commands|console command]] exactly as it'd normally be done in [[src/common/console.c]].&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 CPCMD(sample) {//console command 'sample' - 1 param: char *line&lt;br /&gt;
 	ShowInfo(&amp;quot;I'm being run! arg -&amp;gt; '%s'\n&amp;quot;,line?line:&amp;quot;NONE&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
After that you just have to link your new script command, to do that you use the &amp;lt;code&amp;gt;void plugin_init (void)&amp;lt;/code&amp;gt; event.&lt;br /&gt;
 addCPCommand(&amp;quot;this:is:a:sample&amp;quot;,CPCMD_A(sample)); // note the first param is the path to this command, in this case it translates to 'this is a sample' and everything afterwards is the commands' params&lt;br /&gt;
and voila, your plugin now adds the '''sample''' console command.&lt;br /&gt;
A full usage of this is demonstrated in the [[HPM]]'s sample {{git|src/plugins/sample.c}}&lt;br /&gt;
== HPM Function Overloading ==&lt;br /&gt;
Thanks to [[Hercules Renewal Phase One]], you're capable of overloading all functions covered by the [[Hercules Renewal Phase One]] interfaces, with your plugin.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Example:'''&lt;br /&gt;
 int my_custom_check_target_function( struct block_list *src, struct block_list *target,int flag) {&lt;br /&gt;
 	//&amp;lt;...&amp;gt; code&lt;br /&gt;
 }&lt;br /&gt;
 struct battle_interface *battle;&lt;br /&gt;
 void server_ready(void) {&lt;br /&gt;
 	battle = GET_SYMBOL(&amp;quot;battle&amp;quot;);&lt;br /&gt;
 	battle-&amp;gt;check_target = &amp;amp;my_custom_check_target_function;&lt;br /&gt;
 }&lt;br /&gt;
and voila, your plugin just overloaded the game server's '''battle_check_target''' function with your plugin's own, this is greatly handy to ensure your customs do not create conflicts when updating your [[Hercules|Hercules Repository]]&lt;br /&gt;
= Other Features =&lt;br /&gt;
Is there something you'd like to do with your plugin that requires modifications to [[HPM]]'s core? [http://hercules.ws/board/forum/55-suggestions/ let we know], and we'll do our best to make it happen.&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://hercules.ws/board/forum/55-suggestions/ Post your suggestions here]&lt;br /&gt;
= Support =&lt;br /&gt;
Need help writing your plugin? [http://hercules.ws/board/forum/26-source-support/ post your question on our support forum]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/HPM</id>
		<title>HPM</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/HPM"/>
				<updated>2013-05-01T18:04:20Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Redirected page to Hercules Plugin Manager&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Hercules Plugin Manager]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/IndAI</id>
		<title>IndAI</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/IndAI"/>
				<updated>2013-04-04T21:18:14Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;IndAI is a feature employed by [http://hercules.ws/board/topic/342-introducing-hercules-stress-test-server/ Hercules Stress Test Server].  == Preamble == # '''What is this?'''...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;IndAI is a feature employed by [http://hercules.ws/board/topic/342-introducing-hercules-stress-test-server/ Hercules Stress Test Server].&lt;br /&gt;
&lt;br /&gt;
== Preamble ==&lt;br /&gt;
# '''What is this?''' to make it short, its the ability for the game server to create and control player-looking units&lt;br /&gt;
# '''Why the pretentious name?''' Inds bad at naming stuff.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
* IndAI units use normal player-character data, making them fit (be compatible) perfectly into all player-character-features.&lt;br /&gt;
* IndAI units are capable of farming, doing pvp, doing woe, doing battlegrounds.&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
We judged this feature to be potentially dangerous to the private server community if made public, so we'll be keeping it private to be used solely by the [http://hercules.ws/board/topic/342-introducing-hercules-stress-test-server/ Hercules Stress Test Server]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Help:Redirects</id>
		<title>Help:Redirects</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Help:Redirects"/>
				<updated>2013-03-30T06:19:38Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Redirected page to Help:Redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Help:Redirect]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Help:Starting_a_new_page</id>
		<title>Help:Starting a new page</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Help:Starting_a_new_page"/>
				<updated>2013-03-30T06:18:44Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;There are several ways to start a new page. These can vary based on the type of page started, as well as the wiki and namespace.  == Using Wikilinks == MediaWiki makes it very...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are several ways to start a new page. These can vary based on the type of page started, as well as the wiki and namespace.&lt;br /&gt;
&lt;br /&gt;
== Using Wikilinks ==&lt;br /&gt;
MediaWiki makes it very easy to link wiki pages using a standard syntax (see [[Help:Links|Links]]). If you (or anyone else) create a link to an article that doesn't exist yet, the link will be coloured red, &amp;lt;span style=&amp;quot;color: #ba0000&amp;quot;&amp;gt;like this&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Clicking a red link will take you to the edit page for the new article.  Simply type your text, click save and the new page will be created.&lt;br /&gt;
&lt;br /&gt;
Once the page has been created, the link will change from &amp;lt;span style=&amp;quot;color: #ba0000&amp;quot;&amp;gt;red&amp;lt;/span&amp;gt; to &amp;lt;span style=&amp;quot;color: #002bb8;&amp;quot;&amp;gt;blue&amp;lt;/span&amp;gt; (&amp;lt;span style=&amp;quot;color: #5a3696;&amp;quot;&amp;gt;purple&amp;lt;/span&amp;gt; for pages you've visited) indicating that the article now exists.&lt;br /&gt;
&lt;br /&gt;
Usually this is the best way to create a new page, because it means that right from the start, the page will be linked from at least one other place on the wiki (and typically you will want to mesh it into other related pages later). If you are creating a new page without creating any link to it, you may need to ask yourself: Does this page really fit in with the topics already covered in the wiki? Also, how are you expecting visitors to find this page? Normally there is no reason to create a page without first creating a red link to it.&lt;br /&gt;
&lt;br /&gt;
== From the search page ==&lt;br /&gt;
If you search for a page that doesn't exist (using the search box and “{{int:go}}” button on the left of the page) then you will be provided with a link to create the new page. &lt;br /&gt;
&lt;br /&gt;
== Using the URL ==&lt;br /&gt;
You can use the wiki's URL for creating a new page. The URL to an article of the wiki is usually something like this:&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://hercules.ws/wiki/&amp;lt;/nowiki&amp;gt;'''ARTICLE'''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you replace &amp;lt;code&amp;gt;'''ARTICLE'''&amp;lt;/code&amp;gt; with the name of the page you wish to create, you will be taken to a blank page which indicates that no article of that name exists yet. Clicking the &amp;quot;{{int:edit}}&amp;quot; [[Help:Navigation#Page Tabs|page tab]] at the top of the page will take you to the edit page for that article, where you can create the new page by typing your text, and clicking submit.&lt;br /&gt;
&lt;br /&gt;
== Create redirects to your new page == &lt;br /&gt;
Don't forget to set up redirects when you create a page. If you think another person may search for the page you've created by using a different name or spelling, please create the proper redirect(s). See [[Help:Redirects]].&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Help:Redirect</id>
		<title>Help:Redirect</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Help:Redirect"/>
				<updated>2013-03-30T06:16:59Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;Redirects are used to forward users from one page name to another. They can be useful if a particular article is referred to by multiple names, or has alternative punctuation,...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Redirects are used to forward users from one page name to another. They can be useful if a particular article is referred to by multiple names, or has alternative punctuation, capitalization or spellings.&lt;br /&gt;
&lt;br /&gt;
== Creating a redirect ==&lt;br /&gt;
You may start a new page with the name you want to direct from (see [[Help:Starting a new page]]). You can also use an existing page that you are making inactive as a page by going to that page and using the &amp;quot;edit&amp;quot; tab at the top. In either case, you will be inserting the following code at the very first text position of the Edit window for the page:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#REDIRECT [[&amp;lt;/nowiki&amp;gt;''pagename''&amp;lt;nowiki&amp;gt;]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
where ''pagename'' is the name of the destination page. The word &amp;quot;redirect&amp;quot; is not case-sensitive, but there must be no space before the &amp;quot;#&amp;quot; symbol. Any text before the code will disable the code and prevent a redirect. Any text or regular content code after the redirect code will be ignored (and should be deleted from an existing page). However, to put or keep the current page name listed in a Category, the usual tag for that category is entered or kept on a line after the redirect code entry.&lt;br /&gt;
&lt;br /&gt;
You should use the 'preview' button below the Edit window, or Alt-P, to check that you have entered the correct destination page name. The preview page will not look like the resulting redirect page, it will look like a numbered list, with the destination page in blue:  &lt;br /&gt;
 1. REDIRECT  &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;''pagename''&amp;lt;/span&amp;gt;&lt;br /&gt;
If the ''pagename'' as you typed it is not a valid page, it will show in red. Until there is a valid destination page, you should not make the redirect.&lt;br /&gt;
&lt;br /&gt;
== Viewing a redirect ==&lt;br /&gt;
After making a redirect at a page, you can no longer get to that page by using its name or by any link using that name; and they do not show up in wiki search results, either. However, near the top of the destination page, a notice that you have been forwarded appears, with the source pagename as an active link to it. Click this to get back to the redirected page, showing the large bent arrow symbol and the destination for the redirect.&lt;br /&gt;
&lt;br /&gt;
By doing this, you can do all the things that any wiki page allows. You can go to the associated discussion page to discuss the redirect. You can view the history of the page, including a record of the redirect. You can edit the page if the redirect is wrong, and you can revert to an older version to remove the redirect.&lt;br /&gt;
&lt;br /&gt;
== Deleting a redirect ==&lt;br /&gt;
There's generally no need to delete redirects. They do not occupy a significant amount of database space. If a page name is vaguely meaningful, there's no harm (and some benefit) in having it as a redirect to the more relevant or current page. &lt;br /&gt;
&lt;br /&gt;
If you do need to delete a redirect, e.g. if the page name is offensive, or you wish to discourage people from referring to a concept by that name, then you simply go to the redirect page as mentioned above, and follow the procedures at [[Help:Deleting a page]].&lt;br /&gt;
&lt;br /&gt;
== Double redirects ==&lt;br /&gt;
A double redirect is a page redirecting to a page which is itself a redirect, and it will not work. Instead, people will be presented with a view of the next redirect page. This is a deliberate restriction, partly to prevent infinite loops, and partly to keep things simple. &lt;br /&gt;
&lt;br /&gt;
However, you could look out for double redirects and eliminate them by changing them to be 1-step redirects instead. You are most likely to need to do this after a significant [[Help:Moving a page|page move]]. Use the &amp;quot;what links here&amp;quot; toolbox link to find double redirects to a particular page, or use [[Special:DoubleRedirects]] to find them throughout the whole wiki.&lt;br /&gt;
&lt;br /&gt;
== A redirect to a page in the category namespace ==&lt;br /&gt;
To redirect to a category page and prevent the redirect appearing in this category, precede the word &amp;quot;Category&amp;quot; with a colon, otherwise the redirect page will also be categorized to the category itself: &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#REDIRECT [[:Category:Glossary]]&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Sclientinfo.xml</id>
		<title>Sclientinfo.xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Sclientinfo.xml"/>
				<updated>2013-03-30T06:13:53Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Redirected page to Clientinfo.xml&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Clientinfo.xml]]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/SRC/config/</id>
		<title>SRC/config/</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/SRC/config/"/>
				<updated>2013-03-29T17:35:38Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;This page provides information on the '''/src/config/''' folder and its settings. The '''/src/config/''' folder contains special server settings that allow you to further cust...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides information on the '''/src/config/''' folder and its settings. The '''/src/config/''' folder contains special server settings that allow you to further customize your server, the most popular of them being '''RENEWAL''', a switch to enable or disable Ragnarok Renewal mechanics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== /src/config/const.h ===&lt;br /&gt;
----&lt;br /&gt;
This file does not posses any settings, it is used to store constants used by other settings.&lt;br /&gt;
&lt;br /&gt;
=== /src/config/core.h ===&lt;br /&gt;
----&lt;br /&gt;
The core configuration file (which is inherited by map.h) that inherits all other configuration files, at this point in time this file does not possess any settings&lt;br /&gt;
&lt;br /&gt;
=== /src/config/renewal.h ===&lt;br /&gt;
----&lt;br /&gt;
This configuration files provides Ragnarok Renewal settings for you to further customize your server&lt;br /&gt;
==== RENEWAL ====&lt;br /&gt;
:This setting affects the following mechanics&lt;br /&gt;
:* Renewal MATK&lt;br /&gt;
:* Renewal MDEF&lt;br /&gt;
:* Renewal DEF&lt;br /&gt;
:* Renewal Status Points&lt;br /&gt;
:* Renewal Heal Formula&lt;br /&gt;
:* Renewal ASPD Shield Penalty&lt;br /&gt;
:* Renewal Stat Bonuses (str,agi,vit,flee,hit,etc)&lt;br /&gt;
:* Renewal Files&lt;br /&gt;
:** ''item_db_re.txt'', ''statpoint_renewal.txt'', ''job_db_re.txt'', [[DB_Folder_Inheritance|and others]] are only loaded in this mode. [[DB_Folder_Inheritance|Check the DB Inheritance page for all]]&lt;br /&gt;
:'''How to Disable'''&lt;br /&gt;
:* Commenting it's #define RENEWAL line out makes it disable (add '''//''' before #define)&lt;br /&gt;
&lt;br /&gt;
==== RENEWAL_DROP ====&lt;br /&gt;
:This setting enables or disables Ragnarok Renewal drop rate modifier, which is based on the level difference between a character and the monster it killed&lt;br /&gt;
:The modifier depends on the following table&lt;br /&gt;
:{|border=&amp;quot;1&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''Difference in Base Level''' || '''Drop Rate'''&lt;br /&gt;
|-&lt;br /&gt;
| 30 levels above monster or more || &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;50%&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| + 15 ~ 29 || &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;60%&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| + 10 ~ 14 || &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;75%&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| + 6 ~ 9 || &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;90%&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| + 1 ~ 5 || 100%&lt;br /&gt;
|-&lt;br /&gt;
| Equal || 100%&lt;br /&gt;
|-&lt;br /&gt;
| - 1 ~ 10 || 100%&lt;br /&gt;
|-&lt;br /&gt;
| - 11 ~ 13 || &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;75%&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 15 levels below monster or more || &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;50%&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
:'''For Example''', if you are level 50, and you kill a monster level 10, which normally drops a item at 50%, for you it'd drop at 25% (because you're 30 levels or higher than it)&lt;br /&gt;
:'''How to Disable'''&lt;br /&gt;
:* Commenting it's #define RENEWAL_DROP line out makes it disable (add '''//''' before #define)&lt;br /&gt;
&lt;br /&gt;
==== RENEWAL_EXP ====&lt;br /&gt;
:This setting enables or disables Ragnarok Renewal exp rate modifier, which is based on the level difference between a character and the monster it killed&lt;br /&gt;
:'''How to Disable'''&lt;br /&gt;
:* Commenting it's #define RENEWAL_DROP line out makes it disable (add '''//''' before #define)&lt;br /&gt;
&lt;br /&gt;
==== RENEWAL_CAST ====&lt;br /&gt;
:This setting enables or disables '''Renewal Casting''' and in it, cast time is decreased by DEX*2+INT, 20% of the cast time is not reduced by stats, for example, on a skill whose cast time is 10s, only 8s may be reduced. other 2s are part of a &amp;quot;fixed cast time&amp;quot; that is only reduced by special items and skills (such as Arch Bishop's Sacrament skill). '''When disabled''' it uses the old cast time method, influenced by dex, items and skills&amp;lt;br/&amp;gt;&lt;br /&gt;
:'''How to Disable'''&lt;br /&gt;
:* Commenting it's #define RENEWAL_CAST line out makes it disable (add '''//''' before #define)&lt;br /&gt;
==== RENEWAL_CAST_VMIN ====&lt;br /&gt;
:* '''Note''': This setting only matters if '''RENEWAL_CAST''' is enabled&lt;br /&gt;
:This setting allows you to specify how many points a user is required to have to reach instant cast&lt;br /&gt;
:* '''VALUE''': The formula is (casterDex x 2) + (casterInt), '''default value''' is '''530'''&lt;br /&gt;
==== RENEWAL_EDP ====&lt;br /&gt;
:This setting enables or disables Ragnarok Renewal mechanics for '''Enchant Deadly Poison''' skill,&amp;lt;br/&amp;gt;&lt;br /&gt;
:the changes compared to old mechanics are:&lt;br /&gt;
:* EDP doesn't increases final damage by 400%, instead it increases your weapon atk and your stat atk&lt;br /&gt;
:* EDP doesn't affect '''Grimtooth''' skill&lt;br /&gt;
:'''How to Disable'''&lt;br /&gt;
:* Commenting it's #define RENEWAL_EDP line out makes it disable (add '''//''' before #define)&lt;br /&gt;
&lt;br /&gt;
=== /src/config/secure.h ===&lt;br /&gt;
----&lt;br /&gt;
This configuration files provides additional security features to your server&lt;br /&gt;
==== SECURE_NPCTIMEOUT ====&lt;br /&gt;
:When enabled all npcs dialog will 'timeout' if user is on idle for longer than the amount of seconds allowed, on 'timeout' the npc dialog window changes it's next/menu to a 'close' button&lt;br /&gt;
:* '''VALUE''' is the amount of '''seconds''' you want the server to wait prior to timeout an idle NPC dialog&lt;br /&gt;
==== SECURE_NPCTIMEOUT_INTERVAL ====&lt;br /&gt;
:* '''Note''': This setting only matters if '''SECURE_NPCTIMEOUT''' is enabled&lt;br /&gt;
:This setting is the amount of '''seconds''' you want the server to wait prior to checking if an NPC dialog is idle&lt;br /&gt;
&lt;br /&gt;
=== /src/config/classes/general.h ===&lt;br /&gt;
This configuration files provides settings for you to further customize your server skills&lt;br /&gt;
==== RR_MAGIC_REFLECTION ====&lt;br /&gt;
:* '''Note''': This setting exists because server owners were exposed to the unofficial magical reflection for several years, and expecting many to not want to change this setting was made.&lt;br /&gt;
:When enabled the official magical reflection is used, official magical reflection damage is calculated against ''the caster'', while the unofficial magical reflection calculates the reflected damage against ''the target''.&amp;lt;br/&amp;gt;&lt;br /&gt;
:'''How to Disable'''&lt;br /&gt;
:* Commenting it's #define MAGIC_REFLECTION_TYPE line out makes it disable (add '''//''' before #define)&lt;br /&gt;
&lt;br /&gt;
=== /src/config/classes/swordsman.h ===&lt;br /&gt;
----&lt;br /&gt;
This configuration files provides settings for you to further customize your server's swordsman skills&lt;br /&gt;
==== MAX_RUNE ====&lt;br /&gt;
:This setting allows you to specify how many rune knight's runes of the same type an character is able to hold in his inventory&amp;lt;br/&amp;gt;&lt;br /&gt;
:'''Default''' value for this setting is 20&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/IRC</id>
		<title>IRC</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/IRC"/>
				<updated>2013-03-18T01:37:23Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;=IRC?= IRC stands for Internet Relay Chat. Basically, it's chatroom server and client software in general. In IRC, you have servers a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=IRC?=&lt;br /&gt;
[[IRC]] stands for [[wikipedia:Internet_Relay_Chat|Internet Relay Chat]]. Basically, it's chatroom server and client software in general. In [[IRC]], you have servers and channels. Servers hold the channels, and are hosted on dedicated machines. The channels are the actual chatrooms. [[IRC]] allows you to chat with people in real-time around the world. &lt;br /&gt;
&lt;br /&gt;
== Connecting to IRC ==&lt;br /&gt;
The official [[Hercules]] channel room can be found [irc://irc.rizon.net/Hercules here]. &amp;lt;br /&amp;gt;&lt;br /&gt;
Web-based IRC chat is available too: http://hercules.ws/board/page/irc.html&lt;br /&gt;
&lt;br /&gt;
To actually connect to [[IRC]], if you do not already have an [[wikipedia:Comparison_of_Internet_Relay_Chat_clients|IRC client]] and do not wish to run the java chat, you're going to need an IRC client. There are many different IRC clients, and none are really the 'best'. Opinions vary on which are better. The most commonly used IRC client on [[wikipedia:Microsoft_Windows|Microsoft Windows]] is [http://www.mirc.com mIRC]. The most commonly used client on *nix is a tossup between [http://www.bitchx.org BitchX] and [http://www.xchat.org XChat]. Note that XChat is pay-to-use on [[wikipedia:Microsoft_Windows|Windows]], but not on *nix. &lt;br /&gt;
&lt;br /&gt;
For those not looking to go in-depth into manuals to figure out how to connect, you can actually be up and running by simply installing mIRC, and then typing the following two commands into the mIRC command line on the status window:&lt;br /&gt;
  /nick NickYouWantHere&lt;br /&gt;
  /server irc.rizon.net -j #Hercules &lt;br /&gt;
&lt;br /&gt;
And you'll be connected.&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
Here you will find links for IRC clients and other related things.&lt;br /&gt;
&lt;br /&gt;
== Windows IRC Clients ==&lt;br /&gt;
* [http://www.mirc.com mIRC]&lt;br /&gt;
* [http://www.pidgin.im/ Pidgin]&lt;br /&gt;
* [http://ntalk.de/Nettalk/en/ Nettalk]&lt;br /&gt;
* [http://bitchx.org/files/binaries/cygwin/BitchX-1.0c19-cygwin.tar.gz BitchX for cygWIN]&lt;br /&gt;
* [http://invision.lebyte.com/ Invision mIRC script]&lt;br /&gt;
* [http://www.xchat.org/windows/ XChat]&lt;br /&gt;
* [http://excursion.humr.org Ecursion mIRC CLient]&lt;br /&gt;
* [http://nnscript.de NNSCript for mIRC]&lt;br /&gt;
* [http://mircscripts.org/archive/scripts Various Other mIRC Scripts.]&lt;br /&gt;
&lt;br /&gt;
== *Nix Clients ==&lt;br /&gt;
The *NIX clients differ. you need to grab the one that best suits your *nix operating system.&lt;br /&gt;
* [http://bitchx.org/download.php BitchX]&lt;br /&gt;
* [http://www.xchat.org/download/ XChat]&lt;br /&gt;
* [http://ftp.ksut.edu.tw/FTP/Unix/IRC/clients/xwindows/circus/ Circus]&lt;br /&gt;
* [ftp://sunsite.unc.edu/pub/Linux/system/network/chat/irc/dircR15.zip dirc]&lt;br /&gt;
* [http://www.ircreviews.org/clients/platforms-unix-x.html Various Other Clients]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/Hercules</id>
		<title>Hercules</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/Hercules"/>
				<updated>2013-03-18T01:34:05Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: Created page with &amp;quot;{{infobox/software |developer=Hercules Developers |version=[https://github.com/HerculesWS/Hercules/commit/ GitHub] |os=Windows, Linux, FreeBSD, Mac OSX |lang=English...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox/software&lt;br /&gt;
|developer=[[Staff|Hercules Developers]]&lt;br /&gt;
|version=[https://github.com/HerculesWS/Hercules/commit/ GitHub]&lt;br /&gt;
|os=Windows, Linux, FreeBSD, Mac OSX&lt;br /&gt;
|lang=English&lt;br /&gt;
|type=Ragnarok Online Emulator&lt;br /&gt;
|license=GNU General Public License 3 (open source)&lt;br /&gt;
|web=http://hercules.ws/}}&lt;br /&gt;
'''Hercules''' is a free and open source implementation of [[wikipedia:AEGIS_(Ragnarok_Online)|Aegis]], a [[wikipedia:Ragnarok Online|Ragnarok Online]] game server,  and is written in [[wikipedia:C_(programming_language)|C]].&lt;br /&gt;
&lt;br /&gt;
== Repository ==&lt;br /&gt;
Hercules is available via [http://hercules.ws/board/topic/152-obtaining-hercules/ both Git and SVN]&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
You may access our [http://hercules.ws/board/ forums] or [[IRC|IRC channel]] for support.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://hercules.ws/board/ Official Hercules Support Board]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	<entry>
		<id>https://wiki.herc.ws/wiki/User:Ind</id>
		<title>User:Ind</title>
		<link rel="alternate" type="text/html" href="https://wiki.herc.ws/wiki/User:Ind"/>
				<updated>2013-03-18T01:18:33Z</updated>
		
		<summary type="html">&lt;p&gt;Ind: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi~&lt;br /&gt;
[http://hercules.ws/board/user/1-ind/ Ind]&lt;/div&gt;</summary>
		<author><name>Ind</name></author>	</entry>

	</feed>