Welcome!

Join our community of MMORPG enthusiasts and private server developers! By registering, you'll gain access to in-depth discussions on source codes, binaries, and the latest developments in MMORPG server files. Collaborate with like-minded individuals, explore tutorials, and share insights on building and optimizing private servers. Join us today and unlock the full potential of MMORPG server development!

Join Today!

[Tutorial] compile Source Code for Ragnarok Origin

Newbie Spellweaver
Joined
Jan 30, 2021
Messages
35
Reaction score
36
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;
}
 
================ 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 =============
 
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