From The Mana World
(minor fixes)
m (Text replacement - "git://" to "https://")
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Set Up==
=Set Up=
This is a how to help content development for official TMW-eA using Ubuntu 10.04 on amd64 and the Mana client.  Other OS and clients may differ.  Following this guide, you should be able to get development testing versions of the client data (tmwdata), server-data (eathena-data) and participate in development by using a localhost server.  After getting these, you can both test current development and begin development in the direction you find most fitting.
This is a how to help content development for official TMW-eA using Ubuntu 10.04 on amd64 and the Mana client.  Other OS and clients may differ.  Following this guide, you should be able to get development testing versions of the client data (tmwdata), server-data (eathena-data) and participate in development by using a localhost server.  After getting these, you can both test current development and begin development in the direction you find most fitting.


1. open a command line terminalOptional: cd to where you want your directory to be located (or don't, if you prefer adding a directory to your #HOME directory).
'''Dependencies:''' Throughout this tutorial, I do not address dependencies. Bison and Flex are needed, as are other dependenciesThis will be inserted with time.


2. mkdir tmw-ea (or other name you prefer your directory to be called). If you don't cd to a new location, this will default to #HOME/tmw-ea, which I recommend and use for the remainder of this tutorial.
# Open a command line terminal (e.g. xterm or konsole).
 
# mkdir ~/tmw-ea (or other name you prefer your directory to be called).
3. cd tmw-ea
# cd ~/tmw-ea
 
# git clone https://gitorious.org/tmw-eathena/mainline.git eathena
4. git clone git://gitorious.org/tmw-eathena/mainline.git eathena
# git clone https://gitorious.org/+tmw-admins/tmw/tmwa-server-test.git eathena-data
 
# git clone https://gitorious.org/+tmw-admins/tmw/tmwa-client-test.git tmwdata
5. git clone git://gitorious.org/~wombat/tmw-eathena-data/cache-serverdata.git eathena-data
# cd eathena
 
# make
6. git clone git://gitorious.org/~wombat/tmwdata/cache-clientdata.git tmwdata
# cd ../eathena-data
 
# ln -s ../eathena/{char-server,login-server,map-server,ladmin} .
7. cd eathena
# for F in *.example; do cp $F ${F/.example/}; done
 
# cp save/account.txt.example save/account.txt
8. make
# Edit conf/char_local.conf and change login_ip and char_ip to 127.0.0.1
 
# Edit conf/map_local.conf and change char_ip and map_ip to 127.0.0.1
9. make tools
# Edit conf/ladmin_local.conf and change login_ip to 127.0.0.1, login_port to 6901, and admin_pass to p1
 
# TODO give instructions about lan_support.conf and opening your server to access from other computers.
10. cd ..
# cd conf
 
# ./build-magic
11. cd eathena-data
# Edit the second column of conf/spells-build to give usable names to spells.
 
# ./build-magic (again)
12. ln -s $HOME/tmw-ea/eathena/char-server char-server
== Start the servers ==
 
# Open a command line terminal.
13. ln -s $HOME/tmw-ea/eathena/login-server login-server
# cd ~/tmw-ea/eathena-data
 
# ./char-server
14. ln -s $HOME/tmw-ea/eathena/map-server map-server
# Repeat steps 1 and 2
 
# ./login-server
15. Close command line terminal and open text editor (I use Gedit or Kate, though I've also used others).
# Repeat steps 1 and 2.
 
# ./map-server
16. Open eathena-data/conf/char_local.conf.example and change login_ip and char_ip to 127.0.0.1 Save as char_local.conf (remove .example).
 
17. Open eathena-data/conf/login_local.conf.example and save as login_local.conf (remove .example).
 
18. Open eathena-data/conf/map_local.conf.example and change char_ip and map_ip to 127.0.0.1 Save as map_local.conf (remove .example).
 
19. Open eathena-data/conf/magic.conf.template Save as magic.conf (remove .template).
 
20. Open save/account.txt.example and Save as account.txt (remove example).
 
You are ready to begin testing!  To begin testing here are some more steps:
 
21. Open a command line terminal.
 
22. cd $HOME/tmw-ea/eathena-data
 
23. ./char-server
 
24. Repeat steps 21 and 22
 
25. ./login-server
 
26. Repeat steps 21 and 22.
 
27. ./map-server


This should run all three of your servers.
This should run all three of your servers.


28. Open a command line terminal.
== Administation ==
# Start the servers.
# Open a command line terminal.
# cd ~/tmw-ea/eathena-data
# ./ladmin
# add username M password
# gm username 99


29. Run your client pointing to your client data. Using Mana I type: mana -u -d $HOME/tmw-ea/tmwdata
== Connecting ==
# Open a command line terminal.
# Run your client pointing to your client data and your local server. E.g. mana -u -d ~/tmw-ea/tmwdata --server localhost --port 6901


30. Select "Custom Server".  Server: 127.0.0.1 Port: 6901 Server type: tmwAthena  If you already have a localhost server on your list, select it and click "Connect".
If all goes well, you are now ready to test new content and participate with development.


31. Register your account and create a character.
=Making Content=
==Making Map Content==
===Java Converter Tool===
This has been my experience on running the java Converter tools, which takes map data from client-data and applies it to the server-data. The README addresses dependencies for using this tool.  It suggests there are other ways it can work in the README, if this method does work for you.


32. Using your text editor and if not already opened, open eathena-data/save/account.txt
# cd ~/tmw-ea/eathena-data/tools/tmwcon
# ant
# ln -s ../.. server-data
# ln -s ../../../tmwdata tmwdata
# java Converter


33. Once your first account is registered, it will listed as 2000000. Copy 2000000
==Making Monster, Item and Equipment Content==
==Bit Masking==
Bit Masking helps us reduce our variable count while offering a dynamic method of script writing that is versatile and flexible to both linear and non-linear script writing.  


34. Open conf/gm_account.txt.example.  Go to the first available line (line 2) paste 2000000 (account number) hit space and then type 99 (GM Level with administrative privileges).  Save as gm_account.txt (remove .example).
[http://dl.dropbox.com/u/6520164/tester1.txt Bit Masking Test Script]
 
=Using the Git Repositories=
If all goes well, you are now ready to test new content and participate with development.
==Making Git Patches and Submitting them For Review==
==Reviewing Git Patches and Pushing==
==Git Branches, Git Merging==
=Using the Test Server=

Latest revision as of 01:06, 13 June 2022

Set Up

This is a how to help content development for official TMW-eA using Ubuntu 10.04 on amd64 and the Mana client. Other OS and clients may differ. Following this guide, you should be able to get development testing versions of the client data (tmwdata), server-data (eathena-data) and participate in development by using a localhost server. After getting these, you can both test current development and begin development in the direction you find most fitting.

Dependencies: Throughout this tutorial, I do not address dependencies. Bison and Flex are needed, as are other dependencies. This will be inserted with time.

  1. Open a command line terminal (e.g. xterm or konsole).
  2. mkdir ~/tmw-ea (or other name you prefer your directory to be called).
  3. cd ~/tmw-ea
  4. git clone https://gitorious.org/tmw-eathena/mainline.git eathena
  5. git clone https://gitorious.org/+tmw-admins/tmw/tmwa-server-test.git eathena-data
  6. git clone https://gitorious.org/+tmw-admins/tmw/tmwa-client-test.git tmwdata
  7. cd eathena
  8. make
  9. cd ../eathena-data
  10. ln -s ../eathena/{char-server,login-server,map-server,ladmin} .
  11. for F in *.example; do cp $F ${F/.example/}; done
  12. cp save/account.txt.example save/account.txt
  13. Edit conf/char_local.conf and change login_ip and char_ip to 127.0.0.1
  14. Edit conf/map_local.conf and change char_ip and map_ip to 127.0.0.1
  15. Edit conf/ladmin_local.conf and change login_ip to 127.0.0.1, login_port to 6901, and admin_pass to p1
  16. TODO give instructions about lan_support.conf and opening your server to access from other computers.
  17. cd conf
  18. ./build-magic
  19. Edit the second column of conf/spells-build to give usable names to spells.
  20. ./build-magic (again)

Start the servers

  1. Open a command line terminal.
  2. cd ~/tmw-ea/eathena-data
  3. ./char-server
  4. Repeat steps 1 and 2
  5. ./login-server
  6. Repeat steps 1 and 2.
  7. ./map-server

This should run all three of your servers.

Administation

  1. Start the servers.
  2. Open a command line terminal.
  3. cd ~/tmw-ea/eathena-data
  4. ./ladmin
  5. add username M password
  6. gm username 99

Connecting

  1. Open a command line terminal.
  2. Run your client pointing to your client data and your local server. E.g. mana -u -d ~/tmw-ea/tmwdata --server localhost --port 6901

If all goes well, you are now ready to test new content and participate with development.

Making Content

Making Map Content

Java Converter Tool

This has been my experience on running the java Converter tools, which takes map data from client-data and applies it to the server-data. The README addresses dependencies for using this tool. It suggests there are other ways it can work in the README, if this method does work for you.

  1. cd ~/tmw-ea/eathena-data/tools/tmwcon
  2. ant
  3. ln -s ../.. server-data
  4. ln -s ../../../tmwdata tmwdata
  5. java Converter

Making Monster, Item and Equipment Content

Bit Masking

Bit Masking helps us reduce our variable count while offering a dynamic method of script writing that is versatile and flexible to both linear and non-linear script writing.

Bit Masking Test Script

Using the Git Repositories

Making Git Patches and Submitting them For Review

Reviewing Git Patches and Pushing

Git Branches, Git Merging

Using the Test Server