User:Wombat/How To Develop
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.
- Open a command line terminal (e.g. xterm or konsole).
- mkdir ~/tmw-ea (or other name you prefer your directory to be called).
- cd ~/tmw-ea
- git clone https://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
- cd eathena
- make
- cd ../eathena-data
- ln -s ../eathena/{char-server,login-server,map-server,ladmin} .
- for F in *.example; do cp $F ${F/.example/}; done
- cp save/account.txt.example save/account.txt
- 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
- 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.
- cd conf
- ./build-magic
- Edit the second column of conf/spells-build to give usable names to spells.
- ./build-magic (again)
Start the servers
- Open a command line terminal.
- cd ~/tmw-ea/eathena-data
- ./char-server
- Repeat steps 1 and 2
- ./login-server
- Repeat steps 1 and 2.
- ./map-server
This should run all three of your servers.
Administation
- Start the servers.
- Open a command line terminal.
- cd ~/tmw-ea/eathena-data
- ./ladmin
- add username M password
- gm username 99
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
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.
- cd ~/tmw-ea/eathena-data/tools/tmwcon
- ant
- ln -s ../.. server-data
- ln -s ../../../tmwdata tmwdata
- 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.