HI, I think that is because you don't link folders properly. Just go to /roserver/exe/gsconf, and check if all the folders are linked properly from /configHi buddy, did you encounter the problem when the gameserve/tradeserver tried to load the "GlobalTables.bytes"? The server would prompt a message that one field called "MultiplePoints..." blahblah was missing, and then exited. I built the program from 20G zip version on Ubuntu 20.04. I though it should be a common problem because it seems like a problem in confiugration, so I'm really curious why nobody mentions it, and how you resolve it?
Thanks very much if any clues to help me figure it out.
sure, since I failed to start the servers, I deleted all folders... All the compilation and link have passed, the librogamelibs.a and libconfiglib.a also generated. Thanks for your hints, I turn to re unzip the downloaded file and go to find if anything I'm missing.HI, I think that is because you don't link folders properly. Just go to /roserver/exe/gsconf, and check if all the folders are linked properly from /config View attachment 259824
and also make sure you can build librogamelibs.a and libconfiglib.a, then they are linked correctly
View attachment 259825
Oh I understand, I don't think I have enough knowledge to run the server, I'm currently doing my TCC for college and my idea was to use some maps to do work in Unity, but I don't have full knowledge, is there a possibility of Do you upload just the _scenes?that scenes is not corrupt you need to run the server first because the client is set into local thats why client loading is not continue to load you stock in loading...0 in game screen
HI, I think that is because you don't link folders properly. Just go to /roserver/exe/gsconf, and check if all the folders are linked properly from /config
and also make sure you can build librogamelibs.a and libconfigl
I just add some extra steps in the previous guide. This is for 20gb version, not sure if it works for big one. I just start learning c++ recently, so maybe some steps are not ideal, and some steps may miss as well, just let me know. I will try to help.
## 2. Install compilation tools
-cmake(>3.0.2)
-g++ (I'm using 9.2)
-redis (I'm using 6.2.7)
-mysql (I have mysql installed previously, so if below step is not correct, just google it)
## 3. Connect resources
- copy config, rogamelibs, roserver to your server root
- cd roserver
- open 111.sh, change icc_path to your g++ path, in my case, it is /usr/local/bin
- go to "/roserver/exe/gsconf", delete all folders except "script" and "serveronly", by doing this, we can link those folders from config folder with next step
- run ./111.sh ../config
## 4. Install and compile dependent software
- Install mysql-devel, mysql version
```sh
yum install mysql-devel
yum install mysql-community-server.x86_64
```
## 5. Compile server
if you see "make -jx" especially "make -j128" in below sh files, just change it to "make -j<nb of your cpu core>"
- build librogamelibs.a
open /rogamelibs/buildtool/build_linux.sh
change icc_path
change cmake command to below
"cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/LINUX.cmake -DCMAKE_BUILD_TYPE=Debug -DGCC=9.2.0 -DGCOV=Off -DASAN=Off -DLSAN=Off -DCMAKE_C_COMPILER=$icc_path/gcc -DCMAKE_CXX_COMPILER=$icc_path/g++ ../.."
then run build_linux.sh
- build libconfiglib.a
open /rogamelibs/table/buildtool/build_linux.sh
change icc_path
change cmake command to below
"cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/LINUX.cmake -DCMAKE_C_COMPILER=$icc_path/gcc -DCMAKE_CXX_COMPILER=$icc_path/g++ ../.."
then run build_linux.sh
- go to /roserver/lib, check both librogamelibs.a and libconfiglib.a link to correct files
- cd /roserver/Build/Debug
- run "make" to build all servers, or you can go to each server folder, then build it one by one
- Comment out the files that are not found in the code (Be patient, it is not too many)
## 6. Configure mysql
- Start mysql
- Run the .sql files under /roserver/exe/sql/create_sql and update_sql
- Add a piece of server information to the gateinfo table under database login
(Example server_id channel state is_open server_name zone_name ipaddr free_ipaddr register_account online_role open_time full_register_time combine_serverid
1 1 1 1 mzx sywc your_server_ip:10110 0 0 2024-04-15 08:00:00 2024-04-15 08:00:00 0)
- **Possible problems:**
- (1) mysql cannot be started
The error message is that there is already a file in a certain folder. Modify the path pointed to by data in /etc/my.cnf.
- (2) mysql query and modify the initial password query and modify
```sh
grep "temporary password" /var/log/mysqld.log
mysqladmin -u root -p oldpasswd password newpasswd
```
- (3) Timestamp default value invalid when running .sql
The most direct way to modify sql_mode
```sh
set sql_mode='';
```
## 7. Configure redis
- configure your redis in /roserver/exe/gsconf/serveronly/game_redis_conf.json
## 8. Generate and modify the server configuration file
- copy my conf.zip file, then unzip to /roserver/Build/Debug/bin
- Modify the xml files of each server in roserver/Build/Debug/bin/conf. Fill in the mysql account password database information.
If you want to start multiple gameservers, copy gs_conf.xml and modify the line information in it.
- copy my run_server_command.zip, then replace start,status and stop with my ones
## 9. Open port for 25009 (default 25001 client port not work for me, no idea why) and 10110 (gate),
## 10. Install screen
## 11. Start the server
```sh
cd ./Build/Debug/bin
./start [any name]
```
screen related commands
```sh
screen -ls //View started servers
screen -r [server name] //Switch to each server window to ensure there are no errors
First ctrl+A and then D to exit the screen
```
2024-04-18 Update:
1. change 3 version numbers in "/roserver/exe/loginconf/version.txt" to "0.2.0.1" (this is client version number)
2. Missing files like below. You can copy from big zip ("Ro\rogamelibs\include\aidebug" and "Ro\rogamelibs\aidebug") or use my attachment. Comment out "shared_data.SerializeToPb" errors
View attachment 259831
3. in /roserver/thirdparty, compile and install liboauth-0.9.4 and libevhtp-1.2.10
4. update step 3
View attachment 259784
friend do you have a new download link? It seems like everyone is broken or unavailable
Download my airbag.zip attachment. Then unzip to "/roserver/gameserver/aidebug", and rebuild librogamelibs.a again.View attachment 259844can you help me?
Thank you, bro, I do confirm the issue when loading GlobalTables.byte is caused by wrong configuration files which was already placed in exe/gsconf after unzip. Just deleted them and relink the files to config folder, and the loading problem would disappear.HI, I think that is because you don't link folders properly. Just go to /roserver/exe/gsconf, and check if all the folders are linked properly from /config View attachment 259824
and also make sure you can build librogamelibs.a and libconfiglib.a, then they are linked correctly
View attachment 259825
Or you can just delete the "ai_debug" folder, and comment them in the CMakeLists.txt.View attachment 259844can you help me?
tx, i`ll try againThank you, bro, I do confirm the issue when loading GlobalTables.byte is caused by wrong configuration files which was already placed in exe/gsconf after unzip. Just deleted them and relink the files to config folder, and the loading problem would disappear.
Or you can just delete the "ai_debug" folder, and comment them in the CMakeLists.txt.
Hi, i wondering you make server on vps or just vmware/vbox?Download my airbag.zip attachment. Then unzip to "/roserver/gameserver/aidebug", and rebuild librogamelibs.a again.
下载airbag.zip附件,解压到"/roserver/gameserver/aidebug", 再重新编译一下librogamelibs.a
I make it on my own physical server. Have you changed the redis ip and password in /roserver/exe/gsconf/serveronly/game_redis_conf.json? Also check if redis works properly, you should be able to see one record in the redis after you enter character selection screenHi, i wondering you make server on vps or just vmware/vbox?
Cause i tried linking config folder still stuck on char select role
Everything looks fine, compiling also correct.
But when i tried to select char, it stucked.
大概就是登入跟gate看似都沒問題 但在選角後就沒有封包回應了
這有方法解嗎 還是你都是純本地端測試
同樣的配置下進入pre韓服測試都是正常的
Comment out those 2 lines, I think those files are only for debug purposes, should be OK to do that.Gameserver compilation error, how to solve the problem
/roserver/gameserver/aidebug/ai_debug_event_processer.cpp: In static member function ‘static bool AIDebugEditorListener::OnAIAfterTick(ROGameLibs::AIDebugEvent&)’:
/roserver/gameserver/aidebug/ai_debug_event_processer.cpp:35:17: error: ‘class ROGameLibs::SharedData’ has no member named ‘SerializeToPb’
35 | shared_data.SerializeToPb(resp.mutable_shared_data());
|
感谢回复编译其他server出现链接器报错Comment out those 2 lines, I think those files are only for debug purposes, should be OK to do that.
View attachment 259888
我已经尝试注释掉这三行,编译没报错了但是最后生成的时候报一大堆链接错误Comment out those 2 lines, I think those files are only for debug purposes, should be OK to do that.
View attachment 259888
I have no idea. I don't think I had this error before.感谢回复编译其他server出现链接器报错
/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: CMakeFiles/gateserver.dir/network/protocolcoder.cpp.o: in function `CProtocolCoder::Encode(char const*, unsigned int, DataBlob&, unsigned int, unsigned int&)':
/roserver/gateserver/network/protocolcoder.cpp:42: undefined reference to `ZlibTool::Compress2(char const*, int, int)'
collect2: error: ld returned 1 exit status
make[2]: *** [bin/gateserver] 错误 1
make[1]: *** [gateserver/CMakeFiles/gateserver.dir/all] 错误 2
make: *** [all] 错误 2
这应该如何解决呢
我已经尝试注释掉这三行,编译没报错了但是最后生成的时候报一大堆链接错误
Can you create a VM ?I have no idea. I don't think I had this error before.