Full server experience on Raspberry pi?

Any discussion not related to the other forum topics
Totien
Posts: 21
Joined: Mon Jul 06, 2015 7:59 am

Re: Full server experience on Raspberry pi?

Post by Totien » Fri Nov 20, 2015 4:28 pm

That did the trick. :) Compiled the server without issue after that. Had some trouble setting up SQL, but I was trying to get fancy with user and db names. Removed everything and started over with the defaults on the wiki and it worked.

So there you have it. It is entirely possible to compile and run a server on the Raspberry Pi, just be prepared for some troubleshooting along the line. I probably ran into a lot more trouble than most should because I'm using a very different distro than is recommended.

Now to figure out why I get stuck downloading data when connecting to the game. :/ Sitting in the lobby server, I've not even broken .3 processor usage. I'm really interested to see how it handles a few dual boxes smacking on HNMs.

I'm getting error 3001, and I assure you my character is not logged in.

User avatar
kjLotus
Lead Developer
Posts: 1813
Joined: Sun Jul 22, 2012 2:16 pm

Re: Full server experience on Raspberry pi?

Post by kjLotus » Fri Nov 20, 2015 7:17 pm

check your map server output: no output means you messed up your zoneip/port columns in zone_settings, the... yellow message about 0x0A (i forget the exact wording...) is annoying but more or less means try a few times to log in (after your character times out from the map server)

User avatar
whasf
Site Admin
Posts: 1291
Joined: Thu Jul 19, 2012 9:11 pm

Re: Full server experience on Raspberry pi?

Post by whasf » Fri Nov 20, 2015 8:56 pm

Totien wrote:That did the trick. :) Compiled the server without issue after that. Had some trouble setting up SQL, but I was trying to get fancy with user and db names. Removed everything and started over with the defaults on the wiki and it worked.

So there you have it. It is entirely possible to compile and run a server on the Raspberry Pi, just be prepared for some troubleshooting along the line. I probably ran into a lot more trouble than most should because I'm using a very different distro than is recommended.

Now to figure out why I get stuck downloading data when connecting to the game. :/ Sitting in the lobby server, I've not even broken .3 processor usage. I'm really interested to see how it handles a few dual boxes smacking on HNMs.

I'm getting error 3001, and I assure you my character is not logged in.
So you actually were able to connect and play on the server?
-- Whasf

Totien
Posts: 21
Joined: Mon Jul 06, 2015 7:59 am

Re: Full server experience on Raspberry pi?

Post by Totien » Fri Nov 20, 2015 10:19 pm

So you actually were able to connect and play on the server?
Connect to, yes. Play on, no. Not yet anyway, but I won't be able to make any more progress until late Monday.

To be more precise, I was able to create an account, create a character, starting city, etc. and get to the downloading data screen just before the world loads. I got a time out error there, error 3001.

I had a feeling when I ran out of time to work on it today that it had to do with the zoneip, so I'll take a look at that first when I can.

Totien
Posts: 21
Joined: Mon Jul 06, 2015 7:59 am

Re: Full server experience on Raspberry pi?

Post by Totien » Mon Nov 23, 2015 12:05 pm

Ok, so I have 127.0.0.1 in the sql_host parameters, but everywhere else, I have the internal IP.. lan_config.conf and the msg_server_ip values in login_darkstar.conf and map_darkstar.conf. I uncommented allow: all in packet_darkstar_tcp.conf as well. I checked that the zoneip settings are as they should be too.

Nothing has helped.

I'm using Ashita v2. I have the IP following --server in the settings, and when I launch I am given the options I should be to create a character or login. I log in, and can get to the character select screen. This is where things start not to work. My character is not drawn on the screen. I can select the name, and attempt to log in to the world, but I always time out at the ...downloading data... screen, and I'm either given error 3001 or 3305.

User avatar
demolish
Developer
Posts: 262
Joined: Thu Jul 26, 2012 7:12 am

Re: Full server experience on Raspberry pi?

Post by demolish » Mon Nov 23, 2015 12:41 pm

gotta have zone_settings ip point to the server's ip (not localhost/127.0.0.1)

edit: i just reread your post.. check the server console for errors (double check what kjLotus like three posts before this)
<Giblet[NewBrain]> kj with this first step would be fine on my shit
Click here for a guide on scripting missions.

Totien
Posts: 21
Joined: Mon Jul 06, 2015 7:59 am

Re: Full server experience on Raspberry pi?

Post by Totien » Mon Nov 23, 2015 12:53 pm

Gotcha. Sorry, I had to figure out how to check the console.

