FRIHOSTFORUMSSEARCHFAQTOSBLOGSCOMPETITIONS
You are invited to Log in or Register a free Frihost Account!


Lineage II (C4 chronicle)





scorpix
Hi

I present you lost version DB and Serverg for game Lineage 2 c4

donnsload lost version:
Best server (have eng and rus html)
http://www.lineage2.ws/L2J_ST/l2j-server-ST.zip
====================
server (have eng and rus html)
http://la2.red-alert.ru/ftp/store//server/l2j-unoff/l2jc3server2156.exe
====================


L2J Server wiki: Server Guides, How-to's, bugtracker:
https://opensvn.csie.org/traccgi/l2j/trac.cgi/wiki

L2J-Datapack wiki: Datapack Guides, How-to's, bugtracker:
https://opensvn.csie.org/traccgi/L2J_Datapack/trac.cgi/wiki

L2J Community wiki: Guides, How-to's:
http://l2j.jot.com


REQUIREMENTS
====================
OS:
Any OS having Java JDK 1.5 installed and properly configured!
We recommend using SUN JDK available at java.sun.com
Hardware:
Decent CPU & RAM
Software:
Java JDK 1.5
MySql
Datapack
scorpix
Install guide for LINUX:



++++++++++++++++++++++++++++++++++++++++

I wrote this guide for Linux users as I'm tired of reading how 'difficult' it is to setup a Linux L2J server. Please comment away. Also, if somebody could point me in the direction of how to register on the community wiki, I would appreciate it. I tried to register via the link, but I get a 'Permission Denied' error. If I could get registered there, I'll redo the guide to look 'pretty' on the wiki.

-----
L2J For Linux Guide

This guide is does not get into the basics of system administration. I'm going to assume you know how to do things like copy files, make directories, install system packages, etc. If you need help with stuff like that, I highly recommend you head over to The Linux Documentation Project (http://tldp.org/) and check out the Guides and HOW-TOs.

These procedures have been tested on Debian, Ubuntu and Gentoo. Your milage may vary, but this should work just for about any Linux distribution out there.

