Jump to content

[GUIDE]Creating server in Linux with non-root user


Recommended Posts

For users of Linux,this is a guide about how to setup a l2java private server.The guide is using l2j pack.But you can also use other packs.

 

setup l2j on linux server with non-root user

 

user = la

homedir = /home/la

 

the guide use bash

must have svn

must have MySql

 

no ant

no java

 

---------------------------------------------------------------

 

1 - download ant http://ant.apache.org/ (apache-ant-1.6.5-bin.tar.gz)

2 - download java sdk http://java.sun.com/javase/downloads/index.html (i use http://java.sun.com/j2se/1.5.0/download.jsp)

NOT RPM - AND NOT JRE

U NEED Linux self-extracting file (jdk-1_5_0_06-linux-i586.bin)

 

---------------------------------------------------------------

 

INSTALL JAVA

 

# chmod 700 jdk-1_5_0_06-linux-i586.bin

# ./jdk-1_5_0_06-linux-i586.bin

read...

read..

type "yes"

java will ectract in "/jdk1.5.0_06"

# mv jdk1.5.0_06 ~/java

 

---------------------------------------------------------------

 

INSTALL ANT

 

# tar -xzf apache-ant-1.6.5-bin.tar.gz

# mv apache-ant-1.6.5-bin.tar.gz ~/ant

 

CONFIGURE ANT FOR JAVA

 

add to "~/.bashrc"

 

export PATH=/home/la/java/bin:${PATH}

export ANT_HOME=/home/la/ant

export JAVA_HOME=/home/la/java

export PATH=${PATH}:${ANT_HOME}/bin

export PATH=${PATH}:/home/la

 

then relogin... or execute this strings

 

create dir for source

# mkdir /home/la/l2j_source

 

create file for update from svn

# cd /home/la/l2j_source

# touch l2j_update

# chmod 700 l2j_update

 

add to this file

 

1:#!/bin/bash

2:svn checkout https://opensvn.csie.org/l2jc4/trunk

 

update source

# ./l2j_update

 

compile server

 

# cd trunk/L2_Gameserver

# ant

 

in "build/dist" you will have compiled login and game server.

 

get DataPack

 

# mkdir /home/la/l2j_DP

 

create file for update from svn

# cd /home/la/l2j_DP

# touch DP_update

# chmod 700 l2j_update

 

add this line

 

1:#!/bin/bash

2:svn checkout http://www.l2jdp.com/svn/

 

update source

# ./DP_update

 

 

INSTALL DATAPACK

 

ask root to make DB for you

 

db name == l2jdb

for user == la

and pass == xxx (any password)

 

then you need add all tables in dir "sql" (/home/la/l2j_DP/svn/trunk/datapack_development/sql)

(u can use "# mysql -p -u la l2jdb < FILE.sql" for each file in this dir and then (if you wish) in sql/experimental

or if u have dir tools - run "database_installer.sh")

 

---------------------------------------------------------------

now - u can move all neded files in individual dir... or

copy all files from "/home/la/l2j_source/trunk/L2_Gameserver/build/dist/gameserver/" + dir "config" + dir "hibernate-mapping" + dir "log"

to "/home/la/l2j_DP/svn/trunk/datapack_development/"

 

then don't forget configure gameserver and login server

 

----------------------------------------------------------------

 

start login server

 

# chmod 700 LoginServer_loop.sh

# chmod 700 startLoginServer.sh

# ./startLoginServer.sh

 

start gameserver

 

# chmod 700 GameServer_loop.sh

# chmod 700 startGameServer.sh

# ./startGameServer.sh

 

==================================

 

in addition

my start files

 

startLoginServer.sh

 

 

1.#!/bin/bash

2.cd /home/la/l2j_source/trunk/L2_Gameserver/build/dist/login

3.echo "try to kill all realm screens"

4.while

5.pid_realm=`ps ax | grep 'SCREEN -AdmS realm ./LoginServer_loop.sh' | grep -v "grep" -m 1 | sed 's/[^0-9]?\([0-9]*\).*/\1/; s/[^0-9]*//'`

6ps -p $pid_realm > /dev/null 2>&1;

7.do

8.echo "realm=$pid_realm";

9.kill $pid_realm;

10.done

11.echo realm screen...

12.screen -AdmS realm ./LoginServer_loop.sh

13.echo start...

 

LoginServer_loop.sh

 

cd /home/la/l2j_source/trunk/L2_Gameserver/build/dist/login

err=1

until [ $err == 0 ];

do

        mv log/java0.log.0 "log/`date +%Y-%m-%d_%H-%M-%S`_java.log"

        cp -f log/stdout.log "log/`date +%Y-%m-%d_%H-%M-%S`_stdout.log"

        /home/l2/java/jre/bin/java -Xms512m -Xmx512m -cp javolution.jar:c3p0-0.9.0.jar:mysql-connector-java-3.1.10-bin.jar:sqljdbc.jar:l2jserver.jar net.sf.l2

        err=$?

#       /etc/init.d/mysql restart

        sleep 10;

done

 

 

startGameServer.sh

 

1.#!/bin/bash

2.echo server screen...

3.screen -AdmS server ./GameServer_loop.sh

4.echo start...

 

GameServer_loop.sh

 

 

1.#!/bin/bash

2.cd /home/la/DP_source/svn/trunk/datapack_development

3.err=1

4.until [ $err == 0 ];

5.do

6.        mv log/java0.log.0 "log/`date +%Y-%m-%d_%H-%M-%S`_java.log"

7.        cp -f log/stdout.log "log/`date +%Y-%m-%d_%H-%M-%S`_stdout.log"

8.        /home/la/java/jre/bin/java -server -Xms512m -Xmx512m -cp bsf.jar:javolution.jar:bsh-2.0.jar:jython.jar:c3p0-0.9.0.jar:mysql-connector-9.java-3.1.10-bin.

10.        err=$?

11.#       /etc/init.d/mysql restart

12.        sleep 10;

13.done.

 

CREDITS TO:den666

 

 

 

 

 

 

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...
  • 3 months later...
  • 3 months later...
  • 4 weeks later...
  • 3 months later...
  • 7 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...