Code: Select all

pi@retropie ~/darkstar $ screen -r dsgame
[20/Nov] [10:01:10][Info] parse: 00A | 0012 0000 2E from user: Totien
[20/Nov] [10:01:10][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:12][Info] parse: 00A | 0013 0000 2E from user: Totien
[20/Nov] [10:01:12][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:14][Info] parse: 00A | 0014 0000 2E from user: Totien
[20/Nov] [10:01:14][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:16][Info] parse: 00A | 0015 0000 2E from user: Totien
[20/Nov] [10:01:16][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:18][Info] parse: 00A | 0016 0000 2E from user: Totien
[20/Nov] [10:01:18][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:20][Info] parse: 00A | 0017 0000 2E from user: Totien
[20/Nov] [10:01:20][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:22][Info] parse: 00A | 0018 0000 2E from user: Totien
[20/Nov] [10:01:22][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:24][Info] parse: 00A | 0019 0000 2E from user: Totien
[20/Nov] [10:01:24][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:26][Info] parse: 00A | 001A 0000 2E from user: Totien
[20/Nov] [10:01:26][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:28][Info] parse: 00A | 001B 0000 2E from user: Totien
[20/Nov] [10:01:28][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:30][Info] parse: 00A | 001C 0000 2E from user: Totien
[20/Nov] [10:01:30][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:32][Info] parse: 00A | 001D 0000 2E from user: Totien
[20/Nov] [10:01:32][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:34][Info] parse: 00A | 001E 0000 2E from user: Totien
[20/Nov] [10:01:34][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:36][Info] parse: 00A | 001F 0000 2E from user: Totien
[20/Nov] [10:01:36][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:39][Info] parse: 00A | 0020 0000 2E from user: Totien
[20/Nov] [10:01:39][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:41][Info] parse: 00A | 0021 0000 2E from user: Totien
[20/Nov] [10:01:41][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:43][Info] parse: 00A | 0022 0000 2E from user: Totien
[20/Nov] [10:01:43][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:45][Info] parse: 00A | 0023 0000 2E from user: Totien
[20/Nov] [10:01:45][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:47][Info] parse: 00A | 0024 0000 2E from user: Totien
[20/Nov] [10:01:47][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:49][Info] parse: 00A | 0025 0000 2E from user: Totien
[20/Nov] [10:01:49][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:51][Info] parse: 00A | 0026 0000 2E from user: Totien
[20/Nov] [10:01:51][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:53][Info] parse: 00A | 0027 0000 2E from user: Totien
[20/Nov] [10:01:53][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:55][Info] parse: 00A | 0028 0000 2E from user: Totien
[20/Nov] [10:01:55][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:57][Info] parse: 00A | 0029 0000 2E from user: Totien
[20/Nov] [10:01:57][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:01:59][Info] parse: 00A | 002A 0000 2E from user: Totien
[20/Nov] [10:01:59][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:02:01][Info] parse: 00A | 002B 0000 2E from user: Totien
[20/Nov] [10:02:01][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:02:03][Info] parse: 00A | 002C 0000 2E from user: Totien
[20/Nov] [10:02:03][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:02:05][Info] parse: 00A | 002D 0000 2E from user: Totien
[20/Nov] [10:02:05][Warning] Client cannot receive packet or key is invalid: Totien
[20/Nov] [10:03:09][Debug] map_cleanup: Totien timed out, closing session
[20/Nov] [10:03:09][Debug] CZone:: Port_Windurst DecreaseZoneCounter <0> Totien
[20/Nov] [10:11:14][Debug] [Lua] Garbage Collected. Current State Top: 0
[20/Nov] [10:12:02][Debug] UpdateGuildsStock is finished
[20/Nov] [10:12:02][Debug] Player playtime saving finished
[20/Nov] [10:26:14][Debug] [Lua] Garbage Collected. Current State Top: 0
I assume that's the annoying yellow output, but I've tried a good number of times.

User avatar
demolish
Developer
Posts: 262
Joined: Thu Jul 26, 2012 7:12 am

Re: Full server experience on Raspberry pi?

Post by demolish » Mon Nov 23, 2015 2:15 pm

try restarting game server, and then try reconnecting
also, if your accounts_sessions table isn't empty for whatever reason delete the field, fully exit the ffxi client, and reconnect
<Giblet[NewBrain]> kj with this first step would be fine on my shit
Click here for a guide on scripting missions.

Totien
Posts: 21
Joined: Mon Jul 06, 2015 7:59 am

Re: Full server experience on Raspberry pi?