Prerequisites:
-------------
* MySQL Server (Install via your package manager)
* SVN client (Install via your package manager)
* ANT (Install via your package manager)
* zip/unzip (install via your package manager, should be default on most systems)
* screen (install via your package manager. Optional, but highly recommended)
* Java SDK/JVM (See discussion on Java further down)
* A NON-ROOT ACCOUNT TO RUN THE SERVERS AS!!!!!
(Please don't run the server as root, it's a bad idea

For Debian/Ubuntu this should be "apt-get install mysql-server subversion ant unzip"
For Gentoo this should be "emerge mysql subversion dev-java/ant unzip"

The JDk/VM part is a little more tricky. First you need to pick between IBM or Sun Java. Sun Java is easier to get (IBM requires that you sign up and provide a bunch of personal information) but IBM Java is rumoured to be faster. I've seen no data either way so I'd suggest sticking with Sun Java. No matter which one you chose, download the 'self extracting binary' or 'tar gzip' version and set it aside. Don't download one that's managed by the system (IE, an RPM).

Installation:
------------
Now you need to figure out where you're going to install all this stuff. The L2J Server and Datapack source and installed, with the Java is around 500 megs, so make sure that you have aleast that much space on the partition you'll be using. I'd recommend having atleast a gig just to be on the safe side. On my system I create a partition for the L2J stuff and I'll be using that in my examples. The following are the directories that I have:


/l2j <- The base directory
/l2j/source <- Where I store the L2J Server/Datapack checked out from the SVN
/l2j/java <- Where I install the JDK/JVM
/l2j/server <- Where the completed product resides.

First let's deal with the Java install. This is actually rather simple. If you downloaded the Sun Java, just change into the /l2j directory then run the binary and then rename the directory to 'java'. If you downloaded the IBM version, change to the /l2j directory and untar, the rename.

Example for Sun Java:
cd /l2j
/path/to/jdk-1_5_0_<version>-linux-i586.bin (replace <version> with the actual version #)
mv jdk-1_5_0_01-linux-i586.bin java

Example for IBM Java
cd /l2j
tar zxvf /path/to/ibm-java2-sdk-50-linux-i386.tgz
mv ibm-java2-i386-50 java




Now we need to get the L2J server and Datapack. This is probably the easiest part of the install.

cd /l2j/source
svn checkout http://opensvn.csie.org/l2j/trunk
svn checkout http://opensvn.csie.org/L2J_Datapack

Now we need to compile the L2J server. First, put /l2j/java/bin at the start of your path so that ant will use the freshly installed JDK, rather than the system installed on. This examples assumes you're running BASH, which is the default of 99% of the distributions. If you're running ksh or csh, you probably don't need this guide to begin with. Then change into the L2J server source directory and do the compile.

export PATH=/l2j/java/bin:${PATH}
cd /l2j/source/trunk/L2_Gameserver
ant

This compile should be fairly clean. There is only warning about "Some input files use unchecked or unsafe operations." You can ignore these. You should now have l2j-server.zip in the build directory. Copy this to the /l2j/server directory and extract.

cp /l2j/source/trunk/L2_Gameserver/build/l2-server.zip
cd /l2j/server
unzip -a l2-server.zip

Congratulations! It's a server without a datapack.

Now we need to install the datapack and the SQL files. First, we'll copy the data file into the server directory.

cp -a /l2j/source/L2J_Datapack/trunk/datapack_development/data/* /l2j/server/gameserver/data/.

Now we need to import the SQL files. The Datapack team has provided a very nice script to run to import the SQL files. Before we run this however, you'll need to create a MySQL server that the l2j server will use. As with the system user, please DO NOT USE ROOT! Using root for anything is bad, very bad. I'm not going to get into how to add a user to MySQL. If you have issues, take a look at mysql_setpermissions installed with MySQL or install PHPMyAdmin and use that. Once you've created a user, run the SQL installation script:

cd /l2j/source/L2J_Datapack/trunk/datapack_development/tools
./database_installer.sh

It's a fairly straight forward installer, asks you a bunch of questions then imports the data. We're almost there!

cd /l2j/server/login/config
** Edit the config files to match your setup
cd ../../gameserver/config
** Edit the config files to match your setup
cd ../data
** Edit the announcements.txt to not be lame!

Remember at the beginning of the guide I told you to create a non-root user for the L2J server? Now we are going to change the permissions on all of the installed directories so that the non-root user has access to read/modify the files. On my system I have the user 'lineage2'.

cd /l2j
chown -R lineage2 *

Now we're going to start up the server to test. We're going to start screen, start the login server in the first screen, create a second screen and start the game server, then test.

screen
cd /l2j/server/login
su -c "java -Xms512m -Xmx512m -cp javolution.jar:c3p0-0.9.0.jar:mysql-connector-java-3.1.10-bin.jar:l2jserver.jar net.sf.l2j.loginserver.LoginServer" lineage2
CTRL-A C (Create a new screen)
cd /l2j/server/gameserver
su -c "java -Xms512m -Xmx512m -cp bsf.jar:javolution.jar:bsh-2.0.jar:jython.jar:c3p0-0.9.0.jar:mysql-connector-java-3.1.10-bin.jar:l2jserver.jar net.sf.l2j.gameserver.GameServer" lineage2

Viola! You now have a running game server. Of course these command lines were just to test, you'll want to modify the looping startup scripts to fit your needs. One thing to remember. Put the "EXPORT PATH=/l2j/java/bin:${PATH}" command near the start of the script so that it finds the right Java version. If you don't do this, you're server will not properly start or run. Now instead the command lines become

su -c "LoginServer_loop.sh" lineage2
su -c "GameServer_loop.sh" lineage2

Some additional recommendations for security:

1) Do not use the 'root' user for either the MySQL connection name or the user running the L2J server. Always create new users with security limited to just what they need.
2) If you don't already, use iptables to block all incoming traffic from the Internet except on ports that you really need open
3) For optimal security, you should setup the L2J server to run 'jailed' to the /l2j path so that if the server is compromised, the attacker won't get access to any other part of your server. (If I have the energy later, I'll write a guide for L2J security under Linux)

Assuming you have all of the system related prerequisites, the entire process of installing the server is about 10 minutes.

If you have any comments or questions about any part of this guide, please post it in this thread so that others can read, learn and contribute.
scorpix
quote:
Quote:
Originally posted by Thaeland
What's the best way to run the .sh files automatically on a remote machine? I was thinking of putting links in /etc/rc.d but have never atempted it...

Jon Beets


+++++++++++

That's the best way. Create an init.d script that does start/stop/restart, put it into /etc/init.d/ (or your distributions equivalent) and then symlink that file into the appropriate rc.d locations. For an L2J server, you'd probably want to symlink it into /etc/rc.d/rc6.d/K19*server and /etc/rc.d/rc5.d/S50*server. Remember, you want to give it a higher number than the applications it relies on. On my Debian system, networking stuff is started well before runlevel 5 and mysql is S20, so S50 for the startup script brings up the L2J server after MySQL and the K19 script will make sure that the L2J server is terminated before MySQL (giving it the chance to write character info into the DB).

I've written two init.d scripts you can use, one to start the login server and the other to start gameservers. If you start multiple gameservers you can just rename the script and change the variables inside. Remember to create multiple symlinks into the approriate directories.

NOTE #1 - I wrote these scripts rather quickly. They are distribution agnostic, and untested. I'd recommend some testing go on before blinding relying on them.

NOTE #2 - This should give you the ability to /etc/init.d/gameserver start, /etc/init.d/gameserver restart, but I'm assuming that the SIGTERM sent to screen is properly propigated to screen's children and proper waiting is done for children to die prior to terminating the parent. This is an untested assumption. I'll be doing more testing later.

NOTE #3 - I plan on writting init scripts that are distribution specific that can just be dropped into place on a distribution to more naturally 'work'. (Like utilizing the Debian start-stop-daemon and Gentoo's runscript facilities) The two distributions I have are Debian and Gentoo. If anybody would like to do adapt the init scripts to your distribution, please post a copy of a random init script (ssh or apache would be good) here and I'll try to make an init script to more naturally work with your distribution.

I'm also working on an ebuild for Gentoo so that gentoo users will soon be able to just emerge l2jserver. If anybody wants to beta (well, alpha really test this, please let me know.

/etc/init.d/loginserver :

#!/bin/sh

L2J_USER="lineage2"
L2J_SCRIPT="/usr/local/l2j/loginserver/LoginServer_loop.sh"

# This needs to be unique. If for some reason you're running multiple login servers (???)
# make sure that this value is unique in each startup script.
L2J_SCREEN="loginserver"


case "$1" in
start)
echo "Starting L2J Login Server... "
su -c "screen -d -m -S ${L2J_SCREEN} ${L2J_SCRIPT}" ${L2J_USER}
echo "Done..."
;;

stop)
echo "Stopping L2J Login Server... "
L2JPID = su -c "screen -list" ${L2J_USER} | grep "${L2J_SCREEN}" | tr . ' ' | awk '{print $1}'`
if [[ "${L2JPID}" != "" ]]
kill -TERM ${L2JPID}
fi
echo "Done..."
;;

restart)
echo "Stopping L2J Login Server... "
L2JPID = `su -c "screen -list" ${L2J_USER} | grep "${L2J_SCREEN}" | tr . ' ' | awk '{print $1}'`
if [[ "${L2JPID}" != "" ]]
kill -TERM ${L2JPID}
fi
echo "Done..."
echo "Starting L2J Login Server... "
su -c "screen -d -m -S ${L2J_SCREEN} ${L2J_SCRIPT}" ${L2J_USER}
echo "Done..."
;;
*)
echo "Usage: /etc/init.d/loginserver {start|stop|restart}"
exit 1
esac


/etc/init.d/gameserver

#!/bin/sh

L2J_USER="lineage2"
L2J_SCRIPT="/usr/local/l2j/gameserver/GameServer_loop.sh"

# This needs to be unique. If for some reason you're running multiple gameservers
# make sure that this value is unique in each startup script otherwise a stop or restart
# will kill off all gaming servers.
L2J_SCREEN="gameserver1"


case "$1" in
start)
echo "Starting L2J Game Server... "
su -c "screen -d -m -S ${L2J_SCREEN} ${L2J_SCRIPT}" ${L2J_USER}
echo "Done..."
;;

stop)
echo "Stopping L2J Game Server... "
L2JPID = su -c "screen -list" ${L2J_USER} | grep "${L2J_SCREEN}" | tr . ' ' | awk '{print $1}'`
if [[ "${L2JPID}" != "" ]]
kill -TERM ${L2JPID}
fi
echo "Done..."
;;

restart)
echo "Stopping L2J Game Server... "
L2JPID = `su -c "screen -list" ${L2J_USER} | grep "${L2J_SCREEN}" | tr . ' ' | awk '{print $1}'`
if [[ "${L2JPID}" != "" ]]
kill -TERM ${L2JPID}
fi
echo "Done..."
echo "Starting L2J Game Server... "
su -c "screen -d -m -S ${L2J_SCREEN} ${L2J_SCRIPT}" ${L2J_USER}
echo "Done..."
;;
*)
echo "Usage: /etc/init.d/gameserver {start|stop|restart}"
exit 1
esac
scorpix
Wait please.
i translite full guide for install L2j server
for windows.
IceNinjaa
my one question is fairly simple. is lineage 2 f2p? im not in the mood for a p2p game at this point.
Related topics
Favourite game? (OFFICIAL THREAD)
Best free MMORPG?
What games are you playing?
Genre de jeux préféré sur PC?
Lineage II
Lineage II
Lineage II or WoW???
Lineage II full C3 and C4???
I need some ideas
Lineage II
(Juego): El Forista de abajo.
What online game(s) are you currently playing?
Lineage II
Gry Online
Reply to topic    Frihost Forum Index -> Sports and Entertainment -> Games

FRIHOST HOME | FAQ | TOS | ABOUT US | CONTACT US | SITE MAP
© 2005-2011 Frihost, forums powered by phpBB.