<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://oldwiki.devbox.themanaworld.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kandiman</id>
	<title>The Mana World - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://oldwiki.devbox.themanaworld.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kandiman"/>
	<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/wiki/Special:Contributions/Kandiman"/>
	<updated>2026-05-06T02:17:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23854</id>
		<title>Development:Working With Git</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23854"/>
		<updated>2012-06-09T21:25:22Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git is a distributed revision control and source code management system.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/ GitHub] is a web-based hosting service for projects that use the Git revision control system.&lt;br /&gt;
&lt;br /&gt;
Together, these two tools allow developers working on The Mana World to easily collaborate and merge changes into the game.&lt;br /&gt;
&lt;br /&gt;
== Installing Git ==&lt;br /&gt;
&lt;br /&gt;
To install Git, select the appropriate Operating System at [http://git-scm.com/downloads/ Git Downloads] and follow the instructions. (For Windows users, accept all the default settings for the installer.)&lt;br /&gt;
*Please note that although the download for Windows includes a GUI tool, we will focus on the Git Bash command line tool in order to maintain consistency across platforms.&lt;br /&gt;
&lt;br /&gt;
After installation, please follow the basic setup instructions at [https://help.github.com/articles/set-up-git/ GitHub] under the Set Up Git heading.&lt;br /&gt;
&lt;br /&gt;
You will likely also want to set up SSH authentication for GitHub.  This can be done by following their [https://help.github.com/articles/generating-ssh-keys/ SSH Guide].&lt;br /&gt;
&lt;br /&gt;
== Preparing To Use Git ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a Fork ===&lt;br /&gt;
Once you have installed Git, your first task should be to create a personal copy (also known as a fork) of the server data on your GitHub account.  This will allow you to make changes and save them to a place where the content leaders can retrieve copies to include in the main server.  It&#039;s also easier to work with.&lt;br /&gt;
&lt;br /&gt;
To create a fork, login to your GitHub account and go to the [https://github.com/themanaworld/tmwa-server-data/ TMW Repository].&lt;br /&gt;
*You will see a button on the page that says Fork.  Click it.&lt;br /&gt;
*You should now see a page that has some details and history for the fork you just created.  At the top will be a series of buttons including one that says SSH.  Clicking the SSH button will create a link for you to copy which will be needed in the next step.  It will look like &#039;&#039;git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;.  Copy that link or keep the page open; we&#039;ll need it later.&lt;br /&gt;
&lt;br /&gt;
If you will be working with client-data or music, you will need to create separate forks for those repositories as well.&lt;br /&gt;
*[https://github.com/themanaworld/tmwa-client-data/ client-data]&lt;br /&gt;
*[https://github.com/themanaworld/tmw-music/ music]&lt;br /&gt;
&lt;br /&gt;
=== Creating a Clone ===&lt;br /&gt;
You now need to create a copy of the data on your computer to work with (also known as a clone).  We will create a clone from the main repository and set up Git to allow you to push changes to your personal fork.&lt;br /&gt;
&lt;br /&gt;
If you are using Windows, open the Git Bash tool which you installed earlier.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, open a terminal window.&lt;br /&gt;
*Navigate to the folder where you want to create your clone.&lt;br /&gt;
*Now issue the command to have Git create a copy: &#039;&#039;&#039;&#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**The &#039;&#039;--recursive&#039;&#039; command tells Git to copy all of the data from the included submodules (client-data and music).  If you don&#039;t plan on working with these, it can be omitted.&lt;br /&gt;
**The &#039;&#039;TMW&#039;&#039; at the end of the command is the name of the folder you want the data in.  In the example, &#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039; will create a new folder called TMW and put the files inside that folder.  You can use any folder name that makes sense to you.&lt;br /&gt;
&lt;br /&gt;
Note that copying the data may take some time.&lt;br /&gt;
&lt;br /&gt;
After the data is finished cloning to your computer, you need to tell it how to keep track of changes.&lt;br /&gt;
&lt;br /&gt;
=== Creating Remotes ===&lt;br /&gt;
&lt;br /&gt;
When a repo (short for repository) is cloned, it has a default remote called &#039;&#039;origin&#039;&#039; that points to the repo it was cloned from. To allow you to make changes on your personal fork, you need to add another remote which we will name &#039;&#039;fork&#039;&#039;.&lt;br /&gt;
*Change to the directory you created when you cloned your repo: &#039;&#039;&#039;&#039;&#039;cd TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Using the link we found at the end of the Creating a Fork section, issue the command &#039;&#039;&#039;&#039;&#039;git remote add fork git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also need to add remote pointers and select the correct branch for the submodules, if you cloned them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd client-data&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add client-data git@github.com:yournamehere/tmwa-client-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git checkout master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd music&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add music git@github.com:yournamehere/tmw-music.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git checkout master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Git includes the ability to work with &#039;&#039;branches&#039;&#039;, or multiple versions of files.  This can provide a way to work on separate projects without having to create a new clone for each one.  We won&#039;t be going too deeply into this option, but the option is there once you are more comfortable.  By default, you will be working on the &#039;&#039;master&#039;&#039; branch.  The command above, &#039;&#039;git checkout master&#039;&#039;, tells the submodule which branch you want to use.&lt;br /&gt;
&lt;br /&gt;
At this point you now have a personal fork, a local clone, and remote pointers for your fork.  You&#039;re ready to start making changes!  You are free to use whatever tools work for you to make your changes, but please ensure that the final results are in harmony with The Mana World&#039;s formatting guidelines. [[TmwAthena Scripting Standards]]&lt;br /&gt;
&lt;br /&gt;
== Day-to-day Use ==&lt;br /&gt;
&lt;br /&gt;
=== Retrieving Changes ===&lt;br /&gt;
&lt;br /&gt;
Because many developers are working on the project at the same time, you will want to make sure you have all the latest changes before making a commit.  This will ensure that your changes do not conflict with changes another developer has made. &lt;br /&gt;
&lt;br /&gt;
If you have not made any changes yet and want to make sure your clone is up-to-date before starting to work, you can simply pull from the repo.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git pull&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have made local changes and want to get the latest updates before continuing, you will need to tell Git to get the updates and then apply your changes on top of them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git pull --rebase&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Making Commits ===&lt;br /&gt;
&lt;br /&gt;
After making changes to any of the source files (maps, graphics, scripts) you will want to save those changes so other developers can see and review them.  You need to commit those changes to Git.  When committing files to Git, you will need to have a terminal or Git Bash open in the directory containing the changes.  For example, if you are changing music files, you will need to be in the &#039;&#039;TMW/client-data/music&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
Your first step toward making a commit is to verify that Git recognizes there have been changes.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git status&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
You will receive a result that tells you what branch you are working on, what files (if any) have been modified, and what files (if any) are untracked.  At this point, we want to add our changed or untracked files to Git.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git add &amp;lt;file&amp;gt;&#039;&#039;&#039;&#039;&#039; replacing &amp;lt;file&amp;gt; with the path and filename of the file to be added.  Be careful: the commands ARE case sensitive!&lt;br /&gt;
*Repeat as needed until your changed files are all added.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git commit -m &#039;your message here&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Using the &#039;&#039;-m&#039;&#039; switch in the command allows you to specify a brief commit message which will tell others what the changes are.&lt;br /&gt;
**For example, &#039;&#039;git commit -m &#039;Spelling corrections for Beer quest&#039;&#039;&#039; will tell others that we made corrections that might apply to multiple files, without giving an overload of detail.  If you aren&#039;t sure how much detail to include in a commit message, you can check with the development team on IRC for suggestions.&lt;br /&gt;
&lt;br /&gt;
=== Pushing to a Fork ===&lt;br /&gt;
&lt;br /&gt;
Once you have committed your changes to your local clone, you now have to put them where they can be seen: your fork.  To ensure that your fork will match what you have in your local clone, we will tell Git to force the changes to the repo.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git push -f fork master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Please note that using the -f option to force your changes causes Git to overwrite commit history on the repo.  This option should only ever be used on personal forks to bring them into the same state as the main repo.&lt;br /&gt;
If you have been working on and committing changes to music or client-data, you will need to push those to their respective forks.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git push -f client-data master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git push -f music master&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Archive:TmwAthena_Scripting_Standards&amp;diff=23853</id>
		<title>Archive:TmwAthena Scripting Standards</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Archive:TmwAthena_Scripting_Standards&amp;diff=23853"/>
		<updated>2012-06-09T21:21:05Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page defines the scripting and formatting standards to be used for scripts submitted to The Mana World project.&lt;br /&gt;
&lt;br /&gt;
== Formatting ==&lt;br /&gt;
*One NPC per file, except in cases of &#039;flavor&#039; NPC&#039;s who only have one or two lines.&lt;br /&gt;
*When indenting is required, code is to be indented using 4 spaces per indent.&lt;br /&gt;
*Code in the same block should have the same indentation.&lt;br /&gt;
*Menu options are on their own lines and are given an additional indentation.&lt;br /&gt;
*Multiple sentences should carry a single space between the period at the end of the first sentence and the first letter of the next sentence.&lt;br /&gt;
*Any dialog by an NPC should be put in double quotes (&amp;quot;).&lt;br /&gt;
*There should be no trailing whitespaces.&lt;br /&gt;
*Documentation within a script should be commented out using // as a prefix.&lt;br /&gt;
&lt;br /&gt;
== Code and Variables ==&lt;br /&gt;
*Permanent player/account variables should be documented at the beginning of the file.&lt;br /&gt;
*Dynamic and local @variables should be set to 0 before calling close;&lt;br /&gt;
*Separation of script header elements is to be done with a pipe |.&lt;br /&gt;
*When checking for, creating, or deleting an item, the item name should be used instead of the item id.&lt;br /&gt;
*There should be a newline before every label.&lt;br /&gt;
*There should not be a newline after the label.&lt;br /&gt;
*When writing conditional statements, a newline should be used between &#039;&#039;if (condition)&#039;&#039; and &#039;&#039;conditional_command;&#039;&#039;.&lt;br /&gt;
**Exception to this rule is when the conditional_command is a goto at the beginning of a major script block.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
An example which shows correct NPC definition, indentation, label definition, and commenting:&lt;br /&gt;
&lt;br /&gt;
{| border=0&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// A treasure chest. You need three keys to open it.&lt;br /&gt;
&lt;br /&gt;
001-1.gat,93,37,0|script|Treasure|111,{&lt;br /&gt;
    mes &amp;quot;Would you try to open it?&amp;quot;;&lt;br /&gt;
    next;&lt;br /&gt;
    menu&lt;br /&gt;
        &amp;quot;Yup&amp;quot;, L_Sure,&lt;br /&gt;
        &amp;quot;Nope&amp;quot;, close;&lt;br /&gt;
&lt;br /&gt;
L_Sure:&lt;br /&gt;
    if (countitem(&amp;quot;treasurekey&amp;quot;) &amp;lt; 3)&lt;br /&gt;
        goto L_WrongKey;&lt;br /&gt;
    delitem &amp;quot;treasurekey&amp;quot;, 3;&lt;br /&gt;
    getitem &amp;quot;shortsword&amp;quot;, 1;&lt;br /&gt;
    mes &amp;quot;You opened it and found a short sword!&amp;quot;;&lt;br /&gt;
    close;&lt;br /&gt;
&lt;br /&gt;
L_WrongKey:&lt;br /&gt;
    mes &amp;quot;It seems that this is not the right key...&amp;quot;;&lt;br /&gt;
    close;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For more complex examples of the current system, check out the current scripts in use by the server. Beware though, this could affect your enjoyment of the game as it does spoil some of the mystery. Here&#039;s a link to the GitHub repository so you can view them in your browser:&lt;br /&gt;
&lt;br /&gt;
https://github.com/themanaworld/tmwa-server-data/tree/master/world/map/npc&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Archive:TmwAthena_Scripting_Standards&amp;diff=23852</id>
		<title>Archive:TmwAthena Scripting Standards</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Archive:TmwAthena_Scripting_Standards&amp;diff=23852"/>
		<updated>2012-06-09T20:50:32Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: tmwAthena  Scripting Standards&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page defines the scripting and formatting standards to be used for scripts submitted to The Mana World project.&lt;br /&gt;
&lt;br /&gt;
== Formatting ==&lt;br /&gt;
*Code is to be indented using 4 spaces per indent.&lt;br /&gt;
*Code in the same block should have the same indentation.&lt;br /&gt;
*Labels have no indentation.&lt;br /&gt;
*Menu options are on their own lines and are indented further.&lt;br /&gt;
*Multiple sentences should carry a single space between the period at the end of the first sentence and the first letter of the next sentence.&lt;br /&gt;
*Any dialog by an NPC should be put in double quotes (&amp;quot;).&lt;br /&gt;
*There should be no trailing whitespaces.&lt;br /&gt;
*Separation of script header elements is to be done with a pipe (|).&lt;br /&gt;
*Documentation within a script should be commented out using // as a prefix.&lt;br /&gt;
*When checking for, creating, or deleting an item, the item name should be used instead of the item id.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code and Variables ==&lt;br /&gt;
* Code blocks should be separated from the others in a distinct way; the best way of doing it is to insert a blank line between code blocks. &lt;br /&gt;
&lt;br /&gt;
* Individual blocks should be together (i.e. without blank lines within them). &lt;br /&gt;
&lt;br /&gt;
* The opening brackets should be at the end of the parent line, not in a new line; the closing ones should be in a line of their own.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
An example is given by a quest to get a key for a chest:&lt;br /&gt;
&lt;br /&gt;
{| border=0&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// A treasure chest. You need three keys to open it.&lt;br /&gt;
&lt;br /&gt;
001-1.gat,93,37,0|script|Treasure|111,{&lt;br /&gt;
    mes &amp;quot;Would you try to open it?&amp;quot;;&lt;br /&gt;
    next;&lt;br /&gt;
    menu&lt;br /&gt;
        &amp;quot;Yup&amp;quot;, L_Sure,&lt;br /&gt;
        &amp;quot;Nope&amp;quot;, close;&lt;br /&gt;
&lt;br /&gt;
L_Sure:&lt;br /&gt;
    if (countitem(&amp;quot;treasurekey&amp;quot;) &amp;lt; 3) goto L_WrongKey;&lt;br /&gt;
    delitem &amp;quot;treasurekey&amp;quot;, 3;&lt;br /&gt;
    getitem &amp;quot;shortsword&amp;quot;, 1;&lt;br /&gt;
    mes &amp;quot;You opened it and found a short sword!&amp;quot;;&lt;br /&gt;
    close;&lt;br /&gt;
&lt;br /&gt;
L_WrongKey:&lt;br /&gt;
    mes &amp;quot;It seems that this is not the right key...&amp;quot;;&lt;br /&gt;
    close;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above script starts with describing the NPC (the chest, NPC sprite 111) and its location. Then follows what happens on activation. A message is shown, then an option dialog is displayed. Then, when the player has less than 3 keys, he is told not to have the right key. If he does, the player looses three keys and receives a short sword. &lt;br /&gt;
&lt;br /&gt;
For more examples of the current system, check out the current scripts in use by the server. Beware though, this could affect your enjoyment of the game as it does spoil some of the mystery. Here&#039;s a link to git so you can view them in your browser:&lt;br /&gt;
&lt;br /&gt;
https://github.com/themanaworld/tmwa-server-data/tree/master/world/map/npc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using as little variables as you need==&lt;br /&gt;
So there are some quests, which require lots of variables.&lt;br /&gt;
Think of monster oil quest, Oric and Warum quest etc.&lt;br /&gt;
&lt;br /&gt;
This can often be done by bitmasking: &lt;br /&gt;
One variable has 32 bits. So a variable can store 2^32 different numbers: 4294967296&lt;br /&gt;
&lt;br /&gt;
But sometimes you only need numbers from 0 to 15, but more of these variables.&lt;br /&gt;
but numbers in range 0 to 15 can be stored in 4 bits ( 2^4 = 16 different numbers)&lt;br /&gt;
&lt;br /&gt;
Here is an example how to use bitmasking:&lt;br /&gt;
[[Media:Tester.txt]]&lt;br /&gt;
&lt;br /&gt;
== Defining Map Objects ==&lt;br /&gt;
{|border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;float: right;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;| Key&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;TAB&amp;gt;&lt;br /&gt;
| a tab&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| text that must be the same&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;text&#039;&#039;&lt;br /&gt;
| text to be changed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These sections describe how to define map objects.&lt;br /&gt;
&lt;br /&gt;
=== Warp Definitions ===&lt;br /&gt;
Warps are what move players between maps. They can also be used to move players around a single map, if needed. Warps are defined like this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;map1&#039;&#039;,&#039;&#039;startX&#039;&#039;,&#039;&#039;startY&#039;&#039;&amp;lt;TAB&amp;gt;warp&amp;lt;TAB&amp;gt;&#039;&#039;name&#039;&#039;&amp;lt;TAB&amp;gt;&#039;&#039;width&#039;&#039;,&#039;&#039;height&#039;&#039;,&#039;&#039;map2&#039;&#039;,&#039;&#039;endX&#039;&#039;,&#039;&#039;endY&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Key:&lt;br /&gt;
;map1&lt;br /&gt;
:the starting map&lt;br /&gt;
;startX&lt;br /&gt;
:the x-coordinate of the starting warp tile&lt;br /&gt;
;startY&lt;br /&gt;
:the y-coordinate of the starting warp tile&lt;br /&gt;
;name&lt;br /&gt;
:the name of the warp, unused but must be defined&lt;br /&gt;
;width&lt;br /&gt;
:the width of the warp&lt;br /&gt;
;height&lt;br /&gt;
:the height of the warp&lt;br /&gt;
;map2&lt;br /&gt;
:the ending map&lt;br /&gt;
;endX&lt;br /&gt;
:the x-coordinate of the tile the player will end up on&lt;br /&gt;
;endY&lt;br /&gt;
:the y-coordinate of the tile the player will end up on&lt;br /&gt;
&lt;br /&gt;
Width and height are described in detail here: [[EAthena Scripting Standards/Warp Details|Warp Details]].&lt;br /&gt;
&lt;br /&gt;
=== Monster Definitions ===&lt;br /&gt;
Monsters are defined like this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;map&#039;&#039;,&#039;&#039;x&#039;&#039;,&#039;&#039;y&#039;&#039;,&#039;&#039;width&#039;&#039;,&#039;&#039;height&#039;&#039;&amp;lt;TAB&amp;gt;monster&amp;lt;TAB&amp;gt;&#039;&#039;name&#039;&#039;&amp;lt;TAB&amp;gt;&#039;&#039;mobID&#039;&#039;,&#039;&#039;count&#039;&#039;,&#039;&#039;spawn1&#039;&#039;,&#039;&#039;spawn2&#039;&#039;,&#039;&#039;event&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;map&lt;br /&gt;
:the map the monsters should appear on&lt;br /&gt;
;x&lt;br /&gt;
:the x-coordinate of the spawn tile&lt;br /&gt;
;y&lt;br /&gt;
:the y-coordinate of the spawn tile&lt;br /&gt;
;width&lt;br /&gt;
:the tile width of the spawn area&lt;br /&gt;
;height&lt;br /&gt;
:the tile height of the spawn area&lt;br /&gt;
;name&lt;br /&gt;
:the name of the mob, unused but must be defined&lt;br /&gt;
;mobID&lt;br /&gt;
:the mob identifier of the desired monster (in the monster db)&lt;br /&gt;
;count&lt;br /&gt;
:the number to spawn&lt;br /&gt;
;spawn1&lt;br /&gt;
:the minimum delay between successive spawns (per individual)&lt;br /&gt;
;spawn2&lt;br /&gt;
:the minimum delay between death and respawn (per individual)&lt;br /&gt;
;event&lt;br /&gt;
:the script event to fire upon death&lt;br /&gt;
&lt;br /&gt;
A detailed description of position and area can be found here: [[EAthena Scripting Standards/Mob Details|Mob Details]].&lt;br /&gt;
&lt;br /&gt;
=== NPC Definitions ===&lt;br /&gt;
&lt;br /&gt;
== Script Functions ==&lt;br /&gt;
&lt;br /&gt;
See [[EAthena Scripting Reference]]&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23851</id>
		<title>Development:Working With Git</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23851"/>
		<updated>2012-06-09T19:48:00Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git is a distributed revision control and source code management system.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/ GitHub] is a web-based hosting service for projects that use the Git revision control system.&lt;br /&gt;
&lt;br /&gt;
Together, these two tools allow developers working on The Mana World to easily collaborate and merge changes into the game.&lt;br /&gt;
&lt;br /&gt;
== Installing Git ==&lt;br /&gt;
&lt;br /&gt;
To install Git, select the appropriate Operating System at [http://git-scm.com/downloads/ Git Downloads] and follow the instructions. (For Windows users, accept all the default settings for the installer.)&lt;br /&gt;
*Please note that although the download for Windows includes a GUI tool, we will focus on the Git Bash command line tool in order to maintain consistency across platforms.&lt;br /&gt;
&lt;br /&gt;
After installation, please follow the basic setup instructions at [https://help.github.com/articles/set-up-git/ GitHub] under the Set Up Git heading.&lt;br /&gt;
&lt;br /&gt;
You will likely also want to set up SSH authentication for GitHub.  This can be done by following their [https://help.github.com/articles/generating-ssh-keys/ SSH Guide].&lt;br /&gt;
&lt;br /&gt;
== Preparing To Use Git ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a Fork ===&lt;br /&gt;
Once you have installed Git, your first task should be to create a personal copy (also known as a fork) of the server data on your GitHub account.  This will allow you to make changes and save them to a place where the content leaders can retrieve copies to include in the main server.  It&#039;s also easier to work with.&lt;br /&gt;
&lt;br /&gt;
To create a fork, login to your GitHub account and go to the [https://github.com/themanaworld/tmwa-server-data/ TMW Repository].&lt;br /&gt;
*You will see a button on the page that says Fork.  Click it.&lt;br /&gt;
*You should now see a page that has some details and history for the fork you just created.  At the top will be a series of buttons including one that says SSH.  Clicking the SSH button will create a link for you to copy which will be needed in the next step.  It will look like &#039;&#039;git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;.  Copy that link or keep the page open; we&#039;ll need it later.&lt;br /&gt;
&lt;br /&gt;
If you will be working with client-data or music, you will need to create separate forks for those repositories as well.&lt;br /&gt;
*[https://github.com/themanaworld/tmwa-client-data/ client-data]&lt;br /&gt;
*[https://github.com/themanaworld/tmw-music/ music]&lt;br /&gt;
&lt;br /&gt;
=== Creating a Clone ===&lt;br /&gt;
You now need to create a copy of the data on your computer to work with (also known as a clone).  We will create a clone from the main repository and set up Git to allow you to push changes to your personal fork.&lt;br /&gt;
&lt;br /&gt;
If you are using Windows, open the Git Bash tool which you installed earlier.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, open a terminal window.&lt;br /&gt;
*Navigate to the folder where you want to create your clone.&lt;br /&gt;
*Now issue the command to have Git create a copy: &#039;&#039;&#039;&#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**The &#039;&#039;--recursive&#039;&#039; command tells Git to copy all of the data from the included submodules (client-data and music).  If you don&#039;t plan on working with these, it can be omitted.&lt;br /&gt;
**The &#039;&#039;TMW&#039;&#039; at the end of the command is the name of the folder you want the data in.  In the example, &#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039; will create a new folder called TMW and put the files inside that folder.  You can use any folder name that makes sense to you.&lt;br /&gt;
&lt;br /&gt;
Note that copying the data may take some time.&lt;br /&gt;
&lt;br /&gt;
After the data is finished cloning to your computer, you need to tell it how to keep track of changes.&lt;br /&gt;
&lt;br /&gt;
=== Creating Remotes ===&lt;br /&gt;
&lt;br /&gt;
When a repo (short for repository) is cloned, it has a default remote called &#039;&#039;origin&#039;&#039; that points to the repo it was cloned from. To allow you to make changes on your personal fork, you need to add another remote which we will name &#039;&#039;fork&#039;&#039;.&lt;br /&gt;
*Change to the directory you created when you cloned your repo: &#039;&#039;&#039;&#039;&#039;cd TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Using the link we found at the end of the Creating a Fork section, issue the command &#039;&#039;&#039;&#039;&#039;git remote add fork git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also need to add remote pointers and select the correct branch for the submodules, if you cloned them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd client-data&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add client-data git@github.com:yournamehere/tmwa-client-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git checkout master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd music&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add music git@github.com:yournamehere/tmw-music.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git checkout master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Git includes the ability to work with &#039;&#039;branches&#039;&#039;, or multiple versions of files.  This can provide a way to work on separate projects without having to create a new clone for each one.  We won&#039;t be going too deeply into this option, but the option is there once you are more comfortable.  By default, you will be working on the &#039;&#039;master&#039;&#039; branch.  The command above, &#039;&#039;git checkout master&#039;&#039;, tells the submodule which branch you want to use.&lt;br /&gt;
&lt;br /&gt;
At this point you now have a personal fork, a local clone, and remote pointers for your fork.  You&#039;re ready to start making changes!  You are free to use whatever tools work for you to make your changes, but please ensure that the final results are in harmony with The Mana World&#039;s formatting guidelines. (Link needed)&lt;br /&gt;
&lt;br /&gt;
== Day-to-day Use ==&lt;br /&gt;
&lt;br /&gt;
=== Retrieving Changes ===&lt;br /&gt;
&lt;br /&gt;
Because many developers are working on the project at the same time, you will want to make sure you have all the latest changes before making a commit.  This will ensure that your changes do not conflict with changes another developer has made. &lt;br /&gt;
&lt;br /&gt;
If you have not made any changes yet and want to make sure your clone is up-to-date before starting to work, you can simply pull from the repo.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git pull&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have made local changes and want to get the latest updates before continuing, you will need to tell Git to get the updates and then apply your changes on top of them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git pull --rebase&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Making Commits ===&lt;br /&gt;
&lt;br /&gt;
After making changes to any of the source files (maps, graphics, scripts) you will want to save those changes so other developers can see and review them.  You need to commit those changes to Git.  When committing files to Git, you will need to have a terminal or Git Bash open in the directory containing the changes.  For example, if you are changing music files, you will need to be in the &#039;&#039;TMW/client-data/music&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
Your first step toward making a commit is to verify that Git recognizes there have been changes.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git status&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
You will receive a result that tells you what branch you are working on, what files (if any) have been modified, and what files (if any) are untracked.  At this point, we want to add our changed or untracked files to Git.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git add &amp;lt;file&amp;gt;&#039;&#039;&#039;&#039;&#039; replacing &amp;lt;file&amp;gt; with the path and filename of the file to be added.  Be careful: the commands ARE case sensitive!&lt;br /&gt;
*Repeat as needed until your changed files are all added.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git commit -m &#039;your message here&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Using the &#039;&#039;-m&#039;&#039; switch in the command allows you to specify a brief commit message which will tell others what the changes are.&lt;br /&gt;
**For example, &#039;&#039;git commit -m &#039;Spelling corrections for Beer quest&#039;&#039;&#039; will tell others that we made corrections that might apply to multiple files, without giving an overload of detail.  If you aren&#039;t sure how much detail to include in a commit message, you can check with the development team on IRC for suggestions.&lt;br /&gt;
&lt;br /&gt;
=== Pushing to a Fork ===&lt;br /&gt;
&lt;br /&gt;
Once you have committed your changes to your local clone, you now have to put them where they can be seen: your fork.  To ensure that your fork will match what you have in your local clone, we will tell Git to force the changes to the repo.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git push -f fork master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Please note that using the -f option to force your changes causes Git to overwrite commit history on the repo.  This option should only ever be used on personal forks to bring them into the same state as the main repo.&lt;br /&gt;
If you have been working on and committing changes to music or client-data, you will need to push those to their respective forks.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git push -f client-data master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git push -f music master&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23850</id>
		<title>Development:Working With Git</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23850"/>
		<updated>2012-06-09T18:22:28Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: /* Creating Remotes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git is a distributed revision control and source code management system.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/ GitHub] is a web-based hosting service for projects that use the Git revision control system.&lt;br /&gt;
&lt;br /&gt;
Together, these two tools allow developers working on The Mana World to easily collaborate and merge changes into the game.&lt;br /&gt;
&lt;br /&gt;
== Installing Git ==&lt;br /&gt;
&lt;br /&gt;
To install Git, select the appropriate Operating System at [http://git-scm.com/downloads/ Git Downloads] and follow the instructions. (For Windows users, accept all the default settings for the installer.)&lt;br /&gt;
*Please note that although the download for Windows includes a GUI tool, we will focus on the Git Bash command line tool in order to maintain consistency across platforms.&lt;br /&gt;
&lt;br /&gt;
After installation, please follow the basic setup instructions at [https://help.github.com/articles/set-up-git/ GitHub] under the Set Up Git heading.&lt;br /&gt;
&lt;br /&gt;
You will likely also want to set up SSH authentication for GitHub.  This can be done by following their [https://help.github.com/articles/generating-ssh-keys/ SSH Guide].&lt;br /&gt;
&lt;br /&gt;
== Preparing To Use Git ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a Fork ===&lt;br /&gt;
Once you have installed Git, your first task should be to create a personal copy (also known as a fork) of the server data on your GitHub account.  This will allow you to make changes and save them to a place where the content leaders can retrieve copies to include in the main server.  It&#039;s also easier to work with.&lt;br /&gt;
&lt;br /&gt;
To create a fork, login to your GitHub account and go to the [https://github.com/themanaworld/tmwa-server-data/ TMW Repository].&lt;br /&gt;
*You will see a button on the page that says Fork.  Click it.&lt;br /&gt;
*You should now see a page that has some details and history for the fork you just created.  At the top will be a series of buttons including one that says SSH.  Clicking the SSH button will create a link for you to copy which will be needed in the next step.  It will look like &#039;&#039;git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;.  Copy that link or keep the page open; we&#039;ll need it later.&lt;br /&gt;
&lt;br /&gt;
If you will be working with client-data or music, you will need to create separate forks for those repositories as well.&lt;br /&gt;
*[https://github.com/themanaworld/tmwa-client-data/ client-data]&lt;br /&gt;
*[https://github.com/themanaworld/tmw-music/ music]&lt;br /&gt;
&lt;br /&gt;
=== Creating a Clone ===&lt;br /&gt;
You now need to create a copy of the data on your computer to work with (also known as a clone).  We will create a clone from the main repository and set up Git to allow you to push changes to your personal fork.&lt;br /&gt;
&lt;br /&gt;
If you are using Windows, open the Git Bash tool which you installed earlier.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, open a terminal window.&lt;br /&gt;
*Navigate to the folder where you want to create your clone.&lt;br /&gt;
*Now issue the command to have Git create a copy: &#039;&#039;&#039;&#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**The &#039;&#039;--recursive&#039;&#039; command tells Git to copy all of the data from the included submodules (client-data and music).  If you don&#039;t plan on working with these, it can be omitted.&lt;br /&gt;
**The &#039;&#039;TMW&#039;&#039; at the end of the command is the name of the folder you want the data in.  In the example, &#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039; will create a new folder called TMW and put the files inside that folder.  You can use any folder name that makes sense to you.&lt;br /&gt;
&lt;br /&gt;
Note that copying the data may take some time.&lt;br /&gt;
&lt;br /&gt;
After the data is finished cloning to your computer, you need to tell it how to keep track of changes.&lt;br /&gt;
&lt;br /&gt;
=== Creating Remotes ===&lt;br /&gt;
&lt;br /&gt;
When a repo (short for repository) is cloned, it has a default remote called &#039;&#039;origin&#039;&#039; that points to the repo it was cloned from. To allow you to make changes on your personal fork, you need to add another remote which we will name &#039;&#039;fork&#039;&#039;.&lt;br /&gt;
*Change to the directory you created when you cloned your repo: &#039;&#039;&#039;&#039;&#039;cd TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Using the link we found at the end of the Creating a Fork section, issue the command &#039;&#039;&#039;&#039;&#039;git remote add fork git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also need to add remote pointers for the submodules, if you cloned them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd client-data&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add client-data git@github.com:yournamehere/tmwa-client-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd music&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add music git@github.com:yournamehere/tmw-music.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Git includes the ability to work with &#039;&#039;branches&#039;&#039;, or multiple versions of files.  This can provide a way to work on separate projects without having to create a new clone for each one.  We won&#039;t be going too deeply into this option, but the option is there once you are more comfortable.  By default, you will be working on the &#039;&#039;master&#039;&#039; branch.&lt;br /&gt;
&lt;br /&gt;
At this point you now have a personal fork, a local clone, and remote pointers for your fork.  You&#039;re ready to start making changes!  You are free to use whatever tools work for you to make your changes, but please ensure that the final results are in harmony with The Mana World&#039;s formatting guidelines. (Link needed)&lt;br /&gt;
&lt;br /&gt;
== Day-to-day Use ==&lt;br /&gt;
&lt;br /&gt;
=== Retrieving Changes ===&lt;br /&gt;
&lt;br /&gt;
Because many developers are working on the project at the same time, you will want to make sure you have all the latest changes before making a commit.  This will ensure that your changes do not conflict with changes another developer has made. &lt;br /&gt;
&lt;br /&gt;
If you have not made any changes yet and want to make sure your clone is up-to-date before starting to work, you can simply pull from the repo.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git pull&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have made local changes and want to get the latest updates before continuing, you will need to tell Git to get the updates and then apply your changes on top of them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git pull --rebase&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Making Commits ===&lt;br /&gt;
&lt;br /&gt;
After making changes to any of the source files (maps, graphics, scripts) you will want to save those changes so other developers can see and review them.  You need to commit those changes to Git.  When committing files to Git, you will need to have a terminal or Git Bash open in the directory containing the changes.  For example, if you are changing music files, you will need to be in the &#039;&#039;TMW/client-data/music&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
Your first step toward making a commit is to verify that Git recognizes there have been changes.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git status&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
You will receive a result that tells you what branch you are working on, what files (if any) have been modified, and what files (if any) are untracked.  At this point, we want to add our changed or untracked files to Git.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git add &amp;lt;file&amp;gt;&#039;&#039;&#039;&#039;&#039; replacing &amp;lt;file&amp;gt; with the path and filename of the file to be added.  Be careful: the commands ARE case sensitive!&lt;br /&gt;
*Repeat as needed until your changed files are all added.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git commit -m &#039;your message here&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Using the &#039;&#039;-m&#039;&#039; switch in the command allows you to specify a brief commit message which will tell others what the changes are.&lt;br /&gt;
**For example, &#039;&#039;git commit -m &#039;Spelling corrections for Beer quest&#039;&#039;&#039; will tell others that we made corrections that might apply to multiple files, without giving an overload of detail.  If you aren&#039;t sure how much detail to include in a commit message, you can check with the development team on IRC for suggestions.&lt;br /&gt;
&lt;br /&gt;
=== Pushing to a Fork ===&lt;br /&gt;
&lt;br /&gt;
Once you have committed your changes to your local clone, you now have to put them where they can be seen: your fork.  To ensure that your fork will match what you have in your local clone, we will tell Git to force the changes to the repo.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git push -f fork master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
If you have been working on and committing changes to music or client-data, you will need to push those to their respective forks.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git push -f client-data master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git push -f music master&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23849</id>
		<title>Development:Working With Git</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23849"/>
		<updated>2012-06-09T15:17:42Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git is a distributed revision control and source code management system.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/ GitHub] is a web-based hosting service for projects that use the Git revision control system.&lt;br /&gt;
&lt;br /&gt;
Together, these two tools allow developers working on The Mana World to easily collaborate and merge changes into the game.&lt;br /&gt;
&lt;br /&gt;
== Installing Git ==&lt;br /&gt;
&lt;br /&gt;
To install Git, select the appropriate Operating System at [http://git-scm.com/downloads/ Git Downloads] and follow the instructions. (For Windows users, accept all the default settings for the installer.)&lt;br /&gt;
*Please note that although the download for Windows includes a GUI tool, we will focus on the Git Bash command line tool in order to maintain consistency across platforms.&lt;br /&gt;
&lt;br /&gt;
After installation, please follow the basic setup instructions at [https://help.github.com/articles/set-up-git/ GitHub] under the Set Up Git heading.&lt;br /&gt;
&lt;br /&gt;
You will likely also want to set up SSH authentication for GitHub.  This can be done by following their [https://help.github.com/articles/generating-ssh-keys/ SSH Guide].&lt;br /&gt;
&lt;br /&gt;
== Preparing To Use Git ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a Fork ===&lt;br /&gt;
Once you have installed Git, your first task should be to create a personal copy (also known as a fork) of the server data on your GitHub account.  This will allow you to make changes and save them to a place where the content leaders can retrieve copies to include in the main server.  It&#039;s also easier to work with.&lt;br /&gt;
&lt;br /&gt;
To create a fork, login to your GitHub account and go to the [https://github.com/themanaworld/tmwa-server-data/ TMW Repository].&lt;br /&gt;
*You will see a button on the page that says Fork.  Click it.&lt;br /&gt;
*You should now see a page that has some details and history for the fork you just created.  At the top will be a series of buttons including one that says SSH.  Clicking the SSH button will create a link for you to copy which will be needed in the next step.  It will look like &#039;&#039;git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;.  Copy that link or keep the page open; we&#039;ll need it later.&lt;br /&gt;
&lt;br /&gt;
If you will be working with client-data or music, you will need to create separate forks for those repositories as well.&lt;br /&gt;
*[https://github.com/themanaworld/tmwa-client-data/ client-data]&lt;br /&gt;
*[https://github.com/themanaworld/tmw-music/ music]&lt;br /&gt;
&lt;br /&gt;
=== Creating a Clone ===&lt;br /&gt;
You now need to create a copy of the data on your computer to work with (also known as a clone).  We will create a clone from the main repository and set up Git to allow you to push changes to your personal fork.&lt;br /&gt;
&lt;br /&gt;
If you are using Windows, open the Git Bash tool which you installed earlier.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, open a terminal window.&lt;br /&gt;
*Navigate to the folder where you want to create your clone.&lt;br /&gt;
*Now issue the command to have Git create a copy: &#039;&#039;&#039;&#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**The &#039;&#039;--recursive&#039;&#039; command tells Git to copy all of the data from the included submodules (client-data and music).  If you don&#039;t plan on working with these, it can be omitted.&lt;br /&gt;
**The &#039;&#039;TMW&#039;&#039; at the end of the command is the name of the folder you want the data in.  In the example, &#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039; will create a new folder called TMW and put the files inside that folder.  You can use any folder name that makes sense to you.&lt;br /&gt;
&lt;br /&gt;
Note that copying the data may take some time.&lt;br /&gt;
&lt;br /&gt;
After the data is finished cloning to your computer, you need to tell it how to keep track of changes.&lt;br /&gt;
&lt;br /&gt;
=== Creating Remotes ===&lt;br /&gt;
&lt;br /&gt;
When a repo (short for repository) is cloned, it has a default remote called &#039;&#039;origin&#039;&#039; that points to the repo it was cloned from. To allow you to make changes on your personal fork, you need to add another remote which we will name &#039;&#039;fork&#039;&#039;.&lt;br /&gt;
*Change to the directory you created when you cloned your repo: &#039;&#039;&#039;&#039;&#039;cd TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Using the link we found at the end of the Creating a Fork section, issue the command &#039;&#039;&#039;&#039;&#039;git remote add fork git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also need to add remote pointers and choose the branch for the submodules, if you cloned them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd client-data&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add client-data git@github.com:yournamehere/tmwa-client-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd music&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add music git@github.com:yournamehere/tmw-music.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Git includes the ability to work with &#039;&#039;branches&#039;&#039;, or multiple versions of files.  This can provide a way to work on separate projects without having to create a new clone for each one.  We won&#039;t be going too deeply into this option, but the option is there once you are more comfortable.  By default, you will be working on the &#039;&#039;master&#039;&#039; branch.&lt;br /&gt;
&lt;br /&gt;
At this point you now have a personal fork, a local clone, and remote pointers for your fork.  You&#039;re ready to start making changes!  You are free to use whatever tools work for you to make your changes, but please ensure that the final results are in harmony with The Mana World&#039;s formatting guidelines. (Link needed)&lt;br /&gt;
&lt;br /&gt;
== Day-to-day Use ==&lt;br /&gt;
&lt;br /&gt;
=== Retrieving Changes ===&lt;br /&gt;
&lt;br /&gt;
Because many developers are working on the project at the same time, you will want to make sure you have all the latest changes before making a commit.  This will ensure that your changes do not conflict with changes another developer has made. &lt;br /&gt;
&lt;br /&gt;
If you have not made any changes yet and want to make sure your clone is up-to-date before starting to work, you can simply pull from the repo.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git pull&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have made local changes and want to get the latest updates before continuing, you will need to tell Git to get the updates and then apply your changes on top of them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git pull --rebase&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Making Commits ===&lt;br /&gt;
&lt;br /&gt;
After making changes to any of the source files (maps, graphics, scripts) you will want to save those changes so other developers can see and review them.  You need to commit those changes to Git.  When committing files to Git, you will need to have a terminal or Git Bash open in the directory containing the changes.  For example, if you are changing music files, you will need to be in the &#039;&#039;TMW/client-data/music&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
Your first step toward making a commit is to verify that Git recognizes there have been changes.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git status&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
You will receive a result that tells you what branch you are working on, what files (if any) have been modified, and what files (if any) are untracked.  At this point, we want to add our changed or untracked files to Git.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git add &amp;lt;file&amp;gt;&#039;&#039;&#039;&#039;&#039; replacing &amp;lt;file&amp;gt; with the path and filename of the file to be added.  Be careful: the commands ARE case sensitive!&lt;br /&gt;
*Repeat as needed until your changed files are all added.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git commit -m &#039;your message here&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Using the &#039;&#039;-m&#039;&#039; switch in the command allows you to specify a brief commit message which will tell others what the changes are.&lt;br /&gt;
**For example, &#039;&#039;git commit -m &#039;Spelling corrections for Beer quest&#039;&#039;&#039; will tell others that we made corrections that might apply to multiple files, without giving an overload of detail.  If you aren&#039;t sure how much detail to include in a commit message, you can check with the development team on IRC for suggestions.&lt;br /&gt;
&lt;br /&gt;
=== Pushing to a Fork ===&lt;br /&gt;
&lt;br /&gt;
Once you have committed your changes to your local clone, you now have to put them where they can be seen: your fork.  To ensure that your fork will match what you have in your local clone, we will tell Git to force the changes to the repo.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git push -f fork master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
If you have been working on and committing changes to music or client-data, you will need to push those to their respective forks.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git push -f client-data master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git push -f music master&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23848</id>
		<title>Development:Working With Git</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23848"/>
		<updated>2012-06-09T15:11:40Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git is a distributed revision control and source code management system.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/ GitHub] is a web-based hosting service for projects that use the Git revision control system.&lt;br /&gt;
&lt;br /&gt;
Together, these two tools allow developers working on The Mana World to easily collaborate and merge changes into the game.&lt;br /&gt;
&lt;br /&gt;
== Installing Git ==&lt;br /&gt;
&lt;br /&gt;
To install Git, select the appropriate Operating System at [http://git-scm.com/downloads/ Git Downloads] and follow the instructions. (For Windows users, accept all the default settings for the installer.)&lt;br /&gt;
*Please note that although the download for Windows includes a GUI tool, we will focus on the Git Bash command line tool in order to maintain consistency across platforms.&lt;br /&gt;
&lt;br /&gt;
After installation, please follow the basic setup instructions at [https://help.github.com/articles/set-up-git/ GitHub] under the Set Up Git heading.&lt;br /&gt;
&lt;br /&gt;
You will likely also want to set up SSH authentication for GitHub.  This can be done by following their [https://help.github.com/articles/generating-ssh-keys/ SSH Guide].&lt;br /&gt;
&lt;br /&gt;
== Preparing To Use Git ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a Fork ===&lt;br /&gt;
Once you have installed Git, your first task should be to create a personal copy (also known as a fork) of the server data on your GitHub account.  This will allow you to make changes and save them to a place where the content leaders can retrieve copies to include in the main server.  It&#039;s also easier to work with.&lt;br /&gt;
&lt;br /&gt;
To create a fork, login to your GitHub account and go to the [https://github.com/themanaworld/tmwa-server-data/ TMW Repository].&lt;br /&gt;
*You will see a button on the page that says Fork.  Click it.&lt;br /&gt;
*You should now see a page that has some details and history for the fork you just created.  At the top will be a series of buttons including one that says SSH.  Clicking the SSH button will create a link for you to copy which will be needed in the next step.  It will look like &#039;&#039;git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;.  Copy that link or keep the page open; we&#039;ll need it later.&lt;br /&gt;
&lt;br /&gt;
If you will be working with client-data or music, you will need to create separate forks for those repositories as well.&lt;br /&gt;
*[https://github.com/themanaworld/tmwa-client-data/ client-data]&lt;br /&gt;
*[https://github.com/themanaworld/tmw-music/ music]&lt;br /&gt;
&lt;br /&gt;
=== Creating a Clone ===&lt;br /&gt;
You now need to create a copy of the data on your computer to work with (also known as a clone).  We will create a clone from the main repository and set up Git to allow you to push changes to your personal fork.&lt;br /&gt;
&lt;br /&gt;
If you are using Windows, open the Git Bash tool which you installed earlier.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, open a terminal window.&lt;br /&gt;
*Navigate to the folder where you want to create your clone.&lt;br /&gt;
*Now issue the command to have Git create a copy: &#039;&#039;&#039;&#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**The &#039;&#039;--recursive&#039;&#039; command tells Git to copy all of the data from the included submodules (client-data and music).  If you don&#039;t plan on working with these, it can be omitted.&lt;br /&gt;
**The &#039;&#039;TMW&#039;&#039; at the end of the command is the name of the folder you want the data in.  In the example, &#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039; will create a new folder called TMW and put the files inside that folder.  You can use any folder name that makes sense to you.&lt;br /&gt;
&lt;br /&gt;
Note that copying the data may take some time.&lt;br /&gt;
&lt;br /&gt;
After the data is finished cloning to your computer, you need to tell it how to keep track of changes.&lt;br /&gt;
&lt;br /&gt;
=== Creating Remotes ===&lt;br /&gt;
&lt;br /&gt;
When a repo (short for repository) is cloned, it has a default remote called &#039;&#039;origin&#039;&#039; that points to the repo it was cloned from. To allow you to make changes on your personal fork, you need to add another remote which we will name &#039;&#039;fork&#039;&#039;.&lt;br /&gt;
*Change to the directory you created when you cloned your repo: &#039;&#039;&#039;&#039;&#039;cd TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Using the link we found at the end of the Creating a Fork section, issue the command &#039;&#039;&#039;&#039;&#039;git remote add fork git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also need to add remote pointers and choose the branch for the submodules, if you cloned them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd client-data&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add client-data git@github.com:yournamehere/tmwa-client-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd music&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add music git@github.com:yournamehere/tmw-music.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Git includes the ability to work with &#039;&#039;branches&#039;&#039;, or multiple versions of files.  This can provide a way to work on separate projects without having to create a new clone for each one.  We won&#039;t be going too deeply into this option, but the option is there once you are more comfortable.  By default, you will be working on the &#039;&#039;master&#039;&#039; branch.&lt;br /&gt;
&lt;br /&gt;
At this point you now have a personal fork, a local clone, and remote pointers for your fork.  You&#039;re ready to start making changes!  You are free to use whatever tools work for you to make your changes, but please ensure that the final results are in harmony with The Mana World&#039;s formatting guidelines. (Link needed)&lt;br /&gt;
&lt;br /&gt;
== Day-to-day Use ==&lt;br /&gt;
&lt;br /&gt;
=== Retrieving Changes ===&lt;br /&gt;
&lt;br /&gt;
Because many developers are working on the project at the same time, you will want to make sure you have all the latest changes before making a commit.  This will ensure that your changes do not conflict with changes another developer has made. &lt;br /&gt;
&lt;br /&gt;
If you have not made any changes yet and want to make sure your clone is up-to-date before starting to work, you can simply pull from the repo.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git pull&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have made local changes and want to get the latest updates before continuing, you will need to tell Git to get the updates and then apply your changes on top of them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git pull --rebase&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Making Commits ===&lt;br /&gt;
&lt;br /&gt;
After making changes to any of the source files (maps, graphics, scripts) you will want to save those changes so other developers can see and review them.  You need to commit those changes to Git.  When committing files to Git, you will need to have a terminal or Git Bash open in the directory containing the changes.  For example, if you are changing music files, you will need to be in the &#039;&#039;TMW/client-data/music&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
Your first step toward making a commit is to verify that Git recognizes there have been changes.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git status&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
You will receive a result that tells you what branch you are working on, what files (if any) have been modified, and what files (if any) are untracked.  At this point, we want to add our changed or untracked files to Git.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git add &amp;lt;file&amp;gt;&#039;&#039;&#039;&#039;&#039; replacing &amp;lt;file&amp;gt; with the path and filename of the file to be added.  Be careful: the commands ARE case sensitive!&lt;br /&gt;
*Repeat as needed until your changed files are all added.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git commit -m &#039;your message here&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Using the &#039;&#039;-m&#039;&#039; switch in the command allows you to specify a brief commit message which will tell others what the changes are.&lt;br /&gt;
**For example, &#039;&#039;git commit -m &#039;Spelling corrections for Beer quest&#039;&#039;&#039; will tell others that we made corrections that might apply to multiple files, without giving an overload of detail.  If you aren&#039;t sure how much detail to include in a commit message, you can check with the development team on IRC for suggestions.&lt;br /&gt;
&lt;br /&gt;
=== Pushing to a Fork ===&lt;br /&gt;
&lt;br /&gt;
Once you have committed your changes to your local clone, you now have to put them where they can be seen: your fork.  To ensure that your fork will match what you have in your local clone, we will tell Git to force the changes to the repo.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git push -f fork master&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23847</id>
		<title>Development:Working With Git</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23847"/>
		<updated>2012-06-09T14:59:43Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git is a distributed revision control and source code management system.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/ GitHub] is a web-based hosting service for projects that use the Git revision control system.&lt;br /&gt;
&lt;br /&gt;
Together, these two tools allow developers working on The Mana World to easily collaborate and merge changes into the game.&lt;br /&gt;
&lt;br /&gt;
== Installing Git ==&lt;br /&gt;
&lt;br /&gt;
To install Git, select the appropriate Operating System at [http://git-scm.com/downloads/ Git Downloads] and follow the instructions. (For Windows users, accept all the default settings for the installer.)&lt;br /&gt;
*Please note that although the download for Windows includes a GUI tool, we will focus on the Git Bash command line tool in order to maintain consistency across platforms.&lt;br /&gt;
&lt;br /&gt;
After installation, please follow the basic setup instructions at [https://help.github.com/articles/set-up-git/ GitHub] under the Set Up Git heading.&lt;br /&gt;
&lt;br /&gt;
== Preparing To Use Git ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a Fork ===&lt;br /&gt;
Once you have installed Git, your first task should be to create a personal copy (also known as a fork) of the server data on your GitHub account.  This will allow you to make changes and save them to a place where the content leaders can retrieve copies to include in the main server.  It&#039;s also easier to work with.&lt;br /&gt;
&lt;br /&gt;
To create a fork, login to your GitHub account and go to the [https://github.com/themanaworld/tmwa-server-data/ TMW Repository].&lt;br /&gt;
*You will see a button on the page that says Fork.  Click it.&lt;br /&gt;
*You should now see a page that has some details and history for the fork you just created.  At the top will be a series of buttons including one that says SSH.  Clicking the SSH button will create a link for you to copy which will be needed in the next step.  It will look like &#039;&#039;git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;.  Copy that link or keep the page open; we&#039;ll need it later.&lt;br /&gt;
&lt;br /&gt;
If you will be working with client-data or music, you will need to create separate forks for those repositories as well.&lt;br /&gt;
*[https://github.com/themanaworld/tmwa-client-data/ client-data]&lt;br /&gt;
*[https://github.com/themanaworld/tmw-music/ music]&lt;br /&gt;
&lt;br /&gt;
=== Creating a Clone ===&lt;br /&gt;
You now need to create a copy of the data on your computer to work with (also known as a clone).  We will create a clone from the main repository and set up Git to allow you to push changes to your personal fork.&lt;br /&gt;
&lt;br /&gt;
If you are using Windows, open the Git Bash tool which you installed earlier.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, open a terminal window.&lt;br /&gt;
*Navigate to the folder where you want to create your clone.&lt;br /&gt;
*Now issue the command to have Git create a copy: &#039;&#039;&#039;&#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**The &#039;&#039;--recursive&#039;&#039; command tells Git to copy all of the data from the included submodules (client-data and music).  If you don&#039;t plan on working with these, it can be omitted.&lt;br /&gt;
**The &#039;&#039;TMW&#039;&#039; at the end of the command is the name of the folder you want the data in.  In the example, &#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039; will create a new folder called TMW and put the files inside that folder.  You can use any folder name that makes sense to you.&lt;br /&gt;
&lt;br /&gt;
Note that copying the data may take some time.&lt;br /&gt;
&lt;br /&gt;
After the data is finished cloning to your computer, you need to tell it how to keep track of changes.&lt;br /&gt;
&lt;br /&gt;
=== Creating Remotes ===&lt;br /&gt;
&lt;br /&gt;
When a repo (short for repository) is cloned, it has a default remote called &#039;&#039;origin&#039;&#039; that points to the repo it was cloned from. To allow you to make changes on your personal fork, you need to add another remote which we will name &#039;&#039;fork&#039;&#039;.&lt;br /&gt;
*Change to the directory you created when you cloned your repo: &#039;&#039;&#039;&#039;&#039;cd TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Using the link we found at the end of the Creating a Fork section, issue the command &#039;&#039;&#039;&#039;&#039;git remote add fork git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also need to add remote pointers and choose the branch for the submodules, if you cloned them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd client-data&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add client-data git@github.com:yournamehere/tmwa-client-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd music&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add music git@github.com:yournamehere/tmw-music.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Git includes the ability to work with &#039;&#039;branches&#039;&#039;, or multiple versions of files.  This can provide a way to work on separate projects without having to create a new clone for each one.  We won&#039;t be going too deeply into this option, but the option is there once you are more comfortable.  By default, you will be working on the &#039;&#039;master&#039;&#039; branch.&lt;br /&gt;
&lt;br /&gt;
At this point you now have a personal fork, a local clone, and remote pointers for your fork.  You&#039;re ready to start making changes!  You are free to use whatever tools work for you to make your changes, but please ensure that the final results are in harmony with The Mana World&#039;s formatting guidelines. (Link needed)&lt;br /&gt;
&lt;br /&gt;
== Day-to-day Use ==&lt;br /&gt;
&lt;br /&gt;
=== Retrieving Changes ===&lt;br /&gt;
&lt;br /&gt;
Because many developers are working on the project at the same time, you will want to make sure you have all the latest changes before making a commit.  This will ensure that your changes do not conflict with changes another developer has made. &lt;br /&gt;
&lt;br /&gt;
If you have not made any changes yet and want to make sure your clone is up-to-date before starting to work, you can simply pull from the repo.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git pull&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have made local changes and want to get the latest updates before continuing, you will need to tell Git to get the updates and then apply your changes on top of them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git pull --rebase&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Making Commits ===&lt;br /&gt;
&lt;br /&gt;
After making changes to any of the source files (maps, graphics, scripts) you will want to save those changes so other developers can see and review them.  You need to commit those changes to Git.  When committing files to Git, you will need to have a terminal or Git Bash open in the directory containing the changes.  For example, if you are changing music files, you will need to be in the &#039;&#039;TMW/client-data/music&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
Your first step toward making a commit is to verify that Git recognizes there have been changes.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git status&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
You will receive a result that tells you what branch you are working on, what files (if any) have been modified, and what files (if any) are untracked.  At this point, we want to add our changed or untracked files to Git.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git add &amp;lt;file&amp;gt;&#039;&#039;&#039;&#039;&#039; replacing &amp;lt;file&amp;gt; with the path and filename of the file to be added.  Be careful: the commands ARE case sensitive!&lt;br /&gt;
*Repeat as needed until your changed files are all added.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git commit -m &#039;your message here&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Using the &#039;&#039;-m&#039;&#039; switch in the command allows you to specify a brief commit message which will tell others what the changes are.&lt;br /&gt;
**For example, &#039;&#039;git commit -m &#039;Spelling corrections for Beer quest&#039;&#039;&#039; will tell others that we made corrections that might apply to multiple files, without giving an overload of detail.  If you aren&#039;t sure how much detail to include in a commit message, you can check with the development team on IRC for suggestions.&lt;br /&gt;
&lt;br /&gt;
=== Pushing to a Fork ===&lt;br /&gt;
&lt;br /&gt;
Once you have committed your changes to your local clone, you now have to put them where they can be seen: your fork.  To ensure that your fork will match what you have in your local clone, we will tell Git to force the changes to the repo.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git push -f fork master&#039;&#039;&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23846</id>
		<title>Development:Working With Git</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23846"/>
		<updated>2012-06-09T14:03:18Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git is a distributed revision control and source code management system.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/ GitHub] is a web-based hosting service for projects that use the Git revision control system.&lt;br /&gt;
&lt;br /&gt;
Together, these two tools allow developers working on The Mana World to easily collaborate and merge changes into the game.&lt;br /&gt;
&lt;br /&gt;
== Installing Git ==&lt;br /&gt;
&lt;br /&gt;
To install Git, select the appropriate Operating System at [http://git-scm.com/downloads/ Git Downloads] and follow the instructions. (For Windows users, accept all the default settings for the installer.)&lt;br /&gt;
*Please note that although the download for Windows includes a GUI tool, we will focus on the Git Bash command line tool in order to maintain consistency across platforms.&lt;br /&gt;
&lt;br /&gt;
After installation, please follow the basic setup instructions at [https://help.github.com/articles/set-up-git/ GitHub] under the Set Up Git heading.&lt;br /&gt;
&lt;br /&gt;
== Preparing To Use Git ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a Fork ===&lt;br /&gt;
Once you have installed Git, your first task should be to create a personal copy (also known as a fork) of the server data on your GitHub account.  This will allow you to make changes and save them to a place where the content leaders can retrieve copies to include in the main server.  It&#039;s also easier to work with.&lt;br /&gt;
&lt;br /&gt;
To create a fork, login to your GitHub account and go to the [https://github.com/themanaworld/tmwa-server-data/ TMW Repository].&lt;br /&gt;
*You will see a button on the page that says Fork.  Click it.&lt;br /&gt;
*You should now see a page that has some details and history for the fork you just created.  At the top will be a series of buttons including one that says SSH.  Clicking the SSH button will create a link for you to copy which will be needed in the next step.  It will look like &#039;&#039;git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;.  Copy that link or keep the page open; we&#039;ll need it later.&lt;br /&gt;
&lt;br /&gt;
If you will be working with client-data or music, you will need to create separate forks for those repositories as well.&lt;br /&gt;
*[https://github.com/themanaworld/tmwa-client-data/ client-data]&lt;br /&gt;
*[https://github.com/themanaworld/tmw-music/ music]&lt;br /&gt;
&lt;br /&gt;
=== Creating a Clone ===&lt;br /&gt;
You now need to create a copy of the data on your computer to work with (also known as a clone).  We will create a clone from the main repository and set up Git to allow you to push changes to your personal fork.&lt;br /&gt;
&lt;br /&gt;
If you are using Windows, open the Git Bash tool which you installed earlier.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, open a terminal window.&lt;br /&gt;
*Navigate to the folder where you want to create your clone.&lt;br /&gt;
*Now issue the command to have Git create a copy: &#039;&#039;&#039;&#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**The &#039;&#039;--recursive&#039;&#039; command tells Git to copy all of the data from the included submodules (client-data and music).  If you don&#039;t plan on working with these, it can be omitted.&lt;br /&gt;
**The &#039;&#039;TMW&#039;&#039; at the end of the command is the name of the folder you want the data in.  In the example, &#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039; will create a new folder called TMW and put the files inside that folder.  You can use any folder name that makes sense to you.&lt;br /&gt;
&lt;br /&gt;
Note that copying the data may take some time.&lt;br /&gt;
&lt;br /&gt;
After the data is finished cloning to your computer, you need to tell it how to keep track of changes.&lt;br /&gt;
&lt;br /&gt;
=== Creating Remotes ===&lt;br /&gt;
&lt;br /&gt;
When a repo (short for repository) is cloned, it has a default remote called &#039;&#039;origin&#039;&#039; that points to the repo it was cloned from. To allow you to make changes on your personal fork, you need to add another remote which we will name &#039;&#039;fork&#039;&#039;.&lt;br /&gt;
*Change to the directory you created when you cloned your repo: &#039;&#039;&#039;&#039;&#039;cd TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Using the link we found at the end of the Creating a Fork section, issue the command &#039;&#039;&#039;&#039;&#039;git remote add fork git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also need to add remote pointers and choose the branch for the submodules, if you cloned them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd client-data&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add client-data git@github.com:yournamehere/tmwa-client-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd music&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add music git@github.com:yournamehere/tmw-music.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Git includes the ability to work with &#039;&#039;branches&#039;&#039;, or multiple versions of files.  This can provide a way to work on separate projects without having to create a new clone for each one.  We won&#039;t be going too deeply into this option, but the option is there once you are more comfortable.  By default, you will be working on the &#039;&#039;master&#039;&#039; branch.&lt;br /&gt;
&lt;br /&gt;
At this point you now have a personal fork, a local clone, and remote pointers for your fork.  You&#039;re ready to start making changes!  You are free to use whatever tools work for you to make your changes, but please ensure that the final results are in harmony with The Mana World&#039;s formatting guidelines. (Link needed)&lt;br /&gt;
&lt;br /&gt;
== Day-to-day Use ==&lt;br /&gt;
&lt;br /&gt;
=== Retrieving Changes ===&lt;br /&gt;
&lt;br /&gt;
Because many developers are working on the project at the same time, you will want to make sure you have all the latest changes before making a commit.  This will ensure that your changes do not conflict with changes another developer has made. &lt;br /&gt;
&lt;br /&gt;
If you have not made any changes yet and want to make sure your clone is up-to-date before starting to work, you can simply pull from the repo.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git pull&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have made local changes and want to get the latest updates before continuing, you will need to tell Git to get the updates and then apply your changes on top of them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git pull --rebase&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Making Commits ===&lt;br /&gt;
&lt;br /&gt;
After making changes to any of the source files (maps, graphics, scripts) you will want to save those changes so other developers can see and review them.  You need to commit those changes to Git.  When committing files to Git, you will need to have a terminal or Git Bash open in the directory containing the changes.  For example, if you are changing music files, you will need to be in the &#039;&#039;TMW/client-data/music&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
Your first step toward making a commit is to verify that Git recognizes there have been changes.  This is done by issuing the command &#039;&#039;&#039;&#039;&#039;git status&#039;&#039;&#039;&#039;&#039; at the command line.  You will receive a result that tells you what branch you are working on, what files (if any) have been modified, and what files (if any) are untracked.  At this point, we want to add our changed or untracked files to Git.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git add &amp;lt;file&amp;gt;&#039;&#039;&#039;&#039;&#039; replacing &amp;lt;file&amp;gt; with the path and filename of the file to be added.  Be careful: the commands ARE case sensitive!&lt;br /&gt;
*Repeat as needed until your changed files are all added.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git commit -m &#039;your message here&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Using the &#039;&#039;-m&#039;&#039; switch in the command allows you to specify a brief commit message which will tell others what the changes are.&lt;br /&gt;
**For example, &#039;&#039;git commit -m &#039;Spelling corrections for Beer quest&#039;&#039;&#039; will tell others that we made corrections that might apply to multiple files, without giving an overload of detail.  If you aren&#039;t sure how much detail to include in a commit message, you can check with the development team on IRC for suggestions.&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23845</id>
		<title>Development:Working With Git</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23845"/>
		<updated>2012-06-09T13:40:58Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git is a distributed revision control and source code management system.&lt;br /&gt;
&lt;br /&gt;
GitHub is a web-based hosting service for projects that use the Git revision control system.&lt;br /&gt;
&lt;br /&gt;
Together, these two tools allow developers working on The Mana World to easily collaborate and merge changes into the game.&lt;br /&gt;
&lt;br /&gt;
== Installing Git ==&lt;br /&gt;
&lt;br /&gt;
To install Git, select the appropriate Operating System at [http://git-scm.com/downloads/ Git Downloads] and follow the instructions. (For Windows users, accept all the default settings for the installer.)&lt;br /&gt;
*Please note that although the download for Windows includes a GUI tool, we will focus on the Git Bash command line tool in order to maintain consistency across platforms.&lt;br /&gt;
&lt;br /&gt;
After installation, please follow the basic setup instructions at [https://help.github.com/articles/set-up-git/ GitHub] under the Set Up Git heading.&lt;br /&gt;
&lt;br /&gt;
== Preparing To Use Git ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a Fork ===&lt;br /&gt;
Once you have installed Git, your first task should be to create a personal copy (also known as a fork) of the server data on your GitHub account.  This will allow you to make changes and save them to a place where the content leaders can retrieve copies to include in the main server.  It&#039;s also easier to work with.&lt;br /&gt;
&lt;br /&gt;
To create a fork, login to your GitHub account and go to the [https://github.com/themanaworld/tmwa-server-data/ TMW Repository].&lt;br /&gt;
*You will see a button on the page that says Fork.  Click it.&lt;br /&gt;
*You should now see a page that has some details and history for the fork you just created.  At the top will be a series of buttons including one that says SSH.  Clicking the SSH button will create a link for you to copy which will be needed in the next step.  It will look like &#039;&#039;git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;.  Copy that link or keep the page open; we&#039;ll need it later.&lt;br /&gt;
&lt;br /&gt;
If you will be working with client-data or music, you will need to create separate forks for those repositories as well.&lt;br /&gt;
*[https://github.com/themanaworld/tmwa-client-data/ client-data]&lt;br /&gt;
*[https://github.com/themanaworld/tmw-music/ music]&lt;br /&gt;
&lt;br /&gt;
=== Creating a Clone ===&lt;br /&gt;
You now need to create a copy of the data on your computer to work with (also known as a clone).  We will create a clone from the main repository and set up Git to allow you to push changes to your personal fork.&lt;br /&gt;
&lt;br /&gt;
If you are using Windows, open the Git Bash tool which you installed earlier.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, open a terminal window.&lt;br /&gt;
*Navigate to the folder where you want to create your clone.&lt;br /&gt;
*Now issue the command to have Git create a copy: &#039;&#039;&#039;&#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**The &#039;&#039;--recursive&#039;&#039; command tells Git to copy all of the data from the included submodules (client-data and music).  If you don&#039;t plan on working with these, it can be omitted.&lt;br /&gt;
**The &#039;&#039;TMW&#039;&#039; at the end of the command is the name of the folder you want the data in.  In the example, &#039;&#039;git clone --recursive git://github.com/themanaworld/tmwa-server-data.git TMW&#039;&#039; will create a new folder called TMW and put the files inside that folder.  You can use any folder name that makes sense to you.&lt;br /&gt;
&lt;br /&gt;
Note that copying the data may take some time.&lt;br /&gt;
&lt;br /&gt;
After the data is finished cloning to your computer, you need to tell it how to keep track of changes.&lt;br /&gt;
&lt;br /&gt;
=== Creating Remotes ===&lt;br /&gt;
&lt;br /&gt;
When a repo (short for repository) is cloned, it has a default remote called &#039;&#039;origin&#039;&#039; that points to the repo it was cloned from. To allow you to make changes on your personal fork, you need to add another remote which we will name &#039;&#039;fork&#039;&#039;.&lt;br /&gt;
*Change to the directory you created when you cloned your repo: &#039;&#039;&#039;&#039;&#039;cd TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Using the link we found at the end of the Creating a Fork section, issue the command &#039;&#039;&#039;&#039;&#039;git remote add fork git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also need to add remote pointers and choose the branch for the submodules, if you cloned them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd client-data&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add client-data git@github.com:yournamehere/tmwa-client-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd music&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add music git@github.com:yournamehere/tmw-music.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Git includes the ability to work with &#039;&#039;branches&#039;&#039;, or multiple versions of files.  This can provide a way to work on separate projects without having to create a new clone for each one.  We won&#039;t be going too deeply into this option, but the option is there once you are more comfortable.  By default, you will be working on the &#039;&#039;master&#039;&#039; branch.&lt;br /&gt;
&lt;br /&gt;
At this point you now have a personal fork, a local clone, and remote pointers for your fork.  You&#039;re ready to start making changes!  You are free to use whatever tools work for you to make your changes, but please ensure that the final results are in harmony with The Mana World&#039;s formatting guidelines. (Link needed)&lt;br /&gt;
&lt;br /&gt;
== Day-to-day Use ==&lt;br /&gt;
&lt;br /&gt;
After making changes to any of the source files (maps, graphics, scripts) you will want to save those changes so others can see and review them.  You need to commit those changes to Git.  When committing files to Git, you will need to have a terminal or Git Bash open in the directory containing the changes.  For example, if you are changing music files, you will need to be in the &#039;&#039;TMW/client-data/music&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
Your first step toward making a commit is to verify that Git recognizes there have been changes.  This is done by issuing the command &#039;&#039;&#039;&#039;&#039;git status&#039;&#039;&#039;&#039;&#039; at the command line.  You will receive a result that tells you what branch you are working on, what files (if any) have been modified, and what files (if any) are untracked.  At this point, we want to add our changed or untracked files to Git.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git add &amp;lt;file&amp;gt;&#039;&#039;&#039;&#039;&#039; replacing &amp;lt;file&amp;gt; with the path and filename of the file to be added.  Be careful: the commands ARE case sensitive!&lt;br /&gt;
*Repeat as needed until your changed files are all added.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git commit -m &#039;your message here&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Using the &#039;&#039;-m&#039;&#039; switch in the command allows you to specify a brief commit message which will tell others what the changes are.&lt;br /&gt;
**For example, &#039;&#039;git commit -m &#039;Spelling corrections for Beer quest&#039;&#039;&#039; will tell others that we made corrections that might apply to multiple files, without giving an overload of detail.  If you aren&#039;t sure how much detail to include in a commit message, you can check with the development team on IRC for suggestions.&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23840</id>
		<title>Development:Working With Git</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23840"/>
		<updated>2012-06-06T00:27:35Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: /* Day-to-day Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git is a distributed revision control and source code management system.&lt;br /&gt;
&lt;br /&gt;
GitHub is a web-based hosting service for projects that use the Git revision control system.&lt;br /&gt;
&lt;br /&gt;
Together, these two tools allow developers working on The Mana World to easily collaborate and merge changes into the game.&lt;br /&gt;
&lt;br /&gt;
== Installing Git ==&lt;br /&gt;
&lt;br /&gt;
To install Git on Windows, follow the step-by-step instructions found at [https://help.github.com/articles/set-up-git/ GitHub].&lt;br /&gt;
*Please note that although the download for Windows includes a GUI tool, we will focus on the Git Bash command line tool in order to maintain consistency across platforms.&lt;br /&gt;
&lt;br /&gt;
To install Git on Linux, refer to the package installation method for your distribution.&lt;br /&gt;
&lt;br /&gt;
Example: for Ubuntu distributions, a command would be issued in a terminal window:&lt;br /&gt;
&#039;&#039;sudo apt-get install git&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Setting Up Git ==&lt;br /&gt;
&lt;br /&gt;
Once you have installed Git, your first task should be to create a personal copy (also known as a fork) of the server data on your GitHub account.  This will allow you to make changes and save them to a place where the content leaders can retrieve copies to include in the main server.  It&#039;s also easier to work with.&lt;br /&gt;
&lt;br /&gt;
To create a fork, login to your GitHub account and go to the [https://github.com/themanaworld/tmwa-server-data/ TMW Repository].&lt;br /&gt;
*You will see a button on the page that says Fork.  Click it.&lt;br /&gt;
*You should now see a page that has some details and history for the fork you just created.  At the top will be a series of buttons including one that says SSH.  Clicking the SSH button will create a link for you to copy which will be needed in the next step.  It will look like &#039;&#039;git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;.  Copy that link.&lt;br /&gt;
&lt;br /&gt;
You now need to create a copy of the data on your computer to work with (also known as a clone).&lt;br /&gt;
&lt;br /&gt;
If you are using Windows, open the Git Bash tool which you installed earlier.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, open a terminal window.&lt;br /&gt;
*Navigate to the folder where you want to create your clone.&lt;br /&gt;
*Now issue the command to have Git create a copy, replacing the example with the link you copied earlier: &#039;&#039;&#039;&#039;&#039;git clone --recursive git@github.com:yournamehere/tmwa-server-data.git TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**The &#039;&#039;--recursive&#039;&#039; command tells Git to copy all of the data from the included submodules (client-data and music).  If you don&#039;t plan on working with these, it can be omitted.&lt;br /&gt;
**The &#039;&#039;TMW&#039;&#039; at the end of the command is the name of the folder you want the data in.  In the example, &#039;&#039;git clone --recursive git@github.com:yournamehere/tmwa-server-data.git TMW&#039;&#039; will create a new folder called TMW and put the files inside that folder.  You can use any folder name that makes sense to you.&lt;br /&gt;
&lt;br /&gt;
Note that copying the data may take some time.&lt;br /&gt;
&lt;br /&gt;
After the data is finished cloning to your computer, you need to tell it how to keep track of changes.&lt;br /&gt;
&lt;br /&gt;
When a repo (short for repository) is cloned, it has a default remote called &#039;&#039;origin&#039;&#039; that points to your fork on GitHub, not the original repo it was forked from. To keep track of the original repo, you need to add another remote which we will name &#039;&#039;mainline&#039;&#039;.&lt;br /&gt;
*Change to the directory you created when you cloned your repo: &#039;&#039;&#039;&#039;&#039;cd TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git remote add mainline git://github.com/themanaworld/tmwa-server-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Git includes the ability to work with &#039;&#039;branches&#039;&#039;, or multiple versions of files.  This can provide a way to work on separate projects without having to create a new clone for each one.  We won&#039;t be going too deeply into this option, but we do need to tell Git to use the correct branch.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git checkout master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
We&#039;ll also need to add remote pointers and choose the branch for the submodules, if you cloned them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd client-data&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add client-data git://github.com/themanaworld/tmwa-client-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git checkout master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd music&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add music git://github.com/themanaworld/tmw-music.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git checkout master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At this point you now have a personal fork, a local clone, and that clone is configured to work on the correct branch.  You&#039;re ready to start making changes!  You are free to use whatever tools work for you to make your changes, but please ensure that the final results are in harmony with The Mana World&#039;s formatting guidelines. (Link needed)&lt;br /&gt;
&lt;br /&gt;
== Day-to-day Use ==&lt;br /&gt;
&lt;br /&gt;
After making changes to any of the source files (maps, graphics, scripts) you will want to save those changes so others can see and review them.  You need to commit those changes to Git.  When committing files to Git, you will need to have a terminal or Git Bash open in the directory containing the changes.  For example, if you are changing music files, you will need to be in the &#039;&#039;TMW/client-data/music&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
Your first step toward making a commit is to verify that Git recognizes there have been changes.  This is done by issuing the command &#039;&#039;&#039;&#039;&#039;git status&#039;&#039;&#039;&#039;&#039; at the command line.  You will receive a result that tells you what branch you are working on, what files (if any) have been modified, and what files (if any) are untracked.  At this point, we want to add our changed or untracked files to Git.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git add &amp;lt;file&amp;gt;&#039;&#039;&#039;&#039;&#039; replacing &amp;lt;file&amp;gt; with the path and filename of the file to be added.  Be careful: the commands ARE case sensitive!&lt;br /&gt;
*Repeat as needed until your changed files are all added.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git commit -m &#039;your message here&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Using the &#039;&#039;-m&#039;&#039; switch in the command allows you to specify a brief commit message which will tell others what the changes are.&lt;br /&gt;
**For example, &#039;&#039;git commit -m &#039;Spelling corrections for Beer quest&#039;&#039;&#039; will tell others that we made corrections that might apply to multiple files, without giving an overload of detail.&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23839</id>
		<title>Development:Working With Git</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23839"/>
		<updated>2012-06-06T00:24:52Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git is a distributed revision control and source code management system.&lt;br /&gt;
&lt;br /&gt;
GitHub is a web-based hosting service for projects that use the Git revision control system.&lt;br /&gt;
&lt;br /&gt;
Together, these two tools allow developers working on The Mana World to easily collaborate and merge changes into the game.&lt;br /&gt;
&lt;br /&gt;
== Installing Git ==&lt;br /&gt;
&lt;br /&gt;
To install Git on Windows, follow the step-by-step instructions found at [https://help.github.com/articles/set-up-git/ GitHub].&lt;br /&gt;
*Please note that although the download for Windows includes a GUI tool, we will focus on the Git Bash command line tool in order to maintain consistency across platforms.&lt;br /&gt;
&lt;br /&gt;
To install Git on Linux, refer to the package installation method for your distribution.&lt;br /&gt;
&lt;br /&gt;
Example: for Ubuntu distributions, a command would be issued in a terminal window:&lt;br /&gt;
&#039;&#039;sudo apt-get install git&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Setting Up Git ==&lt;br /&gt;
&lt;br /&gt;
Once you have installed Git, your first task should be to create a personal copy (also known as a fork) of the server data on your GitHub account.  This will allow you to make changes and save them to a place where the content leaders can retrieve copies to include in the main server.  It&#039;s also easier to work with.&lt;br /&gt;
&lt;br /&gt;
To create a fork, login to your GitHub account and go to the [https://github.com/themanaworld/tmwa-server-data/ TMW Repository].&lt;br /&gt;
*You will see a button on the page that says Fork.  Click it.&lt;br /&gt;
*You should now see a page that has some details and history for the fork you just created.  At the top will be a series of buttons including one that says SSH.  Clicking the SSH button will create a link for you to copy which will be needed in the next step.  It will look like &#039;&#039;git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;.  Copy that link.&lt;br /&gt;
&lt;br /&gt;
You now need to create a copy of the data on your computer to work with (also known as a clone).&lt;br /&gt;
&lt;br /&gt;
If you are using Windows, open the Git Bash tool which you installed earlier.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, open a terminal window.&lt;br /&gt;
*Navigate to the folder where you want to create your clone.&lt;br /&gt;
*Now issue the command to have Git create a copy, replacing the example with the link you copied earlier: &#039;&#039;&#039;&#039;&#039;git clone --recursive git@github.com:yournamehere/tmwa-server-data.git TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**The &#039;&#039;--recursive&#039;&#039; command tells Git to copy all of the data from the included submodules (client-data and music).  If you don&#039;t plan on working with these, it can be omitted.&lt;br /&gt;
**The &#039;&#039;TMW&#039;&#039; at the end of the command is the name of the folder you want the data in.  In the example, &#039;&#039;git clone --recursive git@github.com:yournamehere/tmwa-server-data.git TMW&#039;&#039; will create a new folder called TMW and put the files inside that folder.  You can use any folder name that makes sense to you.&lt;br /&gt;
&lt;br /&gt;
Note that copying the data may take some time.&lt;br /&gt;
&lt;br /&gt;
After the data is finished cloning to your computer, you need to tell it how to keep track of changes.&lt;br /&gt;
&lt;br /&gt;
When a repo (short for repository) is cloned, it has a default remote called &#039;&#039;origin&#039;&#039; that points to your fork on GitHub, not the original repo it was forked from. To keep track of the original repo, you need to add another remote which we will name &#039;&#039;mainline&#039;&#039;.&lt;br /&gt;
*Change to the directory you created when you cloned your repo: &#039;&#039;&#039;&#039;&#039;cd TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git remote add mainline git://github.com/themanaworld/tmwa-server-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Git includes the ability to work with &#039;&#039;branches&#039;&#039;, or multiple versions of files.  This can provide a way to work on separate projects without having to create a new clone for each one.  We won&#039;t be going too deeply into this option, but we do need to tell Git to use the correct branch.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git checkout master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
We&#039;ll also need to add remote pointers and choose the branch for the submodules, if you cloned them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd client-data&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add client-data git://github.com/themanaworld/tmwa-client-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git checkout master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd music&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add music git://github.com/themanaworld/tmw-music.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git checkout master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At this point you now have a personal fork, a local clone, and that clone is configured to work on the correct branch.  You&#039;re ready to start making changes!  You are free to use whatever tools work for you to make your changes, but please ensure that the final results are in harmony with The Mana World&#039;s formatting guidelines. (Link needed)&lt;br /&gt;
&lt;br /&gt;
== Day-to-day Use ==&lt;br /&gt;
&lt;br /&gt;
After making changes to any of the source files (maps, graphics, scripts) you will want to save those changes so others can see and review them.  You need to commit those changes to Git.  When committing files to Git, you will need to have a terminal or Git Bash open in the directory containing the changes.  For example, if you are changing music files, you will need to be in the &#039;&#039;TMW/client-data/music&#039;&#039; folder.&lt;br /&gt;
&lt;br /&gt;
Your first step toward making a commit is to verify that Git recognizes there have been changes.  This is done by issuing the command &#039;&#039;&#039;&#039;&#039;git status&#039;&#039;&#039;&#039;&#039; at the command line.  You will receive a result that tells you what branch you are working on, what files (if any) have been modified, and what files (if any) are untracked.  At this point, we want to add our changed or untracked files to Git.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git add &amp;lt;file&amp;gt;&#039;&#039;&#039;&#039;&#039; replacing &amp;lt;file&amp;gt; with the path and filename of the file to be added.  Be careful: the commands ARE case sensitive!&lt;br /&gt;
*Repeat as needed until your changed files are all added.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git commit -m &#039;your message here&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Using the &#039;&#039;-m&#039;&#039; switch in the command allows you to specify a brief commit message which will tell others what the changes are.&lt;br /&gt;
**For example, &#039;&#039;git commit -m &#039;Spelling corrections for Beer quest&#039;&#039;&#039; will tell others what we did, without giving an overload of detail.&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23838</id>
		<title>Development:Working With Git</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23838"/>
		<updated>2012-06-05T23:35:55Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git is a distributed revision control and source code management system.&lt;br /&gt;
&lt;br /&gt;
GitHub is a web-based hosting service for projects that use the Git revision control system.&lt;br /&gt;
&lt;br /&gt;
Together, these two tools allow developers working on The Mana World to easily collaborate and merge changes into the game.&lt;br /&gt;
&lt;br /&gt;
== Installing Git ==&lt;br /&gt;
&lt;br /&gt;
To install Git on Windows, follow the step-by-step instructions found at [https://help.github.com/articles/set-up-git/ GitHub].&lt;br /&gt;
*Please note that although the download for Windows includes a GUI tool, we will focus on the Git Bash command line tool in order to maintain consistency across platforms.&lt;br /&gt;
&lt;br /&gt;
To install Git on Linux, refer to the package installation method for your distribution.&lt;br /&gt;
&lt;br /&gt;
Example: for Ubuntu distributions, a command would be issued in a terminal window:&lt;br /&gt;
&#039;&#039;sudo apt-get install git&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Setting Up Git ==&lt;br /&gt;
&lt;br /&gt;
Once you have installed Git, your first task should be to create a personal copy (also known as a fork) of the server data on your GitHub account.  This will allow you to make changes and save them to a place where the content leaders can retrieve copies to include in the main server.  It&#039;s also easier to work with.&lt;br /&gt;
&lt;br /&gt;
To create a fork, login to your GitHub account and go to the [https://github.com/themanaworld/tmwa-server-data/ TMW Repository].&lt;br /&gt;
*You will see a button on the page that says Fork.  Click it.&lt;br /&gt;
*You should now see a page that has some details and history for the fork you just created.  At the top will be a series of buttons including one that says SSH.  Clicking the SSH button will create a link for you to copy which will be needed in the next step.  It will look like &#039;&#039;git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;.  Copy that link.&lt;br /&gt;
&lt;br /&gt;
You now need to create a copy of the data on your computer to work with (also known as a clone).&lt;br /&gt;
&lt;br /&gt;
If you are using Windows, open the Git Bash tool which you installed earlier.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, open a terminal window.&lt;br /&gt;
*Navigate to the folder where you want to create your clone.&lt;br /&gt;
*Now issue the command to have Git create a copy, replacing the example with the link you copied earlier: &#039;&#039;&#039;&#039;&#039;git clone --recursive git@github.com:yournamehere/tmwa-server-data.git TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**The &#039;&#039;--recursive&#039;&#039; command tells Git to copy all of the data from the included submodules (client-data and music).  If you don&#039;t plan on working with these, it can be omitted.&lt;br /&gt;
**The &#039;&#039;TMW&#039;&#039; at the end of the command is the name of the folder you want the data in.  In the example, &#039;&#039;git clone --recursive git@github.com:yournamehere/tmwa-server-data.git TMW&#039;&#039; will create a new folder called TMW and put the files inside that folder.  You can use any folder name that makes sense to you.&lt;br /&gt;
&lt;br /&gt;
Note that copying the data may take some time.&lt;br /&gt;
&lt;br /&gt;
After the data is finished cloning to your computer, you need to tell it how to keep track of changes.&lt;br /&gt;
&lt;br /&gt;
When a repo (short for repository) is cloned, it has a default remote called &#039;&#039;origin&#039;&#039; that points to your fork on GitHub, not the original repo it was forked from. To keep track of the original repo, you need to add another remote which we will name &#039;&#039;mainline&#039;&#039;.&lt;br /&gt;
*Change to the directory you created when you cloned your repo: &#039;&#039;&#039;&#039;&#039;cd TMW&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git remote add mainline git://github.com/themanaworld/tmwa-server-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Git includes the ability to work with &#039;&#039;branches&#039;&#039;, or multiple versions of files.  This can provide a way to work on separate projects without having to create a new clone for each one.  We won&#039;t be going too deeply into this option, but we do need to tell Git to use the correct branch.&lt;br /&gt;
*Issue the command &#039;&#039;&#039;&#039;&#039;git checkout master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
We&#039;ll also need to add remote pointers and choose the branch for the submodules, if you cloned them.&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd client-data&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add client-data git://github.com/themanaworld/tmwa-client-data.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git checkout master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;cd music&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git remote add music git://github.com/themanaworld/tmw-music.git&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;git checkout master&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To this point you now have a personal fork, a local clone, and that clone is configured to work on the correct branch.  You&#039;re ready to start making changes!&lt;br /&gt;
&lt;br /&gt;
== Day-to-day Use ==&lt;br /&gt;
&lt;br /&gt;
After making changes to any of the source files (maps, graphics, scripts) you will want to save those changes so others can see and review them.  You need to commit those changes to Git.&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23837</id>
		<title>Development:Working With Git</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23837"/>
		<updated>2012-06-05T21:27:38Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git is a distributed revision control and source code management system.&lt;br /&gt;
&lt;br /&gt;
GitHub is a web-based hosting service for projects that use the Git revision control system.&lt;br /&gt;
&lt;br /&gt;
Together, these two tools allow developers working on The Mana World to easily collaborate and merge changes into the game.&lt;br /&gt;
&lt;br /&gt;
== Installing Git ==&lt;br /&gt;
&lt;br /&gt;
To install Git on Windows, follow the step-by-step instructions found at [https://help.github.com/articles/set-up-git/ GitHub.]&lt;br /&gt;
&lt;br /&gt;
To install Git on Linux, refer to the package installation method for your distribution.&lt;br /&gt;
&lt;br /&gt;
Example: for Ubuntu distributions, a command would be issued in a terminal window:&lt;br /&gt;
&#039;&#039;sudo apt-get install git&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Setting Up Git ==&lt;br /&gt;
&lt;br /&gt;
Once you have installed Git, your first task should be to create a personal copy (also known as a fork) of the server data on your GitHub account.  This will allow you to make changes and save them to a place where the content leaders can retrieve copies to include in the main server.  It&#039;s also easier to work with.&lt;br /&gt;
&lt;br /&gt;
To create a fork, login to your GitHub account and go to the [https://github.com/themanaworld/tmwa-server-data/ TMW Repository.]&lt;br /&gt;
*You will see a button on the page that says Fork.  Click it.&lt;br /&gt;
*You should now see a page that has some details and history for the fork you just created.  At the top will be a series of buttons including one that says SSH.  Clicking the SSH button will create a link for you to copy which will be needed in the next step.  It will look like &#039;&#039;git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;.  Copy that link.&lt;br /&gt;
&lt;br /&gt;
You now need to create a copy of the data on your computer to work with (also known as a clone).&lt;br /&gt;
&lt;br /&gt;
If you are using Windows, open the Git Bash tool which you installed earlier.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, open a terminal window.&lt;br /&gt;
*Navigate to the folder where you want to create your clone.&lt;br /&gt;
*Now issue the command to have Git create a copy, replacing the example with the link you copied earlier: &#039;&#039;git clone --recursive git@github.com:yournamehere/tmwa-server-data.git foldername&#039;&#039;&lt;br /&gt;
**The &#039;&#039;--recursive&#039;&#039; command tells Git to copy all of the data.&lt;br /&gt;
**The &#039;&#039;foldername&#039;&#039; at the end of the command is the name of the folder you want the data in.&lt;br /&gt;
&lt;br /&gt;
Note that copying the data may take some time.&lt;br /&gt;
&lt;br /&gt;
After the data is finished cloning to your computer, you need to tell it how to keep track of changes.&lt;br /&gt;
&lt;br /&gt;
When a repo (short for repository) is cloned, it has a default remote called &#039;&#039;origin&#039;&#039; that points to your fork on GitHub, not the original repo it was forked from. To keep track of the original repo, you need to add another remote which we will name &#039;&#039;mainline&#039;&#039;.&lt;br /&gt;
*Issue the command &#039;&#039;git remote add mainline git://github.com/themanaworld/tmwa-server-data.git&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23836</id>
		<title>Development:Working With Git</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23836"/>
		<updated>2012-06-05T21:18:08Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git is a distributed revision control and source code management system.&lt;br /&gt;
&lt;br /&gt;
GitHub is a web-based hosting service for projects that use the Git revision control system.&lt;br /&gt;
&lt;br /&gt;
Together, these two tools allow developers working on The Mana World to easily collaborate and merge changes into the game.&lt;br /&gt;
&lt;br /&gt;
== Installing Git ==&lt;br /&gt;
&lt;br /&gt;
To install Git on Windows, follow the step-by-step instructions found at [https://help.github.com/articles/set-up-git/ GitHub.]&lt;br /&gt;
&lt;br /&gt;
To install Git on Linux, refer to the package installation method for your distribution.&lt;br /&gt;
&lt;br /&gt;
Example: for Ubuntu distributions, a command would be issued in a terminal window:&lt;br /&gt;
&#039;&#039;sudo apt-get install git&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Using Git ==&lt;br /&gt;
&lt;br /&gt;
Once you have installed Git, your first task should be to create a personal copy (also known as a fork) of the server data on your GitHub account.  This will allow you to make changes and save them to a place where the content leaders can retrieve copies to include in the main server.  It&#039;s also easier to work with.&lt;br /&gt;
&lt;br /&gt;
To create a fork, login to your GitHub account and go to the [https://github.com/themanaworld/tmwa-server-data/ TMW Repository.]&lt;br /&gt;
*You will see a button on the page that says Fork.  Click it.&lt;br /&gt;
*You should now see a page that has some details and history for the fork you just created.  At the top will be a series of buttons including one that says SSH.  Clicking the SSH button will create a link for you to copy which will be needed in the next step.  It will look like &#039;&#039;git@github.com:yournamehere/tmwa-server-data.git&#039;&#039;.  Copy that link.&lt;br /&gt;
&lt;br /&gt;
You now need to create a copy of the data on your computer to work with (also known as a clone).&lt;br /&gt;
&lt;br /&gt;
If you are using Windows, open the Git Bash tool which you installed earlier.&lt;br /&gt;
&lt;br /&gt;
If you are using Linux, open a terminal window.&lt;br /&gt;
*Navigate to the folder where you want to create your clone.&lt;br /&gt;
*Now issue the command to have Git create a copy, replacing the example with the link you copied earlier: &#039;&#039;git clone --recursive git@github.com:yournamehere/tmwa-server-data.git foldername&#039;&#039;&lt;br /&gt;
**The &#039;&#039;--recursive&#039;&#039; command tells Git to copy all of the data.&lt;br /&gt;
**The &#039;&#039;foldername&#039;&#039; at the end of the command is the name of the folder you want the data in.&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23833</id>
		<title>Development:Working With Git</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=Development:Working_With_Git&amp;diff=23833"/>
		<updated>2012-06-05T20:38:08Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: How to install and use Git&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git is a distributed revision control and source code management system.&lt;br /&gt;
&lt;br /&gt;
GitHub is a web-based hosting service for projects that use the Git revision control system.&lt;br /&gt;
&lt;br /&gt;
Together, these two tools allow developers working on The Mana World to easily collaborate and merge changes into the game.&lt;br /&gt;
&lt;br /&gt;
== Installing Git ==&lt;br /&gt;
&lt;br /&gt;
To install Git on Windows, follow the step-by-step instructions found at [https://help.github.com/articles/set-up-git/ Github].&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=ManaMarket&amp;diff=20160</id>
		<title>ManaMarket</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=ManaMarket&amp;diff=20160"/>
		<updated>2011-09-17T01:38:29Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: /* Sales Report */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:ManaMarket.png]]&lt;br /&gt;
&lt;br /&gt;
==ManaMarket==&lt;br /&gt;
ManaMarket is a friendly bot written by Jero and PjotrOrial, inspired by the recently deceased [[Tradebot]] written by Turmfalke. He is located in the General Store in Hurnscald. He allows players to add items for sale, which are then available for purchase.  Items are listed for 1 week and can be extended for up to 3 weeks (please see the !relist command). All commands are available through whispers and Manaplus right click and buy is supported for purchasing listed items.&lt;br /&gt;
&lt;br /&gt;
==Commands==&lt;br /&gt;
You must whisper ManaMarket in order to issue a command.&lt;br /&gt;
  /w ManaMarket &amp;lt;command&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Public commands===&lt;br /&gt;
* !list&lt;br /&gt;
: This will return a list of all items currently on sale.&lt;br /&gt;
* !find &amp;lt;name&amp;gt; or &amp;lt;Item id&amp;gt;&lt;br /&gt;
: This will return a list of items with the specified Item Id or the name. For example /w ManaMarket !find ore&lt;br /&gt;
* !buy &amp;lt;amount&amp;gt; &amp;lt;uid&amp;gt;&lt;br /&gt;
: This will allow you to buy an item from the list. For example: To purchase an item shown in the list as:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;pre&amp;gt;[selling] [6] 5 [Iron Ore] for 1000gp each &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: you would type &#039;/w ManaMarket !buy 1 6&#039;. This would buy one of item 6 (Iron Ore).&lt;br /&gt;
&lt;br /&gt;
===Seller commands===&lt;br /&gt;
The following commands are only available to players with seller access (access level 5 or above).&lt;br /&gt;
* !add &amp;lt;amount&amp;gt; &amp;lt;price&amp;gt; &amp;lt;item name&amp;gt;&lt;br /&gt;
: This command is used to add items for sale. For example: If you want to sell 10 Iron Ore, for 5000GP each, you would type &amp;quot;/w ManaMarket !add 10 5000 Iron Ore&amp;quot;. After a correct command the Bot will initiate a Trade. Accept and add your items.&lt;br /&gt;
&lt;br /&gt;
* !info&lt;br /&gt;
: You can check your current access level, the number of slots you have free, the money you have earned and a list of your items currently for sale.&lt;br /&gt;
* !relist &amp;lt;uid&amp;gt;&lt;br /&gt;
: An item is shown in the list for a week before it needs to be re-listed. This command is used to re-list an item. An item can re-listed for a maximum of 3 weeks before it must be collected using the !getback command. This is to prevent unsold items from remaining in the list.&lt;br /&gt;
* !getback &amp;lt;uid&amp;gt;&lt;br /&gt;
: This will return an unsold item from the list. For example to return an item shown by !info or !list as:&lt;br /&gt;
: &amp;lt;pre&amp;gt;[selling] [6] 5 [Iron Ore] for 1000gp each &amp;lt;/pre&amp;gt;&lt;br /&gt;
: you would type &#039;/w ManaMarket !getback 6&#039;, this will return all of item 6.&lt;br /&gt;
* !money&lt;br /&gt;
: This will trade you back any money earned from the sale of your items. &lt;br /&gt;
* !help &amp;lt;command&amp;gt; or !help&lt;br /&gt;
: This will show a list of commands or provide further information about a given command.&lt;br /&gt;
&lt;br /&gt;
==Access Level==&lt;br /&gt;
The Access Level decides what commands you are able to use:&lt;br /&gt;
&lt;br /&gt;
* Level -1&lt;br /&gt;
: A user who has been blocked for exploiting/spamming ManaMarket.&lt;br /&gt;
:: &#039;&#039;&#039;Available Commands:&#039;&#039;&#039; None&lt;br /&gt;
* Level 0&lt;br /&gt;
: You are able to buy items.&lt;br /&gt;
:: &#039;&#039;&#039;Available Commands:&#039;&#039;&#039; !list  !buy  !find  !help&lt;br /&gt;
* Level 5&lt;br /&gt;
: You are able to sell items.&lt;br /&gt;
:: &#039;&#039;&#039;Commands Given:&#039;&#039;&#039; !add  !relist  !info  !money  !getback&lt;br /&gt;
* Level 10&lt;br /&gt;
: You are able to sell items and add users.&lt;br /&gt;
:: &#039;&#039;&#039;Commands Given:&#039;&#039;&#039; !adduser !listusers&lt;br /&gt;
* Level 20&lt;br /&gt;
: You have access to administrative commands.&lt;br /&gt;
:: &#039;&#039;&#039;Available Commands:&#039;&#039;&#039; All&lt;br /&gt;
&lt;br /&gt;
==Sales Report==&lt;br /&gt;
You can view a [http://tmw-test.dyndns.org/manamarket_stats.html report of recent sales] to get an idea of current values of items.&lt;br /&gt;
&lt;br /&gt;
You can also view a [http://tmw-test.dyndns.org/manamarket.html historical record of items sold].&lt;br /&gt;
&lt;br /&gt;
These reports are updated each hour.&lt;br /&gt;
&lt;br /&gt;
==Requesting to Sell==&lt;br /&gt;
To request a seller account, please read the [http://forums.themanaworld.org/viewtopic.php?f=14&amp;amp;t=14010 forum post] and reply with the exact name of your character. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Only one account per player will be accepted (no alts). If the bot logs show attempts to scam or exploit it, your account or access may be revoked.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=ManaMarket&amp;diff=20159</id>
		<title>ManaMarket</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=ManaMarket&amp;diff=20159"/>
		<updated>2011-09-17T01:37:22Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: /* Sales Report */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:ManaMarket.png]]&lt;br /&gt;
&lt;br /&gt;
==ManaMarket==&lt;br /&gt;
ManaMarket is a friendly bot written by Jero and PjotrOrial, inspired by the recently deceased [[Tradebot]] written by Turmfalke. He is located in the General Store in Hurnscald. He allows players to add items for sale, which are then available for purchase.  Items are listed for 1 week and can be extended for up to 3 weeks (please see the !relist command). All commands are available through whispers and Manaplus right click and buy is supported for purchasing listed items.&lt;br /&gt;
&lt;br /&gt;
==Commands==&lt;br /&gt;
You must whisper ManaMarket in order to issue a command.&lt;br /&gt;
  /w ManaMarket &amp;lt;command&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Public commands===&lt;br /&gt;
* !list&lt;br /&gt;
: This will return a list of all items currently on sale.&lt;br /&gt;
* !find &amp;lt;name&amp;gt; or &amp;lt;Item id&amp;gt;&lt;br /&gt;
: This will return a list of items with the specified Item Id or the name. For example /w ManaMarket !find ore&lt;br /&gt;
* !buy &amp;lt;amount&amp;gt; &amp;lt;uid&amp;gt;&lt;br /&gt;
: This will allow you to buy an item from the list. For example: To purchase an item shown in the list as:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;pre&amp;gt;[selling] [6] 5 [Iron Ore] for 1000gp each &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: you would type &#039;/w ManaMarket !buy 1 6&#039;. This would buy one of item 6 (Iron Ore).&lt;br /&gt;
&lt;br /&gt;
===Seller commands===&lt;br /&gt;
The following commands are only available to players with seller access (access level 5 or above).&lt;br /&gt;
* !add &amp;lt;amount&amp;gt; &amp;lt;price&amp;gt; &amp;lt;item name&amp;gt;&lt;br /&gt;
: This command is used to add items for sale. For example: If you want to sell 10 Iron Ore, for 5000GP each, you would type &amp;quot;/w ManaMarket !add 10 5000 Iron Ore&amp;quot;. After a correct command the Bot will initiate a Trade. Accept and add your items.&lt;br /&gt;
&lt;br /&gt;
* !info&lt;br /&gt;
: You can check your current access level, the number of slots you have free, the money you have earned and a list of your items currently for sale.&lt;br /&gt;
* !relist &amp;lt;uid&amp;gt;&lt;br /&gt;
: An item is shown in the list for a week before it needs to be re-listed. This command is used to re-list an item. An item can re-listed for a maximum of 3 weeks before it must be collected using the !getback command. This is to prevent unsold items from remaining in the list.&lt;br /&gt;
* !getback &amp;lt;uid&amp;gt;&lt;br /&gt;
: This will return an unsold item from the list. For example to return an item shown by !info or !list as:&lt;br /&gt;
: &amp;lt;pre&amp;gt;[selling] [6] 5 [Iron Ore] for 1000gp each &amp;lt;/pre&amp;gt;&lt;br /&gt;
: you would type &#039;/w ManaMarket !getback 6&#039;, this will return all of item 6.&lt;br /&gt;
* !money&lt;br /&gt;
: This will trade you back any money earned from the sale of your items. &lt;br /&gt;
* !help &amp;lt;command&amp;gt; or !help&lt;br /&gt;
: This will show a list of commands or provide further information about a given command.&lt;br /&gt;
&lt;br /&gt;
==Access Level==&lt;br /&gt;
The Access Level decides what commands you are able to use:&lt;br /&gt;
&lt;br /&gt;
* Level -1&lt;br /&gt;
: A user who has been blocked for exploiting/spamming ManaMarket.&lt;br /&gt;
:: &#039;&#039;&#039;Available Commands:&#039;&#039;&#039; None&lt;br /&gt;
* Level 0&lt;br /&gt;
: You are able to buy items.&lt;br /&gt;
:: &#039;&#039;&#039;Available Commands:&#039;&#039;&#039; !list  !buy  !find  !help&lt;br /&gt;
* Level 5&lt;br /&gt;
: You are able to sell items.&lt;br /&gt;
:: &#039;&#039;&#039;Commands Given:&#039;&#039;&#039; !add  !relist  !info  !money  !getback&lt;br /&gt;
* Level 10&lt;br /&gt;
: You are able to sell items and add users.&lt;br /&gt;
:: &#039;&#039;&#039;Commands Given:&#039;&#039;&#039; !adduser !listusers&lt;br /&gt;
* Level 20&lt;br /&gt;
: You have access to administrative commands.&lt;br /&gt;
:: &#039;&#039;&#039;Available Commands:&#039;&#039;&#039; All&lt;br /&gt;
&lt;br /&gt;
==Sales Report==&lt;br /&gt;
You can view a [http://tmw-test.dyndns.org/manamarket_stats.html report of recent sales] to get an idea of current values of items.&lt;br /&gt;
You can also view a [http://tmw-test.dyndns.org/manamarket.html historical record of items sold].&lt;br /&gt;
These reports are updated each hour.&lt;br /&gt;
&lt;br /&gt;
==Requesting to Sell==&lt;br /&gt;
To request a seller account, please read the [http://forums.themanaworld.org/viewtopic.php?f=14&amp;amp;t=14010 forum post] and reply with the exact name of your character. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Only one account per player will be accepted (no alts). If the bot logs show attempts to scam or exploit it, your account or access may be revoked.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
	<entry>
		<id>https://oldwiki.devbox.themanaworld.org/index.php?title=ManaMarket&amp;diff=19898</id>
		<title>ManaMarket</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.devbox.themanaworld.org/index.php?title=ManaMarket&amp;diff=19898"/>
		<updated>2011-08-31T23:29:52Z</updated>

		<summary type="html">&lt;p&gt;Kandiman: /* ManaMarket */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ManaMarket ==&lt;br /&gt;
ManaMarket is a friendly bot written by Hiccup and PjotrOrial, inspired by the recently deceased [[Tradebot]] written by Turmfalke. He is located in the General Store in Hurnscald. He allows players to add items for sale, which are then available for purchase.  Items are listed for 1 week and can be extended for up to 3 weeks (please see the !relist command). All commands are available through whispers and Manaplus right click and buy is supported for purchasing listed items.&lt;br /&gt;
&lt;br /&gt;
=== Commands ===&lt;br /&gt;
You must whisper ManaMarket in order to issue a command.&lt;br /&gt;
  /w ManaMarket &amp;lt;command&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Public commands ====&lt;br /&gt;
* !list&lt;br /&gt;
: This will return a list of all items currently on sale.&lt;br /&gt;
* !find &amp;lt;name&amp;gt; or &amp;lt;Item id&amp;gt;&lt;br /&gt;
: This will return a list of items with the specified Item Id or the name. For example /w ManaMarket !find ore&lt;br /&gt;
* !buy &amp;lt;amount&amp;gt; &amp;lt;uid&amp;gt;&lt;br /&gt;
: This will allow you to buy an item from the list. For example: To purchase an item shown in the list as:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;pre&amp;gt;[selling] [6] 5 [Iron Ore] for 1000gp each &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: you would type &#039;/w ManaMarket !buy 1 6&#039;. This would one of item 6 (Iron Ore).&lt;br /&gt;
&lt;br /&gt;
==== Seller commands ====&lt;br /&gt;
The following commands are only available to players with seller access (access level 5 or above).&lt;br /&gt;
* !add &amp;lt;amount&amp;gt; &amp;lt;price&amp;gt; &amp;lt;item name&amp;gt;&lt;br /&gt;
: This command is used to add items for sale. For example: If you want to sell 10 Iron Ore, for 5000GP each, you would type &amp;quot;/w ManaMarket !add 10 5000 Iron Ore&amp;quot;. After a correct command the Bot will initiate a Trade. Accept and add your items.&lt;br /&gt;
&lt;br /&gt;
* !info&lt;br /&gt;
: You can check your current access level, the number of slots you have free, the money you have earned and a list of your items currently for sale.&lt;br /&gt;
* !relist &amp;lt;uid&amp;gt;&lt;br /&gt;
: An item is shown in the list for a week before it needs to be re-listed. This command is used to re-list an item. An item can re-listed for a maximum of 3 weeks before it must be collected using the !getback command. This is to prevent unsold items from remaining in the list.&lt;br /&gt;
* !getback &amp;lt;uid&amp;gt;&lt;br /&gt;
: This will return an unsold item from the list.&lt;br /&gt;
* !money&lt;br /&gt;
: This will trade you back any money earned from the sale of your items. &lt;br /&gt;
* !help &amp;lt;command&amp;gt; or !help&lt;br /&gt;
: This will show a list of commands or provide further information about a given command.&lt;br /&gt;
&lt;br /&gt;
===Access Level===&lt;br /&gt;
The Access Level decides what commands you are able to use:&lt;br /&gt;
&lt;br /&gt;
* Level -1&lt;br /&gt;
: A user who has been blocked for exploiting/spamming ManaMarket.&lt;br /&gt;
* Level 0&lt;br /&gt;
: You are able to buy items. &#039;&#039;&#039; Available Commands: !list, !buy, !find, !help&#039;&#039;&#039;&lt;br /&gt;
* Level 5&lt;br /&gt;
: You are able to sell items. &#039;&#039;&#039; Available Commands: In addition to level 0 commands you have access to !add, !relist, !info, !money, !getback&#039;&#039;&#039;&lt;br /&gt;
* Level 20&lt;br /&gt;
: You have access to administrative commands.&lt;/div&gt;</summary>
		<author><name>Kandiman</name></author>
	</entry>
</feed>