Post by Totien » Mon Nov 23, 2015 2:37 pm

I've restarted the server multiple times. Bear with me while I figure out how to clear that table. I'm still pretty new at this, :oops: coming into it with only like 6 months experience with linux, and none with sql or scripting.

Edit: Figured it out, and it didn't help. I also figured from some searching that I'd try having the character enter from Lower Jueno which also didn't work.

Totien
Posts: 21
Joined: Mon Jul 06, 2015 7:59 am

Re: Full server experience on Raspberry pi?

Post by Totien » Tue Nov 24, 2015 11:38 am

Recent searches of the error on the game server lead me to believe that there was once a problem with the linux build, so I'm running make clean && make | tee buildlog so I can have a better look. I do recall some odd warning as the game server was building, but neglected to address it since it wasn't an actual failure.

Edit: Here's all the warnings that occured during the biuld. Posting them before I've done my research, but I have to go rack mount a Dell Blade. @.@

Code: Select all

g++ -std=c++1y -DHAVE_CONFIG_H -I. -I./src/common      -DdsUDPSERV   -I/usr//include/luajit-2.0   -I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing   -g  -g -O2 -MT dsgame-instance_loader.o -MD -MP -MF .deps/dsgame-instance_loader.Tpo -c -o dsgame-instance_loader.o `test -f 'src/map/instance_loader.cpp' || echo './'`src/map/instance_loader.cpp
src/map/instance_loader.cpp: In member function ‘CInstance* CInstanceLoader::LoadInstance(CInstance*)’:
src/map/instance_loader.cpp:101:3: warning: deprecated conversion from string constant to ‘int8* {aka char*}’ [-Wwrite-strings]
   "SELECT mobname, mobid, pos_rot, pos_x, pos_y, pos_z, \
   ^
src/map/instance_loader.cpp:231:9: warning: deprecated conversion from string constant to ‘int8* {aka char*}’ [-Wwrite-strings]
   Query =
         ^
mv -f .deps/dsgame-instance_loader.Tpo .deps/dsgame-instance_loader.Po

		 
		 
		 
g++ -std=c++1y -DHAVE_CONFIG_H -I. -I./src/common      -DdsUDPSERV   -I/usr//include/luajit-2.0   -I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing   -g  -g -O2 -MT dsgame-merit_points_categories.o -MD -MP -MF .deps/dsgame-merit_points_categories.Tpo -c -o dsgame-merit_points_categories.o `test -f 'src/map/packets/merit_points_categories.cpp' || echo './'`src/map/packets/merit_points_categories.cpp
src/map/packets/merit_points_categories.cpp: In constructor ‘CMeritPointsCategoriesPacket::CMeritPointsCategoriesPacket(CCharEntity*)’:
src/map/packets/merit_points_categories.cpp:80:64: warning: large integer implicitly truncated to unsigned type [-Woverflow]
     MeritPointsCategoriesPacket(PChar, 5 * MAX_MERITS_IN_PACKET);
                                                                ^
mv -f .deps/dsgame-merit_points_categories.Tpo .deps/dsgame-merit_points_categories.Po
		 
		 
		 
		 
g++ -std=c++1y -DHAVE_CONFIG_H -I. -I./src/common      -DdsUDPSERV   -I/usr//include/luajit-2.0   -I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing   -g  -g -O2 -MT dsgame-packet_system.o -MD -MP -MF .deps/dsgame-packet_system.Tpo -c -o dsgame-packet_system.o `test -f 'src/map/packet_system.cpp' || echo './'`src/map/packet_system.cpp
src/map/packet_system.cpp: In function ‘void SmallPacket0x04D(map_session_data_t*, CCharEntity*, CBasicPacket)’:
src/map/packet_system.cpp:1555:18: warning: deprecated conversion from string constant to ‘int8* {aka char*}’ [-Wwrite-strings]
         fmtQuery = "SELECT itemid, itemsubid, slot, quantity, sent, extra, sender, charname FROM delivery_box WHERE charid = %u AND box = %d AND slot < 8 ORDER BY slot;";
                  ^
mv -f .deps/dsgame-packet_system.Tpo .deps/dsgame-packet_system.Po
		 
		 
		 
		 
g++ -std=c++1y -DHAVE_CONFIG_H -I. -I./src/common      -DdsTCPSERV   -I/usr//include/luajit-2.0   -I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing   -g  -g -O2 -MT dsconnect-socket.o -MD -MP -MF .deps/dsconnect-socket.Tpo -c -o dsconnect-socket.o `test -f 'src/common/socket.cpp' || echo './'`src/common/socket.cpp
src/common/socket.cpp: In function ‘void socket_init_tcp()’:
src/common/socket.cpp:1031:31: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
  char *SOCKET_CONF_FILENAME = "./conf/packet_darkstar_tcp.conf";
                               ^
