Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Tutorial] compile Source Code for Ragnarok Origin

Newbie Spellweaver
Joined
Jan 30, 2021
Messages
33
Reaction score
27
src code(use 98GB)


The missing method has not yet been implemented and needs to be tested. The attachment contains some other library methods. If you use the 98GB package, you can install it appropriately.
Compilation environment:
unity 2018.4.36f1
win10 ,winscp, putty
ubuntu 20.04.5
VirtualBox

Compilation process:(in environ package)

- /home
- /home/config
- /home/rogamelibs
- /home/roserver

environ\install_gcc9.2.txt
environ\install_icecc.txt
environ\install_mysql5.6.txt
// set passwd 111111,
// create database, set name add ro..., see conf/*.conf file
environ\install_libevhtp.txt
environ\install_liboauth.txt

// librogamelibs.a
// librogamelibs_release.a
cd /home/rogamelibs/buildtool
./build_linux.sh
./build_linux_release.sh

If there is an error message such as command not recognized, you need to follow the steps below
apt-get install dos2unix
dos2unix build_linux.sh
dos2unix build_linux_release.sh

// libconfiglib.a
cd /home/rogamelibs/table/buildtool
./build_linux.sh

// comp server
cd /home/roserver
create_cmake.sh ../config
cd /home/roserver/Build/Debug
make

error:
error: size of array ‘assertion_failed__1086’ is negative
see environ\install_gcc9.2.txt
sed -e '1161 s|^|//|' -i libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc

error: undefined reference to `SSL_library_init'
see environ\install_libevhtp.txt
install libssl1.0-dev
find / -name libssl.*
... ln -s /usr/lib/x86_64-linux-gnu/libssl.a /lib64/libssl.a
... ln -s /usr/lib/x86_64-linux-gnu/libssl.a /lib64/libssl.so

error: id -lmysqlclient
apt-get install libmysqlclient-dev
find / -name libmysqlclient.*
... ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.1.0 /lib64/libmysqlclient.so
...ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.1.0 /lib64/libmysqlclient.so.18

error: ‘const RowDataType’ {aka ‘const class TableLib::DailyActivitiesTable::RowData’} has no member named ...
add member :
const (type)& member() const {
return (type)&::value;
}
 
Newbie Spellweaver
Joined
Jan 30, 2021
Messages
33
Reaction score
27
================ Revision ================
C:
[ 20%] Built target rogame_pb
[ 20%] Linking CXX executable ../bin/idipserver
[COLOR=rgb(184, 49, 47)]/usr/bin/ld: /home/roserver/lib/libevhtp.a(evhtp.c.o): in function `evhtp_ssl_init':
/home/liyang/library/libevhtp-1.2.10/evhtp.c:3709: undefined reference to `SSL_library_init'
/usr/bin/ld: /home/liyang/library/libevhtp-1.2.10/evhtp.c:3710: undefined reference to `SSL_load_error_strings'
/usr/bin/ld: /home/liyang/library/libevhtp-1.2.10/evhtp.c:3719: undefined reference to `SSLv23_server_method'
/usr/bin/ld: /home/roserver/lib/libevhtp.a(evhtp.c.o): in function `evhtp_ssl_use_threads':
/home/liyang/library/libevhtp-1.2.10/evhtp.c:3680: undefined reference to `CRYPTO_num_locks'
/usr/bin/ld: /home/liyang/library/libevhtp-1.2.10/evhtp.c:3687: undefined reference to `CRYPTO_set_id_callback'
/usr/bin/ld: /home/liyang/library/libevhtp-1.2.10/evhtp.c:3688: undefined reference to `CRYPTO_set_locking_callback'
/usr/bin/ld: /home/liyang/library/libevhtp-1.2.10/evhtp.c:3680: undefined reference to `CRYPTO_num_locks'
/usr/bin/ld: /home/liyang/library/libevhtp-1.2.10/evhtp.c:3687: undefined reference to `CRYPTO_set_id_callback'
/usr/bin/ld: /home/liyang/library/libevhtp-1.2.10/evhtp.c:3688: undefined reference to `CRYPTO_set_locking_callback'[/COLOR]
collect2: error: ld returned 1 exit status
make[2]: *** [idipserver/CMakeFiles/idipserver.dir/build.make:2020: bin/idipserver] Error 1
make[1]: *** [CMakeFiles/Makefile2:714: idipserver/CMakeFiles/idipserver.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

C:
......
-- Std ReleaseWDebug CFLAGS : -O2 -g -DNDEBUG
-- Found LibEvent: /usr/local/lib/libevent.so
-- Found LibEventPthreads: /usr/local/lib/libevent_pthreads.so
-- Found LibEventCore: /usr/local/lib/libevent_core.so
-- Found LibEventExtra: /usr/local/lib/libevent_extra.so
[COLOR=rgb(184, 49, 47)]WARN"Unable to find OpenSSL, will continue, but without the support"[/COLOR]
CMake Warning (dev) at CMakeModules/UseDebugSymbols.cmake:84 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.
......

C:
cd /opt
wget https://www.openssl.org/source/openssl-1.0.2n.tar.gz
tar zxvf openssl-1.0.2n.tar.gz
cd openssl-1.0.2n
./config
make && make install

mv -f /usr/bin/openssl /usr/bin/openssl.system
mv -f /usr/bin/c_rehash /usr/bin/c_rehash.system
mv -f /usr/include/x86_64-linux-gnu/openssl/opensslconf.h /usr/include/x86_64-linux-gnu/openssl/opensslconf.h.system
mv -f /usr/include/openssl /usr/include/openssl.system

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/bin/c_rehash /usr/bin/c_rehash
ln -s /usr/local/ssl/include/openssl /usr/include/openssl

ln -s /usr/local/ssl/lib/libssl.a /lib64/libssl.a
ln -s /usr/local/ssl/lib/libcrypto.a /lib64/libcrypto.a

ln -s /usr/lib/x86_64-linux-gnu/libssl.so /lib64/libssl.so
ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so /lib64/libcrypto.so

cd /home/roserver/thirdparty/libevent-2.1.8-stable
./configure --disable-shared --prefix=/usr/local CFLAGS="-fPIC" LIBS=-ldl
make
make install

C:
cd /home/roserver/thirdparty/libevhtp-1.2.10
mkdir build
cd build
cmake -DCMAKE_PREFIX_PATH=/usr/local -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENSSL_ROOT_DIR=/usr/include/openssl -DOPENSSL_LIBRARIES=/usr/lib64 ..
make
make install

C:
/home/roserver/idipserver/CMakeLists.txt

line 21: LINK_DIRECTORIES( /usr/local/ssl/lib )
ling 44:  dl ssl crypto

============= good luck everybody =============
 
Newbie Spellweaver
Joined
Aug 8, 2018
Messages
85
Reaction score
103
================ Revision ================
C:
[ 20%] Built target rogame_pb
[ 20%] Linking CXX executable ../bin/idipserver
[COLOR=rgb(184, 49, 47)]/usr/bin/ld: /home/roserver/lib/libevhtp.a(evhtp.c.o): in function `evhtp_ssl_init':
/home/liyang/library/libevhtp-1.2.10/evhtp.c:3709: undefined reference to `SSL_library_init'
/usr/bin/ld: /home/liyang/library/libevhtp-1.2.10/evhtp.c:3710: undefined reference to `SSL_load_error_strings'
/usr/bin/ld: /home/liyang/library/libevhtp-1.2.10/evhtp.c:3719: undefined reference to `SSLv23_server_method'
/usr/bin/ld: /home/roserver/lib/libevhtp.a(evhtp.c.o): in function `evhtp_ssl_use_threads':
/home/liyang/library/libevhtp-1.2.10/evhtp.c:3680: undefined reference to `CRYPTO_num_locks'
/usr/bin/ld: /home/liyang/library/libevhtp-1.2.10/evhtp.c:3687: undefined reference to `CRYPTO_set_id_callback'
/usr/bin/ld: /home/liyang/library/libevhtp-1.2.10/evhtp.c:3688: undefined reference to `CRYPTO_set_locking_callback'
/usr/bin/ld: /home/liyang/library/libevhtp-1.2.10/evhtp.c:3680: undefined reference to `CRYPTO_num_locks'
/usr/bin/ld: /home/liyang/library/libevhtp-1.2.10/evhtp.c:3687: undefined reference to `CRYPTO_set_id_callback'
/usr/bin/ld: /home/liyang/library/libevhtp-1.2.10/evhtp.c:3688: undefined reference to `CRYPTO_set_locking_callback'[/COLOR]
collect2: error: ld returned 1 exit status
make[2]: *** [idipserver/CMakeFiles/idipserver.dir/build.make:2020: bin/idipserver] Error 1
make[1]: *** [CMakeFiles/Makefile2:714: idipserver/CMakeFiles/idipserver.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

C:
......
-- Std ReleaseWDebug CFLAGS : -O2 -g -DNDEBUG
-- Found LibEvent: /usr/local/lib/libevent.so
-- Found LibEventPthreads: /usr/local/lib/libevent_pthreads.so
-- Found LibEventCore: /usr/local/lib/libevent_core.so
-- Found LibEventExtra: /usr/local/lib/libevent_extra.so
[COLOR=rgb(184, 49, 47)]WARN"Unable to find OpenSSL, will continue, but without the support"[/COLOR]
CMake Warning (dev) at CMakeModules/UseDebugSymbols.cmake:84 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.
......

C:
cd /opt
wget https://www.openssl.org/source/openssl-1.0.2n.tar.gz
tar zxvf openssl-1.0.2n.tar.gz
cd openssl-1.0.2n
./config
make && make install

mv -f /usr/bin/openssl /usr/bin/openssl.system
mv -f /usr/bin/c_rehash /usr/bin/c_rehash.system
mv -f /usr/include/x86_64-linux-gnu/openssl/opensslconf.h /usr/include/x86_64-linux-gnu/openssl/opensslconf.h.system
mv -f /usr/include/openssl /usr/include/openssl.system

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/bin/c_rehash /usr/bin/c_rehash
ln -s /usr/local/ssl/include/openssl /usr/include/openssl

ln -s /usr/local/ssl/lib/libssl.a /lib64/libssl.a
ln -s /usr/local/ssl/lib/libcrypto.a /lib64/libcrypto.a

ln -s /usr/lib/x86_64-linux-gnu/libssl.so /lib64/libssl.so
ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so /lib64/libcrypto.so

cd /home/roserver/thirdparty/libevent-2.1.8-stable
./configure --disable-shared --prefix=/usr/local CFLAGS="-fPIC" LIBS=-ldl
make
make install

C:
cd /home/roserver/thirdparty/libevhtp-1.2.10
mkdir build
cd build
cmake -DCMAKE_PREFIX_PATH=/usr/local -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENSSL_ROOT_DIR=/usr/include/openssl -DOPENSSL_LIBRARIES=/usr/lib64 ..
make
make install

C:
/home/roserver/idipserver/CMakeLists.txt

line 21: LINK_DIRECTORIES( /usr/local/ssl/lib )
ling 44:  dl ssl crypto

============= good luck everybody =============

If you haven't solved it yet, go to Link on discord and look for Debian compilation tutorials.
If you are using Debian you must recompile libevhtp, because Debian installs Openssl library 1.1 by default, while CentOS still uses 1.0
 
Junior Spellweaver
Joined
Jun 25, 2023
Messages
168
Reaction score
32
you don't need to install dos2unix on the VPS there's windows version of it ...
just convert the bash using dos2unix on windows then compress them with winzip then upload them somewhere on VPS use wget to download the .zip
 
Back
Top