mirror of
https://port.numenaute.org/aleajactaest/khanat-code-old.git
synced 2024-11-22 06:46:14 +00:00
adding patch server
This commit is contained in:
parent
93d7d90826
commit
b66681aace
9 changed files with 363 additions and 36 deletions
15
dist/docker/builder/debian/jessie/i686/build.sh
vendored
15
dist/docker/builder/debian/jessie/i686/build.sh
vendored
|
@ -13,6 +13,7 @@ declare -i BUILD=1
|
|||
declare -i DEBUG=0
|
||||
declare JOBS=""
|
||||
declare CMAKEOPTS=""
|
||||
declare DOCKEROPTS=""
|
||||
declare DIRBUILD=""
|
||||
declare CLEANDOCKER=0
|
||||
|
||||
|
@ -42,11 +43,12 @@ options:
|
|||
-j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no arg.
|
||||
-a OPTS, --add-opts-cmake=OPTS : Adding options on cmake command (before build)
|
||||
-c, --clean-container : remove all container in state Exited
|
||||
-m OPTS, --add-opts-docker=OPTS : Adding options on docker command (when build)
|
||||
|
||||
Example :
|
||||
cd [root Khanat directory]
|
||||
./build.sh -c -r
|
||||
./build.sh -c -r -j 4 -a '-DWITH_SYMBOLS=ON' -a '-DWITH_RYZOM_TOOLS=OFF' -a '-DWITH_NEL_TOOLS=OFF'
|
||||
./build.sh -c -r -j 4 -a '-DWITH_SYMBOLS=ON' -a '-DWITH_RYZOM_TOOLS=OFF' -a '-DWITH_NEL_TOOLS=OFF' -m '-m 20g'
|
||||
EOF
|
||||
}
|
||||
|
||||
|
@ -134,6 +136,15 @@ do
|
|||
CMAKEOPTS="$CMAKEOPTS ${1#*=}"
|
||||
shift
|
||||
;;
|
||||
-m)
|
||||
shift
|
||||
DOCKEROPTS="$DOCKEROPTS $1"
|
||||
shift
|
||||
;;
|
||||
--add-opts-docker=*)
|
||||
DOCKEROPTS="$DOCKEROPTS ${1#*=}"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
msg_error "options '$1' not recoginze"
|
||||
usage
|
||||
|
@ -166,6 +177,7 @@ msg_debug "basedir: $basedir"
|
|||
msg_debug "rootdir: $rootdir"
|
||||
msg_debug "JOBS: '$JOBS'"
|
||||
msg_debug "CMAKEOPTS: '$CMAKEOPTS'"
|
||||
msg_debug "DOCKEROPTS: '$DOCKEROPTS'"
|
||||
|
||||
mkdir -p "${DIRBUILD}"
|
||||
if [[ $REMOVE -ne 0 ]]
|
||||
|
@ -197,6 +209,7 @@ then
|
|||
-u "$(id -u $USERNAME):$(id -g $USERNAME)" \
|
||||
-v $rootdir/dist:/opt/dist \
|
||||
-v $rootdir/code:/opt/code \
|
||||
${DOCKEROPTS} \
|
||||
${IMAGEDOCKER} \
|
||||
/opt/dist/docker/builder/${LOCALSRC}/build-under-docker.sh "/opt/code/${LOCALBUILDDIR}/" || exit 2
|
||||
fi
|
||||
|
|
|
@ -25,18 +25,18 @@ RUN apt-get dist-upgrade
|
|||
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server
|
||||
RUN apt-get install -y apache2 php5 libapache2-mod-php5 php5-mysql apache2-utils php5-gd php5-imagick
|
||||
RUN apt-get install -y git libcurl4-openssl-dev libluabind-dev libfreetype6-dev libx11-dev libgl1-mesa-dev libxxf86vm-dev libxrandr-dev libxrender-dev libopenal-dev libogg-dev libvorbis-dev libxml2-dev cmake build-essential libpng12-dev libjpeg62-turbo-dev rrdtool bison libxmu-dev autoconf automake libmysqlclient-dev libgif-dev cpputest libssl-dev liblzma-dev unzip
|
||||
RUN apt-get install -y git libcurl4-openssl-dev libluabind-dev libfreetype6-dev libx11-dev libgl1-mesa-dev libxxf86vm-dev libxrandr-dev libxrender-dev libopenal-dev libogg-dev libvorbis-dev libxml2-dev cmake build-essential libpng12-dev libjpeg62-turbo-dev rrdtool bison libxmu-dev autoconf automake libmysqlclient-dev libgif-dev cpputest libssl-dev liblzma-dev unzip zlib1g-dev libssh-dev libboost-all-dev libopenal-dev libgl1-mesa-dev libogg-dev
|
||||
|
||||
RUN apt-get install -y wget
|
||||
|
||||
## Build & Install cpptest
|
||||
# Impossible to build release 1.1.0, 1.1.1, 1.1.2
|
||||
#RUN apt-get install -y wget autogen autoconf automake libtool libtool-bin
|
||||
#RUN mkdir -p /opt/src
|
||||
#RUN wget -q https://github.com/cpptest/cpptest/archive/1.0.5.tar.gz -O /opt/src/cpptest.tar.gz
|
||||
#RUN rm -rf /opt/src/cpptest
|
||||
#RUN tar xvf /opt/src/cpptest.tar.gz -C /opt/src --strip 1
|
||||
#RUN cd /opt/src/cpptest && ./autogen.sh && ./configure && make && make install
|
||||
RUN apt-get install -y wget autogen autoconf automake libtool libtool-bin
|
||||
RUN mkdir -p /opt/src
|
||||
RUN wget -q https://github.com/cpptest/cpptest/archive/1.0.5.tar.gz -O /opt/src/cpptest.tar.gz
|
||||
RUN rm -rf /opt/src/cpptest
|
||||
RUN tar xvf /opt/src/cpptest.tar.gz -C /opt/src --strip 1
|
||||
RUN cd /opt/src/cpptest && ./autogen.sh && ./configure && make && make install
|
||||
|
||||
## Build & Install Build squish
|
||||
RUN mkdir -p /opt/src
|
||||
|
|
|
@ -30,7 +30,7 @@ fi
|
|||
|
||||
echo "$(date "+%Y/%m/%d %H:%M:%S") BUILD START" >> $LOGFILE
|
||||
|
||||
cd ${DIRBUILD}; cmake -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=OFF -DWITH_NEL=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_DRIVER_OPENGL=OFF -DWITH_DRIVER_OPENAL=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_SOUND=OFF ${CMAKEOPTS} .. 1>>$LOGFILE 2>&1 || exit 2
|
||||
cd ${DIRBUILD}; cmake -DWITH_NEL=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON ${CMAKEOPTS} .. 1>>$LOGFILE 2>&1 || exit 2
|
||||
|
||||
cd ${DIRBUILD}; make $MAKEOPTS 1>>$LOGFILE 2>&1 || exit 2
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ declare -i BUILD=1
|
|||
declare -i DEBUG=0
|
||||
declare JOBS=""
|
||||
declare CMAKEOPTS=""
|
||||
declare DOCKEROPTS=""
|
||||
declare DIRBUILD=""
|
||||
declare CLEANDOCKER=0
|
||||
|
||||
|
@ -42,11 +43,14 @@ options:
|
|||
-j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no arg.
|
||||
-a OPTS, --add-opts-cmake=OPTS : Adding options on cmake command (before build)
|
||||
-c, --clean-container : remove all container in state Exited
|
||||
-m OPTS, --add-opts-docker=OPTS : Adding options on docker command (when build)
|
||||
--only-build-server : adding option to build only server
|
||||
|
||||
Example :
|
||||
cd [root Khanat directory]
|
||||
./build.sh -c -r
|
||||
./build.sh -c -r -j 4 -a '-DWITH_SYMBOLS=ON' -a '-DWITH_RYZOM_TOOLS=OFF' -a '-DWITH_NEL_TOOLS=OFF'
|
||||
./build.sh -c -r -m '-m 20g'
|
||||
./build.sh -c -r -j 4 -a '-DWITH_SYMBOLS=ON' -a '-DWITH_RYZOM_TOOLS=OFF' -a '-DWITH_NEL_TOOLS=OFF' -m '-m 20g' -d
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
|
@ -134,6 +138,19 @@ do
|
|||
CMAKEOPTS="$CMAKEOPTS ${1#*=}"
|
||||
shift
|
||||
;;
|
||||
-m)
|
||||
shift
|
||||
DOCKEROPTS="$DOCKEROPTS $1"
|
||||
shift
|
||||
;;
|
||||
--add-opts-docker=*)
|
||||
DOCKEROPTS="$DOCKEROPTS ${1#*=}"
|
||||
shift
|
||||
;;
|
||||
--only-build-server)
|
||||
CMAKEOPTS="$CMAKEOPTS -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=OFF -DWITH_DRIVER_OPENGL=OFF -DWITH_DRIVER_OPENAL=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_SOUND=OFF"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
msg_error "options '$1' not recoginze"
|
||||
usage
|
||||
|
@ -166,6 +183,7 @@ msg_debug "basedir: $basedir"
|
|||
msg_debug "rootdir: $rootdir"
|
||||
msg_debug "JOBS: '$JOBS'"
|
||||
msg_debug "CMAKEOPTS: '$CMAKEOPTS'"
|
||||
msg_debug "DOCKEROPTS: '$DOCKEROPTS'"
|
||||
|
||||
mkdir -p "${DIRBUILD}"
|
||||
if [[ $REMOVE -ne 0 ]]
|
||||
|
@ -197,6 +215,7 @@ then
|
|||
-u "$(id -u $USERNAME):$(id -g $USERNAME)" \
|
||||
-v $rootdir/dist:/opt/dist \
|
||||
-v $rootdir/code:/opt/code \
|
||||
${DOCKEROPTS} \
|
||||
${IMAGEDOCKER} \
|
||||
/opt/dist/docker/builder/${LOCALSRC}/build-under-docker.sh "/opt/code/${LOCALBUILDDIR}/" || exit 2
|
||||
fi
|
||||
|
|
85
dist/docker/server/debian/init-basic.sh
vendored
85
dist/docker/server/debian/init-basic.sh
vendored
|
@ -1,18 +1,27 @@
|
|||
#!/bin/bash
|
||||
####################################
|
||||
#
|
||||
#
|
||||
####################################
|
||||
|
||||
echo "Start Basic"
|
||||
|
||||
####################################
|
||||
# Install some package for server (apache, mysql, screen)
|
||||
####################################
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server
|
||||
apt-get install -y apache2 php5 libapache2-mod-php5 php5-mysql apache2-utils php5-gd php5-imagick rrdtool screen mcrypt php5-mcrypt
|
||||
|
||||
####################################
|
||||
# Initialize database
|
||||
####################################
|
||||
|
||||
/usr/bin/mysql_install_db --user=mysql --skip-name-resolve || exit 2
|
||||
|
||||
# Start the MySQL daemon in the background.
|
||||
/usr/sbin/mysqld &
|
||||
mysql_pid=$!
|
||||
|
||||
# Wait mysql start
|
||||
until /usr/bin/mysqladmin ping >/dev/null 2>&1
|
||||
do
|
||||
echo -n "."
|
||||
|
@ -22,6 +31,7 @@ done
|
|||
# Initialize password root (to empty)
|
||||
/usr/bin/mysqladmin -u root password '' || exit 2
|
||||
|
||||
# Adding phpmyadmin
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y phpmyadmin
|
||||
|
||||
ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf || exit 2
|
||||
|
@ -36,7 +46,9 @@ awk '{if($0 ~ /AllowNoPassword/){$1="";}; print $0;}' /etc/phpmyadmin/config.inc
|
|||
# Wait MySQL stop
|
||||
wait $mysql_pid
|
||||
|
||||
####################################
|
||||
# Initialize bashrc (for root)
|
||||
####################################
|
||||
cat << EOF > /root/.bashrc
|
||||
# bashrc: executed by bash(1) for non-login shells.
|
||||
|
||||
|
@ -59,7 +71,9 @@ if [ -f /etc/bash_completion ]; then
|
|||
fi
|
||||
EOF
|
||||
|
||||
|
||||
####################################
|
||||
# Initialize bashrc (for compil)
|
||||
####################################
|
||||
cat << EOF > /home/compil/.bashrc
|
||||
# bashrc: executed by bash(1) for non-login shells.
|
||||
|
||||
|
@ -83,9 +97,76 @@ fi
|
|||
EOF
|
||||
chown compil:compil /home/compil/.bashrc
|
||||
|
||||
####################################
|
||||
# Initialize bashrc (for gameserver)
|
||||
####################################
|
||||
cat << EOF > /home/gameserver/.bashrc
|
||||
# bashrc: executed by bash(1) for non-login shells.
|
||||
|
||||
# You may uncomment the following lines if you want 'ls' to be colorized:
|
||||
export SHELL=/bin/bash
|
||||
export LS_OPTIONS='--color=auto'
|
||||
eval "\`dircolors\`"
|
||||
alias ls='ls \$LS_OPTIONS'
|
||||
alias ll='ls \$LS_OPTIONS -l'
|
||||
alias l='ls \$LS_OPTIONS -lA'
|
||||
|
||||
# Some more alias to avoid making mistakes:
|
||||
# alias rm='rm -i'
|
||||
# alias cp='cp -i'
|
||||
# alias mv='mv -i'
|
||||
|
||||
# Autocompletion
|
||||
if [ -f /etc/bash_completion ]; then
|
||||
. /etc/bash_completion
|
||||
fi
|
||||
EOF
|
||||
chown gameserver:gameserver /home/gameserver/.bashrc
|
||||
|
||||
####################################
|
||||
# Adding sudo command
|
||||
####################################
|
||||
|
||||
# Update sudo rule (you can execute all command as root)
|
||||
cat << EOF > /etc/sudoers.d/compil
|
||||
# User privilege specification
|
||||
compil ALL=NOPASSWD: ALL
|
||||
gameserver ALL=NOPASSWD: ALL
|
||||
EOF
|
||||
|
||||
####################################
|
||||
# LOGING HEADER
|
||||
####################################
|
||||
# Message see when connect on ssh
|
||||
|
||||
# Before login
|
||||
cat << EOF > /etc/issue.net
|
||||
*********************
|
||||
* KHANAT SERVER DEV *
|
||||
*********************
|
||||
|
||||
account compil
|
||||
password khanat
|
||||
|
||||
account gameserver
|
||||
password khanat
|
||||
|
||||
EOF
|
||||
|
||||
# After Login
|
||||
cat << EOF > /etc/motd
|
||||
***************************************************
|
||||
connect to root use compil or gameserver and launch
|
||||
sudo bash
|
||||
---------------------------------------------------
|
||||
mysql : account root (no password)
|
||||
***************************************************
|
||||
EOF
|
||||
|
||||
# Activate banner
|
||||
sed -i 's/#Banner/Banner/g' /etc/ssh/sshd_config
|
||||
|
||||
####################################
|
||||
# End
|
||||
####################################
|
||||
echo "End Basic"
|
||||
|
|
208
dist/docker/server/debian/init-khanat.sh
vendored
208
dist/docker/server/debian/init-khanat.sh
vendored
|
@ -11,8 +11,10 @@ cd /opt; tar xzf ryzom-ressources.tar.gz || exit 2
|
|||
cat << EOF > /opt/shard.sh
|
||||
export RYHOME=/home/compil
|
||||
export RYZOM_PATH=/home/compil/ryzom
|
||||
export PATH=$PATH:/usr/local/bin:$RYZOM_PATH/tools/scripts/linux
|
||||
export PATH=\$PATH:/usr/local/bin:\$RYZOM_PATH/tools/scripts/linux
|
||||
export RYDATA=/home/compil/khanat-ressources
|
||||
export PATCH_HOME=/home/gameserver
|
||||
export PATCH_CLIENT_SYSTEM=\$PATCH_HOME/patch_service
|
||||
echo "Environment loaded"
|
||||
EOF
|
||||
|
||||
|
@ -20,8 +22,10 @@ EOF
|
|||
cat << EOF > /home/compil/.bashrc
|
||||
export RYHOME=/home/compil
|
||||
export RYZOM_PATH=/home/compil/ryzom
|
||||
export PATH=$PATH:/usr/local/bin:$RYZOM_PATH/tools/scripts/linux
|
||||
export PATH=\$PATH:/usr/local/bin:\$RYZOM_PATH/tools/scripts/linux
|
||||
export RYDATA=/home/compil/khanat-ressources
|
||||
export PATCH_HOME=/home/gameserver
|
||||
export PATCH_CLIENT_SYSTEM=\$PATCH_HOME/patch_service
|
||||
echo "Environment loaded"
|
||||
EOF
|
||||
|
||||
|
@ -62,7 +66,7 @@ chown -R www-data:www-data $RYZOM_PATH/ryzomweb || exit 2
|
|||
# configure apache
|
||||
cat << EOF > /etc/apache2/sites-available/000-default.conf
|
||||
<VirtualHost *:80>
|
||||
<Directory "$RYZOM_PATH/ryzomweb/">
|
||||
<Directory "$RYZOM_PATH/ryzomweb/">
|
||||
Options Indexes FollowSymLinks
|
||||
AllowOverride None
|
||||
Require all granted
|
||||
|
@ -70,7 +74,7 @@ cat << EOF > /etc/apache2/sites-available/000-default.conf
|
|||
AddType text/html .php .phps
|
||||
AddHandler application/x-httpd-php .php
|
||||
AddHandler application/x-httpd-php-source .phps
|
||||
</Directory>
|
||||
</Directory>
|
||||
ServerName lirria.khaganat.net
|
||||
|
||||
ServerAdmin webmaster@localhost
|
||||
|
@ -81,11 +85,11 @@ cat << EOF > /etc/apache2/sites-available/000-default.conf
|
|||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:40916>
|
||||
<Directory "$RYZOM_PATH/ryzomweb/">
|
||||
<Directory "$RYZOM_PATH/ryzomweb/">
|
||||
Options Indexes FollowSymLinks
|
||||
AllowOverride None
|
||||
Require all granted
|
||||
</Directory>
|
||||
</Directory>
|
||||
ServerName lirria.khaganat.net
|
||||
|
||||
ServerAdmin admin@localhost
|
||||
|
@ -94,6 +98,17 @@ cat << EOF > /etc/apache2/sites-available/000-default.conf
|
|||
ErrorLog \${APACHE_LOG_DIR}/error.log
|
||||
CustomLog \${APACHE_LOG_DIR}/access.log combined
|
||||
</VirtualHost>
|
||||
|
||||
<VirtualHost *:43435>
|
||||
ServerName lirria.khaganat.net
|
||||
DocumentRoot $PATCH_HOME/patch_service/patch_game/patch/
|
||||
|
||||
<Directory "/$PATCH_HOME/patch_service/patch_game/patch">
|
||||
Options -Indexes
|
||||
AllowOverride All
|
||||
Require all granted
|
||||
</Directory>
|
||||
</VirtualHost>
|
||||
EOF
|
||||
|
||||
cat << EOF > /etc/apache2/ports.conf
|
||||
|
@ -103,6 +118,7 @@ cat << EOF > /etc/apache2/ports.conf
|
|||
|
||||
Listen 80
|
||||
Listen 40916
|
||||
Listen 43435
|
||||
|
||||
<IfModule ssl_module>
|
||||
Listen 443
|
||||
|
@ -316,10 +332,184 @@ mkdir -p $RYZOM_PATH/server/save_shard/rrd_graphs
|
|||
|
||||
#
|
||||
# Serveur Patch
|
||||
# TODO - need add other step to initialize patch server
|
||||
# Account use : gameserver
|
||||
su -c "mkdir -p /home/gameserver/patch_service/" gameserver || exit 2
|
||||
su -c "cd /home/gameserver/patch_service; patch_gen createNewProduct patch_game/ryzom.xml" gameserver || exit 2
|
||||
|
||||
# Generate data to client
|
||||
echo "PATCH - CREATE DIRECTORY"
|
||||
echo "PATCH_HOME:$PATCH_HOME"
|
||||
echo "PATCH_CLIENT_SYSTEM:$PATCH_CLIENT_SYSTEM"
|
||||
mkdir -p $PATCH_HOME/patch_service/dataserver || exit 2
|
||||
|
||||
# TODO : Pourquoi récupère ton des données de khanat-ressources pour les langues ?
|
||||
# Search le nombre de langue
|
||||
listlang=$(ls $RYDATA/translation/translated | cut -f 1 -d '.' | sed 's/^.*\(.\{2\}\)$/\1/' | sort | uniq)
|
||||
echo "LIST LANG : $listlang"
|
||||
|
||||
for lang in $listlang
|
||||
do
|
||||
echo "create dir : $PATCH_HOME/patch_service/dataserver/kh_translate_$lang"
|
||||
mkdir -p $PATCH_HOME/patch_service/dataserver/kh_translate_$lang || exit 2
|
||||
done
|
||||
mkdir -p $PATCH_HOME/patch_service/kh_server || exit 2
|
||||
mkdir -p $PATCH_HOME/patch_service/dataserver || exit 2
|
||||
mkdir -p $PATCH_CLIENT_SYSTEM/patch_game/bnp/
|
||||
|
||||
echo "COPY DATA TO GENERATE PATCH"
|
||||
cp $RYZOM_PATH/common/data_common/database.xml $PATCH_CLIENT_SYSTEM/kh_server/ || exit 2
|
||||
cp $RYZOM_PATH/common/data_common/msg.xml $PATCH_CLIENT_SYSTEM/kh_server/ || exit 2
|
||||
cp /opt/sheets_packer/client/data/*.packed_sheets $PATCH_CLIENT_SYSTEM/kh_server/ || exit 2
|
||||
cp /opt/sheets_packer/client/data/*.packed $PATCH_CLIENT_SYSTEM/kh_server/ || exit 2
|
||||
cp $RYZOM_PATH/common/data_common/visual_slot.tab $PATCH_CLIENT_SYSTEM/kh_server/ || exit 2
|
||||
cp $RYDATA/leveldesign/game_elem/sheet_id.bin $PATCH_CLIENT_SYSTEM/kh_server/ || exit 2
|
||||
|
||||
|
||||
cd $PATCH_HOME/patch_service/dataserver; tar xzf /opt/khanat-data-client.tar.gz || exit 2
|
||||
|
||||
# TODO : Pourquoi récupère ton des données de khanat-ressources pour les langues ?
|
||||
for lang in $listlang
|
||||
do
|
||||
cp $RYDATA/translation/translated/*$lang.* $PATCH_CLIENT_SYSTEM/dataserver/kh_translate_$lang/ || exit 2
|
||||
done
|
||||
|
||||
echo "GENERATE PATCH"
|
||||
for lang in $listlang
|
||||
do
|
||||
cd $PATCH_CLIENT_SYSTEM/dataserver/; bnp_make -p kh_translate_$lang || exit 2
|
||||
done
|
||||
|
||||
# tous les bnp de khanat-data-client
|
||||
cd $PATCH_HOME/patch_service/dataserver/data/; bnp_make -p fonts || exit 2
|
||||
for dir in $PATCH_HOME/patch_service/dataserver/data/kh/*
|
||||
do
|
||||
cd $dir/..; bnp_make -p $(basename $dir) || exit 2
|
||||
done
|
||||
|
||||
for dir in $PATCH_HOME/patch_service/dataserver/data/kh_shard/*
|
||||
do
|
||||
cd $dir/..; bnp_make -p $(basename $dir) || exit 2
|
||||
done
|
||||
|
||||
for dir in $PATCH_HOME/patch_service/dataserver/data/ryz/*
|
||||
do
|
||||
cd $dir/..; bnp_make -p $(basename $dir) || exit 2
|
||||
done
|
||||
|
||||
## TODO - check how generate '.ref' files
|
||||
for dir in $PATCH_HOME/patch_service/dataserver/client/*
|
||||
do
|
||||
cd $dir/..; bnp_make -p $(basename $dir) || exit 2
|
||||
done
|
||||
for file in $PATCH_HOME/patch_service/dataserver/client/*.bnp
|
||||
do
|
||||
mv "$file" "${file%.bnp}.ref" || exit 2
|
||||
done
|
||||
|
||||
|
||||
# kh_server
|
||||
cd $PATCH_CLIENT_SYSTEM/; bnp_make -p kh_server || exit 2
|
||||
|
||||
echo "MOVE PATCH"
|
||||
|
||||
for file in $PATCH_HOME/patch_service/dataserver/client/*.ref
|
||||
do
|
||||
mv "$file" $PATCH_CLIENT_SYSTEM/patch_game/bnp/ || exit 2
|
||||
done
|
||||
|
||||
for file in $PATCH_HOME/patch_service/dataserver/data/kh/*.bnp
|
||||
do
|
||||
mv "$file" $PATCH_CLIENT_SYSTEM/patch_game/bnp/ || exit 2
|
||||
done
|
||||
|
||||
for file in $PATCH_HOME/patch_service/dataserver/data/kh_shard/*.bnp
|
||||
do
|
||||
mv "$file" $PATCH_CLIENT_SYSTEM/patch_game/bnp/ || exit 2
|
||||
done
|
||||
|
||||
for file in $PATCH_HOME/patch_service/dataserver/data/ryz/*.bnp
|
||||
do
|
||||
mv "$file" $PATCH_CLIENT_SYSTEM/patch_game/bnp/ || exit 2
|
||||
done
|
||||
|
||||
for lang in $listlang
|
||||
do
|
||||
mv $PATCH_CLIENT_SYSTEM/dataserver/kh_translate_$lang.bnp $PATCH_CLIENT_SYSTEM/patch_game/bnp/ || exit 2
|
||||
done
|
||||
mv kh_server.bnp $PATCH_CLIENT_SYSTEM/patch_game/bnp/ || exit 2
|
||||
|
||||
chown -R gameserver:www-data $PATCH_HOME/patch_service || exit 2
|
||||
|
||||
echo "PREPARE PATCH"
|
||||
#
|
||||
su -c "cd $PATCH_HOME/patch_service; patch_gen createNewProduct patch_game/ryzom.xml" gameserver || exit 2
|
||||
su -c "cd $PATCH_HOME/patch_service;touch patch_game/Lirria.version" gameserver || exit 2
|
||||
sed -i -r 's/value="main"/value="khanat_lirria"/g' patch_game/ryzom.xml || exit 2
|
||||
sed -i -r 's/_NextVersionFile type="STRING" value=""/_NextVersionFile type="STRING" value="patch_game\/Lirria.version"/g' patch_game/ryzom.xml || exit 2
|
||||
|
||||
#cat << EOF > $PATCH_HOME/patch_service/patch_game/ryzom.xml
|
||||
#<xml>
|
||||
# <_Categories>
|
||||
# <_Category>
|
||||
# <_Name type="STRING" value="khanat_lirria"/>
|
||||
# <_IsOptional type="SINT32" value="0"/>
|
||||
# <_UnpackTo type="STRING" value="./user/"/>
|
||||
# <_IsIncremental type="SINT32" value="1"/>
|
||||
# <_Files type="STRING" value="patch_lirria.bnp"/>
|
||||
# </_Category>
|
||||
# </_Categories>
|
||||
# <_IndexFileName type="STRING" value="ryzom.hist"/>
|
||||
# <_PatchDirectory type="STRING" value="patch_game/patch/"/>
|
||||
# <_BnpDirectory type="STRING" value="patch_game/bnp/"/>
|
||||
# <_RefDirectory type="STRING" value="patch_game/ref/"/>
|
||||
# <_NextVersionFile type="STRING" value="patch_game/Lirria.version"/>
|
||||
# <_ClientIndexFileName type="STRING" value="ryzom"/>
|
||||
#</xml>
|
||||
#EOF
|
||||
|
||||
# Generate patch
|
||||
su -c "cd $PATCH_HOME/patch_service; patch_gen updateProduct patch_game/ryzom.xml" gameserver || exit 2
|
||||
# Edit release note
|
||||
cat << EOF > $PATCH_HOME/patch_service/patch_game/patch/index.php
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
</head>
|
||||
<body>
|
||||
<h1>New test data - Release $KHANAT_CLIENT_VERSION</h1>
|
||||
<p>An update will now be performed to your client(the /user directory to be exact).
|
||||
Please help us test the deployment of our free MMORPG server!!
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
chown gameserver:www-data $PATCH_HOME/patch_service/patch_game/patch/index.php
|
||||
|
||||
cat << EOF > $PATCH_HOME/patch_service/patch_game/patch/Lirria.version
|
||||
$KHANAT_CLIENT_VERSION $KHANAT_CLIENT_VERSION
|
||||
EOF
|
||||
|
||||
echo "CONFIGURE APACHE"
|
||||
cat << EOF > /etc/apache2/conf-available/patch_service.conf
|
||||
Alias /patch /home/gameserver/patch_service/patch_game/patch
|
||||
<Directory /home/gameserver/patch_service/patch_game/patch>
|
||||
Options FollowSymLinks
|
||||
DirectoryIndex index.php
|
||||
|
||||
Require all granted
|
||||
|
||||
<IfModule mod_php5.c>
|
||||
<IfModule mod_mime.c>
|
||||
AddType application/x-httpd-php .php
|
||||
</IfModule>
|
||||
<FilesMatch ".+\.php$">
|
||||
SetHandler application/x-httpd-php
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
</Directory>
|
||||
EOF
|
||||
# Activate & deploy new configuration
|
||||
a2enconf patch_service.conf
|
||||
|
||||
chown -R gameserver:www-data $PATCH_HOME/patch_service
|
||||
chmod g+w -R $PATCH_HOME/patch_service
|
||||
|
||||
#
|
||||
# Stop All
|
||||
|
|
|
@ -19,9 +19,9 @@ RUN apt-get install -y openssh-server sudo net-tools
|
|||
RUN apt-get install -y lzma xdelta
|
||||
|
||||
# adding account compil, password compil
|
||||
RUN useradd -G sudo,www-data -c /home -d /home/gameserver -c "Khanat account GAME" -m -p '$6$4a/ofDWe$Bh16Bi.fWHF2dkerY6f0fKLspYKfjsaZvvQ3Hqycoye0JV1KLS4SAm/FEtIx1MzwqkgQnnPgNFZRZwPIebnL01' -s /bin/bash -U gameserver
|
||||
RUN useradd -G sudo,www-data -c /home -d /home/gameserver -c "Khanat account GAME" -m -p '$6$nxHX/3u.$azS0.eldpfKqxqOLDjgZj8.hPOLC64arXDTUVX0fs7RZvRBX/pNqPzDR89ccP5XkEE/daOyaD3wVtDGDUND5b/' -s /bin/bash -U gameserver
|
||||
|
||||
RUN useradd -G sudo,www-data -c /home -d /home/compil -c "Khanat account" -m -p '$6$cQrN51jJ$eP/whHzKesStKm8KgQwZMb.kYdPzJm2RtG7FcESQtrrioyOiDslE4jxnuz4WieMIvW8saPdnj3vOy1s/cnfVy.' -s /bin/bash -U compil
|
||||
RUN useradd -G sudo,www-data -c /home -d /home/compil -c "Khanat account" -m -p '$6$nxHX/3u.$azS0.eldpfKqxqOLDjgZj8.hPOLC64arXDTUVX0fs7RZvRBX/pNqPzDR89ccP5XkEE/daOyaD3wVtDGDUND5b/' -s /bin/bash -U compil
|
||||
|
||||
|
||||
COPY dist/docker/server/debian/init-basic.sh /opt/
|
||||
|
|
|
@ -16,6 +16,7 @@ COPY dist/docker/server/debian/init-khanat.sh /opt/
|
|||
COPY ryzomcore.tar.gz /opt/
|
||||
COPY ryzom-ressources.tar.gz /opt/
|
||||
COPY khanat-ressources.tar.gz /opt/
|
||||
COPY khanat-data-client.tar.gz /opt/
|
||||
|
||||
RUN /opt/init-khanat.sh
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ declare -i IMAGE=1
|
|||
declare -i BASICSERVER=0
|
||||
declare -i KHANATSERVER=0
|
||||
declare -i KHANATRESSOURCES=0
|
||||
declare -i KHANATDATACLIENT=0
|
||||
declare -i RYZOMRESSOURCES=0
|
||||
declare -i LAUNCHKHANAT=1
|
||||
declare -i DEBUG=0
|
||||
|
@ -18,7 +19,7 @@ declare -i AUTODETEC=1
|
|||
declare -i STOPKHANAT=0
|
||||
declare -i CLEANCONTAINERKHANAT=0
|
||||
declare -i CONNECTSSHKHANAT=0
|
||||
declare -i KHANAT_CLIENT_VERSION=0
|
||||
declare -i KHANAT_CLIENT_VERSION=1
|
||||
|
||||
declare IMAGEGENERICSERVER="server_generic_debian_jessie_x86_64"
|
||||
declare IMAGEKHANATSERVER="server_khanat_debian_jessie_x86_64"
|
||||
|
@ -42,6 +43,7 @@ options:
|
|||
-d, --debug : Show debug message
|
||||
-b, --force-basic : Force create/recreate image basic server
|
||||
-t, --force-tar-ressources : Generate TAR.GZ for khanat-ressources (look directory ../khanat-ressources)
|
||||
-q, --force-tar-data-client : Generate TAR.GZ for khanat-data-client (look directory ../khanat-data-client)
|
||||
-z, --force-tar-ryzom-ressources : Generate TAR.GZ in data khanat-code
|
||||
-k, --force-khanat : Force create/recreate image khanat server
|
||||
-n, --no-launch-khanat : Doesn't launch khanat server
|
||||
|
@ -84,6 +86,7 @@ calldir="$(dirname $0)"
|
|||
basedir=$(cd $calldir; pwd)
|
||||
rootdir="$(dirname $(dirname $(dirname $(dirname $(dirname $(dirname ${basedir}))))))"
|
||||
ressourcedir="$(dirname ${rootdir})/khanat-ressources"
|
||||
dataclientdir="$(dirname ${rootdir})/khanat-data-client"
|
||||
|
||||
while test $# -gt 0
|
||||
do
|
||||
|
@ -120,6 +123,10 @@ do
|
|||
KHANATRESSOURCES=1
|
||||
shift
|
||||
;;
|
||||
-q|--force-tar-data-client)
|
||||
KHANATDATACLIENT=1
|
||||
shift
|
||||
;;
|
||||
-z|--force-tar-ryzom-ressources)
|
||||
RYZOMRESSOURCES=1
|
||||
shift
|
||||
|
@ -190,10 +197,14 @@ then
|
|||
then
|
||||
BASICSERVER=1
|
||||
fi
|
||||
if [[ ! -d ${ressourcedir} ]]
|
||||
if [[ ! -f ${rootdir}/khanat-ressources.tar.gz ]]
|
||||
then
|
||||
KHANATRESSOURCES=1
|
||||
fi
|
||||
if [[ ! -f ${rootdir}/khanat-data-client.tar.gz ]]
|
||||
then
|
||||
KHANATDATACLIENT=1
|
||||
fi
|
||||
if [[ ! -f ${rootdir}/ryzom-ressources.tar.gz ]]
|
||||
then
|
||||
RYZOMRESSOURCES=1
|
||||
|
@ -222,6 +233,7 @@ msg_debug "rootdir: $rootdir"
|
|||
msg_debug "ressourcedir: $ressourcedir"
|
||||
msg_debug "generate basic image: $BASICSERVER"
|
||||
msg_debug "generate tar khanat ressources: $KHANATRESSOURCES"
|
||||
msg_debug "generate tar khanat data client: $KHANATDATACLIENT"
|
||||
msg_debug "generate tar ryzom ressources: $RYZOMRESSOURCES"
|
||||
msg_debug "generate khanat image: $KHANATSERVER"
|
||||
msg_debug "launch khanat: $LAUNCHKHANAT"
|
||||
|
@ -238,6 +250,17 @@ then
|
|||
(cd $ressourcedir; tar --exclude='.git' -czf ${rootdir}/khanat-ressources.tar.gz .) || exit 2
|
||||
fi
|
||||
|
||||
if [[ $KHANATDATACLIENT -ne 0 ]]
|
||||
then
|
||||
msg_info "$(date "+%Y/%m/%d %H:%M:%S") CREATE TAR with KHANAT DATA CLIENT"
|
||||
if [[ ! -d ${dataclientdir} ]]
|
||||
then
|
||||
msg_error "Missing khanat-data-client directory ($dataclientdir)"
|
||||
exit 2
|
||||
fi
|
||||
(cd $dataclientdir; tar --exclude='.git' -czf ${rootdir}/khanat-data-client.tar.gz .) || exit 2
|
||||
fi
|
||||
|
||||
if [[ $RYZOMRESSOURCES -ne 0 ]]
|
||||
then
|
||||
msg_info "CREATE TAR with RYZOM Ressources"
|
||||
|
|
Loading…
Reference in a new issue