mv -f .deps/dsconnect-socket.Tpo .deps/dsconnect-socket.Po




g++ -std=c++1y -DHAVE_CONFIG_H -I. -I./src/common      -DdsTCPSERV   -I/usr//include/luajit-2.0   -I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing   -g  -g -O2 -MT dsconnect-message_server.o -MD -MP -MF .deps/dsconnect-message_server.Tpo -c -o dsconnect-message_server.o `test -f 'src/login/message_server.cpp' || echo './'`src/login/message_server.cpp
src/login/message_server.cpp: In function ‘void message_server_parse(MSGSERVTYPE, zmq::message_t*, zmq::message_t*, zmq::message_t*)’:
src/login/message_server.cpp:97:23: warning: deprecated conversion from string constant to ‘int8* {aka char*}’ [-Wwrite-strings]
         int8* query = "SELECT server_addr, server_port FROM accounts_sessions LEFT JOIN chars ON \
                       ^
src/login/message_server.cpp:102:27: warning: deprecated conversion from string constant to ‘int8* {aka char*}’ [-Wwrite-strings]
             int8* query = "SELECT server_addr, server_port FROM accounts_sessions WHERE charid = %d LIMIT 1;";
                           ^
src/login/message_server.cpp:111:23: warning: deprecated conversion from string constant to ‘int8* {aka char*}’ [-Wwrite-strings]
         int8* query = "SELECT server_addr, server_port, MIN(charid) FROM accounts_sessions JOIN accounts_parties USING (charid) \
                       ^
src/login/message_server.cpp:119:23: warning: deprecated conversion from string constant to ‘int8* {aka char*}’ [-Wwrite-strings]
         int8* query = "SELECT server_addr, server_port FROM accounts_sessions \
                       ^
src/login/message_server.cpp:126:23: warning: deprecated conversion from string constant to ‘int8* {aka char*}’ [-Wwrite-strings]
         int8* query = "SELECT zoneip, zoneport FROM zone_settings WHERE misc & 1024 GROUP BY zoneip, zoneport;";
                       ^
src/login/message_server.cpp:133:23: warning: deprecated conversion from string constant to ‘int8* {aka char*}’ [-Wwrite-strings]
         int8* query = "SELECT zoneip, zoneport FROM zone_settings GROUP BY zoneip, zoneport;";
                       ^
src/login/message_server.cpp:142:23: warning: deprecated conversion from string constant to ‘int8* {aka char*}’ [-Wwrite-strings]
         int8* query = "SELECT server_addr, server_port FROM accounts_sessions WHERE charid = %d; ";
                       ^
mv -f .deps/dsconnect-message_server.Tpo .deps/dsconnect-message_server.Po




g++ -std=c++1y -DHAVE_CONFIG_H -I. -I./src/common      -DdsTCPSERV   -I/usr//include/luajit-2.0   -I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing   -g  -g -O2 -MT dsconnect-login_auth.o -MD -MP -MF .deps/dsconnect-login_auth.Tpo -c -o dsconnect-login_auth.o `test -f 'src/login/login_auth.cpp' || echo './'`src/login/login_auth.cpp
src/login/login_auth.cpp: In function ‘int32 login_parse(int32)’:
src/login/login_auth.cpp:221:34: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
                 char *fmtQuery = "SELECT max(accounts.id) FROM accounts;";
                                  ^
src/login/login_auth.cpp:249:26: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
                 fmtQuery = "INSERT INTO accounts(id,login,password,timecreate,timelastmodify,status,priv)\
                          ^
mv -f .deps/dsconnect-login_auth.Tpo .deps/dsconnect-login_auth.Po




g++ -std=c++1y -DHAVE_CONFIG_H -I. -I./src/common        -I/usr//include/luajit-2.0   -I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing   -g  -g -O2 -MT dssearch-search.o -MD -MP -MF .deps/dssearch-search.Tpo -c -o dssearch-search.o `test -f 'src/search/search.cpp' || echo './'`src/search/search.cpp
src/search/search.cpp: In function ‘void login_config_default()’:
src/search/search.cpp:419:37: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
     login_config.search_server_port = "54002";
                                     ^
mv -f .deps/dssearch-search.Tpo .deps/dssearch-search.Po

Post Reply