Git Product home page Git Product logo

newserv's People

Contributors

clint-david avatar elixir70 avatar fuzziqersoftware avatar jakeprobst avatar matt-swift avatar nolrinale avatar reason44 avatar shiftadeband avatar thediscordian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

newserv's Issues

PSO GC clients unable to connect if pc-login server is disabled

PSO GC clients are unable to connect if the pc-login server is disabled.

I 101659 2022-09-01 23:00:55 - [Server] Client connected: C-1 on fd 21 via 12 (T-9103-PC-gc-us3-pc_console_detect)
W 101659 2022-09-01 23:00:55 - [Server] Error during client initialization: _Map_base::at

Mail function kicks out user

If you attempt to send a message using the mail function to someone who isn't online, it kicks you off the server entirely. The server logs indicate that it couldn't find the client.

Docker contianer?

is there any interest in an "officially maintained" docker container? would that be a huge amount of work to create?

Obligatory: awesome work! what a year of commits that newserv has seen, you're slaying it! Been such a huge fan since back in Khyller 2.x days, and GCARS is just... wow. you MADE code hacking on gamecube. truly truly appreciative of all your effort and talent.

GC: Grinders cause disconnects

Version: ec20506
Client: Gamecube

When using a grinder, the client immediately disconnects. All other players unaffected.

From the log files it appears to indicate that the server thinks the player is not holding an item while using the grinder.

Log file attached. Let me know if you need a full log file. I can do a dedicated session to catch the issue.
output-monogrinder.log

EXP not working correctly in PSO BB

After clearing out several areas of enemies with other players, the Total EXP count still shows 0pt for everyone. I'm not sure if this is a problem with my server configuration or just a bug in newserv.

players can't see each other on the pioneer but in lobby they can

In the "main lobby" players can interact w/ each other perfectly but once in a "quest lobby" players cannot see one another, nor can they start a quest successfully.

1.I've built and installed "phosg" from inside the folder made from phosg-master.zip
2. I ran cmake . && make from inside the folder made from newserv-master.zip
3. I've configured config.json to my internal and ex IP
4. I copied over the "System" folder and the file "./newserv" to the "phosg-master" folder
5. I then ran "sudo ./newserv" in terminal.
6. I connected players successfully to my server
7. I also made sure all required ports were forwarded/opened

Item tracking causing problems in PSO BB

On a newserv instance I run there's a pretty bad problem with users being disconnected when using or picking up items, the cause of which being item tracking.

I 91611 2022-08-02 23:03:48 - [Commands] Received from C-57 (Luma) (version=BB command=0062 flag=00000000)
0000000000000000 | 14 00 62 00 00 00 00 00 5A 03 02 00 0A 00 81 00 |   b     Z
0000000000000010 | 01 00 00 00                                     |
W 91611 2022-08-02 23:03:48 - [Server] Error processing client command: item not present

I 91611 2022-08-02 23:07:43 - [Commands] Received from C-63 (Luma) (version=BB command=0062 flag=00000000)
0000000000000000 | 14 00 62 00 00 00 00 00 5A 03 02 00 12 00 81 00 |   b     Z
0000000000000010 | 01 00 00 00                                     |
W 91611 2022-08-02 23:07:43 - [Server] Error processing client command: item not present

I 91611 2022-08-03 00:12:04 - [Commands] Received from C-69 (Lead) (version=BB command=0062 flag=00000000)
0000000000000000 | 14 00 62 00 00 00 00 00 5A 03 01 00 9F 00 81 00 |   b     Z
0000000000000010 | 01 00 00 00                                     |
W 91611 2022-08-03 00:12:04 - [Server] Error processing client command: inventory is full

I 91611 2022-08-03 00:25:28 - [Commands] Received from C-CC (Lead) (version=BB command=0062 flag=00000001)
0000000000000000 | 14 00 62 00 01 00 00 00 5A 03 01 00 A0 00 81 00 |   b     Z
0000000000000010 | 03 00 00 00                                     |
W 91611 2022-08-03 00:25:28 - [Server] Error processing client command: inventory is full

Some examples of the errors above. I'm disabling item tracking for now to get past this.

Dreamcast (possibly misidentified)

When attempting to connect with a physical Dreamcast. PSO freezes on connect. Based off the log, it looks like it's identifying it as the PC version and not the DC version. I've tried with both the US Version 2 and PAL version 2, same result. Here's a snippet of the log.

I 3188 2022-09-26 15:45:38 - [Config] Loading DOL files
I 3188 2022-09-26 15:45:38 - [FunctionCompiler] Function compiler is not available
I 3188 2022-09-26 15:45:38 - [Config] Creating menus
I 3188 2022-09-26 15:45:38 - [Config] Starting DNS server
I 3188 2022-09-26 15:45:38 - [Config] Opening sockets
I 3188 2022-09-26 15:45:38 - [Config] Starting game server
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 9000 on fd 6 as T-9000-PC-gc-jp10-pc_console_detect
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 9203 on fd 7 as T-9203-PC-gc-eu3-pc_console_detect
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 9202 on fd 8 as T-9202-PC-gc-us12t2-pc_console_detect
I 3188 2022-09-26 15:45:38 - [Config] Starting proxy server
I 3188 2022-09-26 15:45:38 - [ProxyServer:ListeningSocket:5122] Listening on TCP port 5122 (GC) on fd 9
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 5100 on fd 10 as T-5100-GC-console-login-login_server
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 9201 on fd 11 as T-9201-PC-gc-eu11-pc_console_detect
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 9002 on fd 12 as T-9002-PC-gc-jp3te-pc_console_detect
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 5111 on fd 13 as T-5111-PC-pc-lobby-lobby_server
I 3188 2022-09-26 15:45:38 - [ProxyServer:ListeningSocket:5121] Listening on TCP port 5121 (PC) on fd 14
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 9001 on fd 15 as T-9001-PC-gc-jp11-pc_console_detect
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 10000 on fd 16 as T-10000-Patch-pc-patch-patch_server_pc
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 9064 on fd 17 as T-9064-PC-gc-us12t1-pc_console_detect
I 3188 2022-09-26 15:45:38 - [ProxyServer:ListeningSocket:5120] Listening on TCP port 5120 (DC) on fd 18
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 12000 on fd 19 as T-12000-BB-bb-init-data_server_bb
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 9200 on fd 20 as T-9200-PC-gc-eu10-pc_console_detect
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 9103 on fd 21 as T-9103-PC-gc-us3-pc_console_detect
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 5110 on fd 22 as T-5110-GC-console-lobby-lobby_server
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 5101 on fd 23 as T-5101-PC-pc-login-login_server
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 11000 on fd 24 as T-11000-Patch-bb-patch-patch_server_bb
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 9100 on fd 25 as T-9100-PC-gc-us10-pc_console_detect
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 9003 on fd 26 as T-9003-PC-gc-jp3-pc_console_detect
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 5112 on fd 27 as T-5112-BB-bb-lobby-lobby_server
I 3188 2022-09-26 15:45:38 - [ProxyServer:ListeningSocket:5123] Listening on TCP port 5123 (XB) on fd 28
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 12004 on fd 29 as T-12004-BB-bb-data1-data_server_bb
I 3188 2022-09-26 15:45:38 - [ProxyServer:ListeningSocket:5124] Listening on TCP port 5124 (BB) on fd 30
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 9300 on fd 31 as T-9300-PC-pc-pc_console_detect
I 3188 2022-09-26 15:45:38 - [Server] Listening on TCP interface 12005 on fd 32 as T-12005-BB-bb-data2-data_server_bb
I 3188 2022-09-26 15:45:38 - [Config] Ready
newserv> I 3188 2022-09-26 15:48:10 - [Server] Client connected: C-1 on fd 33 via 20 (T-9200-PC-gc-eu10-pc_console_detect)
I 3188 2022-09-26 15:48:10 - [Commands] Sending to C-1 (version=PC command=19 flag=00)
0000 | B0 00 19 00 0A 00 01 8D ED 13 00 00 00 00 00 00 |                 
0010 | 00 00 00 00 00 00 00 00 00 19 00 97 00 0A 00 01 |                 
0020 | 8D EC 13 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
0030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
0060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
0080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
0090 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 
00A0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |                 

PSO GC - Player 1 is added as player 2

Latest version #(f1d10b7) adds player 1 in the player 2 spot. Does not cause any functional issues (only minimal testing completed).

Player has blue tag and appears in player 2 spot during/after cut scenes/warps (i.e. player is off center). Need to test with second player and proxy still.

Dolphin And Pso

Hi,
Im trying to setup a test server for pso on a vm and testing it on dolphin (Os Main Windows - VM guest debian)

But it cannot connect and gives me an error 102 and the server gives no logs about the game connecting.

Thank You for helping.

Caching patch server file metadata serverside

As of right now it seems that every time newserv starts it needs to reprocess the entire patch server data directory (which usually hasn't changed), making it take around a minute for the server to start. It would be great if it could cache the contents of the folder so startup doesn't take as long on subsequent runs.

Recommendations on best place to add logging?

I am looking to add a server logging function as I am currently just using "script" to pipe all information into a large log file. Ideally I would like to run logging all the time while playing then be able to quickly check if any unimplemented commands pop up. Then I can go isolate what they are and correct after the fact. Being able to turn on/off on the fly is just a bonus.

My plan is to add a new command in ServerState.cc (logging) with the options "all", "only_error", "off" which looks straightforward, but I am unsure of where to actually add the function to redirect the shell outputs to the file. "only_error" would only include any error lines and unimplemented commands in their entirety.

logging function planned to be similar to this:

// writing on a text file
#include <iostream>
#include <fstream>
using namespace std;

int main () {
  ofstream myfile ("example.txt");
  if (myfile.is_open())
  {
    myfile << "This is a line.\n";
    myfile << "This is another line.\n";
    myfile.close();
  }
  else cout << "Unable to open file";
  return 0;
}

Build error in Ubuntu on Pi4 (possibly other ARM SBCs)

Soltuion:
add this line to cmakelist.txt right under Project phosg:
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic")

Error:
[ 37%] Linking CXX executable ToolsTest
/usr/bin/ld: CMakeFiles/ToolsTest.dir/src/ToolsTest.cc.o: in function void parallel_range_thread_fn<unsigned long long>(std::function<bool (unsigned long long, unsigned int)>&, std::atomic<unsigned long long>&, std::atomic<unsigned long long>&, unsigned long long, unsigned int)': /usr/include/c++/8/bits/atomic_base.h:514: undefined reference to __atomic_fetch_add_8'
/usr/bin/ld: CMakeFiles/ToolsTest.dir/src/ToolsTest.cc.o: in function std::__atomic_base<unsigned long long>::operator unsigned long long() const': /usr/include/c++/8/bits/atomic_base.h:396: undefined reference to __atomic_load_8'
/usr/bin/ld: CMakeFiles/ToolsTest.dir/src/ToolsTest.cc.o: in function std::__atomic_base<unsigned long long>::operator=(unsigned long long)': /usr/include/c++/8/bits/atomic_base.h:374: undefined reference to __atomic_store_8'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/ToolsTest.dir/build.make:85: ToolsTest] Error 1
make[1]: *** [CMakeFiles/Makefile2:133: CMakeFiles/ToolsTest.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

license tool

There is no tool to create/edit the required system/licenses.nsi file.

Hi

Hi I Like you project and You Server
I tried to compile and I found this error how can it be solved?
020
021

PSO PC and BB login fails

Other Bug that I noticed while logging into the server automatically is immediately logged out I tried in all versions and above all does not access the lobby and including missing the map dat for the gamecube
022
023

PSO BB login than server crush

newserv> I 2247623 2022-05-12 05:05:30 - [Server] Client fd 31 connected via fd 10 (bb-patch (Patch, patch_server) on port 11000)
I 2247623 2022-05-12 05:05:30 - Sending (version=Patch command=0002 flag=00000000)
0000000000000000 | 4C 00 02 00 50 61 74 63 68 20 53 65 72 76 65 72 | L Patch Server
0000000000000010 | 2E 20 43 6F 70 79 72 69 67 68 74 20 53 6F 6E 69 | . Copyright Soni
0000000000000020 | 63 54 65 61 6D 2C 20 4C 54 44 2E 20 32 30 30 31 | cTeam, LTD. 2001
0000000000000030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000000040 | 00 00 00 00 F6 9B 35 35 50 8E 24 FA | 55P $
I 2247623 2022-05-12 05:05:30 - Received (version=Patch command=0002 flag=00000000)
0000000000000000 | 04 00 02 00 |
I 2247623 2022-05-12 05:05:30 - Sending (version=Patch command=0004 flag=00000000)
0000000000000000 | 04 00 04 00 |
I 2247623 2022-05-12 05:05:30 - Received (version=Patch command=0004 flag=00000000)
0000000000000000 | 70 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 | p
0000000000000010 | 73 61 ** ** ** ** ** 73 00 00 00 00 00 00 00 00 | sas
0000000000000020 | 37 ** ** ** ** ** ** 31 00 00 00 00 00 00 00 00 | 7
**1
0000000000000030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000000040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000000050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000000060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
I 2247623 2022-05-12 05:05:30 - Sending (version=Patch command=0013 flag=00000000)
0000000000000000 | 90 01 13 00 09 00 43 00 37 00 6E 00 65 00 77 00 | C 7 n e w
0000000000000010 | 73 00 65 00 72 00 76 00 20 00 70 00 61 00 74 00 | s e r v p a t
0000000000000020 | 63 00 68 00 20 00 73 00 65 00 72 00 76 00 65 00 | c h s e r v e
0000000000000030 | 72 00 0A 00 0A 00 54 00 68 00 69 00 73 00 20 00 | r T h i s
0000000000000040 | 73 00 65 00 72 00 76 00 65 00 72 00 20 00 69 00 | s e r v e r i
0000000000000050 | 73 00 20 00 6E 00 6F 00 74 00 20 00 61 00 66 00 | s n o t a f
0000000000000060 | 66 00 69 00 6C 00 69 00 61 00 74 00 65 00 64 00 | f i l i a t e d
0000000000000070 | 20 00 77 00 69 00 74 00 68 00 2C 00 20 00 73 00 | w i t h , s
0000000000000080 | 70 00 6F 00 6E 00 73 00 6F 00 72 00 65 00 64 00 | p o n s o r e d
0000000000000090 | 20 00 62 00 79 00 2C 00 20 00 6F 00 72 00 20 00 | b y , o r
00000000000000A0 | 69 00 6E 00 20 00 61 00 6E 00 79 00 0A 00 6F 00 | i n a n y o
00000000000000B0 | 74 00 68 00 65 00 72 00 20 00 77 00 61 00 79 00 | t h e r w a y
00000000000000C0 | 20 00 63 00 6F 00 6E 00 6E 00 65 00 63 00 74 00 | c o n n e c t
00000000000000D0 | 65 00 64 00 20 00 74 00 6F 00 20 00 53 00 45 00 | e d t o S E
00000000000000E0 | 47 00 41 00 20 00 6F 00 72 00 20 00 53 00 6F 00 | G A o r S o
00000000000000F0 | 6E 00 69 00 63 00 20 00 54 00 65 00 61 00 6D 00 | n i c T e a m
0000000000000100 | 2C 00 20 00 61 00 6E 00 64 00 20 00 69 00 73 00 | , a n d i s
0000000000000110 | 20 00 6F 00 77 00 6E 00 65 00 64 00 0A 00 61 00 | o w n e d a
0000000000000120 | 6E 00 64 00 20 00 6F 00 70 00 65 00 72 00 61 00 | n d o p e r a
0000000000000130 | 74 00 65 00 64 00 20 00 63 00 6F 00 6D 00 70 00 | t e d c o m p
0000000000000140 | 6C 00 65 00 74 00 65 00 6C 00 79 00 20 00 69 00 | l e t e l y i
0000000000000150 | 6E 00 64 00 65 00 70 00 65 00 6E 00 64 00 65 00 | n d e p e n d e
0000000000000160 | 6E 00 74 00 6C 00 79 00 2E 00 0A 00 0A 00 4C 00 | n t l y . L
0000000000000170 | 69 00 63 00 65 00 6E 00 73 00 65 00 20 00 63 00 | i c e n s e c
0000000000000180 | 68 00 65 00 63 00 6B 00 20 00 4F 00 4B 00 00 00 | h e c k O K
I 2247623 2022-05-12 05:05:30 - Sending (version=Patch command=0009 flag=00000000)
0000000000000000 | 44 00 09 00 2E 00 00 00 00 00 00 00 00 00 00 00 | D .
0000000000000010 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000000020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000000030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000000040 | 00 00 00 00 |
I 2247623 2022-05-12 05:05:30 - Sending (version=Patch command=0009 flag=00000000)
0000000000000000 | 44 00 09 00 64 61 74 61 00 00 00 00 00 00 00 00 | D data
0000000000000010 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000000020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000000030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000000040 | 00 00 00 00 |
I 2247623 2022-05-12 05:05:30 - Sending (version=Patch command=0009 flag=00000000)
0000000000000000 | 44 00 09 00 73 63 65 6E 65 00 00 00 00 00 00 00 | D scene
0000000000000010 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000000020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000000030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0000000000000040 | 00 00 00 00 |
I 2247623 2022-05-12 05:05:30 - Sending (version=Patch command=000A flag=00000000)
0000000000000000 | 04 00 0A 00 |
I 2247623 2022-05-12 05:05:30 - Sending (version=Patch command=000A flag=00000000)
0000000000000000 | 04 00 0A 00 |
I 2247623 2022-05-12 05:05:30 - Sending (version=Patch command=000A flag=00000000)
0000000000000000 | 04 00 0A 00 |
I 2247623 2022-05-12 05:05:30 - Sending (version=Patch command=0012 flag=00000000)
0000000000000000 | 04 00 12 00 |
I 2247623 2022-05-12 05:05:30 - [Server] Client on fd 31 disconnected
I 2247623 2022-05-12 05:05:31 - [Server] Client fd 31 connected via fd 8 (bb-init (BB, data_server_bb) on port 12000)
I 2247623 2022-05-12 05:05:31 - Sending (version=BB command=0003 flag=00000000)
0000000000000000 | 88 01 03 00 00 00 00 00 50 68 61 6E 74 61 73 79 | Phantasy
0000000000000010 | 20 53 74 61 72 20 4F 6E 6C 69 6E 65 20 42 6C 75 | Star Online Blu
0000000000000020 | 65 20 42 75 72 73 74 20 47 61 6D 65 20 53 65 72 | e Burst Game Ser
0000000000000030 | 76 65 72 2E 20 43 6F 70 79 72 69 67 68 74 20 31 | ver. Copyright 1
0000000000000040 | 39 39 39 2D 32 30 30 34 20 53 4F 4E 49 43 54 45 | 999-2004 SONICTE
0000000000000050 | 41 4D 2E 00 00 00 00 00 00 00 00 00 00 00 00 00 | AM.
0000000000000060 | 00 00 00 00 00 00 00 00 EF 7B 13 72 12 D5 A6 A2 | { r
0000000000000070 | EE BC D4 AC 99 31 35 E2 26 0E DB BF 81 F5 1A 1D | 15 &
0000000000000080 | 2D A5 C8 FB 16 DC 69 AE BD E8 EF B6 24 B4 33 99 | - i $ 3
0000000000000090 | 61 84 DE 5A FA 6D 35 FF 70 62 0F C2 DB FC 35 E8 | a Z m5 pb 5
00000000000000A0 | A4 0F 8B 77 56 74 B3 C1 C3 F1 65 FD AA 4F 3F ED | wVt e O?
00000000000000B0 | 7A 0E 49 F3 8D AC 5E 54 FD 93 1C 97 05 0B 08 AC | z I ^T
00000000000000C0 | 66 00 45 CF 05 02 A2 9F 54 68 69 73 20 73 65 72 | f E This ser
00000000000000D0 | 76 65 72 20 69 73 20 69 6E 20 6E 6F 20 77 61 79 | ver is in no way
00000000000000E0 | 20 61 66 66 69 6C 69 61 74 65 64 2C 20 73 70 6F | affiliated, spo
00000000000000F0 | 6E 73 6F 72 65 64 2C 20 6F 72 20 73 75 70 70 6F | nsored, or suppo
0000000000000100 | 72 74 65 64 20 62 79 20 53 45 47 41 20 45 6E 74 | rted by SEGA Ent
0000000000000110 | 65 72 70 72 69 73 65 73 20 6F 72 20 53 4F 4E 49 | erprises or SONI
0000000000000120 | 43 54 45 41 4D 2E 20 54 68 65 20 70 72 65 63 65 | CTEAM. The prece
0000000000000130 | 64 69 6E 67 20 6D 65 73 73 61 67 65 20 65 78 69 | ding message exi
0000000000000140 | 73 74 73 20 6F 6E 6C 79 20 69 6E 20 6F 72 64 65 | sts only in orde
0000000000000150 | 72 20 74 6F 20 72 65 6D 61 69 6E 20 63 6F 6D 70 | r to remain comp
0000000000000160 | 61 74 69 62 6C 65 20 77 69 74 68 20 70 72 6F 67 | atible with prog
0000000000000170 | 72 61 6D 73 20 74 68 61 74 20 65 78 70 65 63 74 | rams that expect
0000000000000180 | 20 69 74 2E 00 00 00 00 | it.
double free or corruption (!prev)
Aborted

when PSO BB login than server crush

Adding quests ?

So I've successfully installed fuzziqer in Ubuntu. Only thing is that I have some .bin and .Dat quest I want to add. On windows there is a index.ini file but in Ubuntu there is not. Help please

backreference offset beyond beginning of output

Using a Gamecube version, I allow unregistered user for local tests.
I can connect to the server but as soon as I start or download a quest I get either a segfault of newserv or this message in the console:

W 252364 2022-12-10 11:07:39 - [Server] Error processing client command: backreference offset beyond beginning of output
I 252364 2022-12-10 11:07:39 - [Server] Client disconnected: C-1 on fd 35

Do I have to do something with the quest files inside "system"?

GC: Player cannot pick up items while playing on proxy server

Version: #(67b3590)

Player 2 (on proxy server) will pick up item, and nothing happens.

Player 1 (on host server) can see and hear item being picked up by player 2. Item disappears on host server.

From looking at the commands being sent, it appears the item pickup and item destroy commands are not being properly forwarded?

Proxy is setup for port 9100 (using EP 1&2 GC).

GC: Quest menu disconnects

Version: ec20506
Client: Gamecube

When attempting to launch quests, I am able to open the quest menu, but when selecting a type (in this case it was the Control Tower quest type), immediately get a disconnect (sub menu of Control Tower quests is not shown). Log file attached.
output_quest-disconnect.log

PSO BB dressing room resetting player data

After using the dressing room on the character select screen the character's inventory and bank contents get reset, EXP gets reset but not level. I'm not sure if this is intentional.

TFS1.nk size incorrect, abort

I 27749 2022-11-04 17:30:36 - [Config] Loading configuration
I 27749 2022-11-04 17:30:36 - [Config] Added local address: en0
I 27749 2022-11-04 17:30:36 - [Config] Added external address: 192.168.1.53
terminate called after throwing an instance of 'std::runtime_error'
  what():  size of system/blueburst/keys/tfs1.nsk is incorrect
Aborted

No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye

also, it was set +x by default. is that normal?

Better support for PSO BB

Hello! This is less of a specific issue and more regarding general improvement of PSO BB support on newserv. I have a Tethealla-based client and community of around 10 players able to help playtest and report bugs. Is there a faster or more organized way to get these reports to you other than GitHub issues? I'd love to help out in any way I can as it seems no other modern server is close to having good support yet.

Thanks.

Undeclared identifier "parse_netloc()'

I'm getting compile issues with this function. I've tried locating it in phosg to check if it was from there but it couldn't find it. Is it from libevent or declared some where in newserv?
Screen Shot 2020-02-21 at 6 45 32 PM

Connection stability - Item glitch causing disconnects.

Version: 06bab57

Setup:
Player 1 - LAN connection to main server
Player 2 - LAN connection to proxy server which then connects to main server via internet

I have been doing some stability testing, and the current server appears to be less stable than the pre proxy redesign version 20410e7. I have been tracking this for a few versions, and I do not believe it is the proxy server alone that is causing the issues as Player 1 is just as likely to get disconnects as Player 2. I reference the proxy split as it is the last known (to me) stable version. There may be some other bugs (I have had a few random disconnects), but the following is the only one I have isolated so far.

Stability is defined as ~2 hours of continuous playtime without any disconnects or issues.

With the new server after about 15 minutes of playtime, an item (appears to be any random item) will glitch out and cause the player who picks it up to immediately disconnect. Either player can pick the item up and it will immediately disconnect them. If the other player rejoins, the issue can be repeated multiple times by either player. Item is added to inventory before disconnect and remains in inventory after (basically a duplication glitch). If the item is left alone can continue playing without effect.

Only error that the server shows is:
[Server] Error in client stream: item not present

Player.cc Compile Error

Hi fuzziqer,

I just tried to make with the latest commit, but got a different compile error for the Player.cc file when using Ubuntu 18.04.3 LTS
Player.cc:410:31: error: ‘<<’ in boolean context, did you mean ‘<’ ? [-Werror=int-in-bool-context] return (this->item_data1[0] << 16) || (this->item_data1[1] << 8) | this->item_data1[2]; ~~~~~~~~~~~~~~~~~~~~~^~~~~~ cc1plus: all warnings being treated as errors <builtin>: recipe for target 'Player.o' failed make: *** [Player.o] Error 1

I was able to resolve this by editing the file and changing line 410 to:
return (this->item_data1[0] < 16) || (this->item_data1[1] < 8) | this->item_data1[2];

Also, I found another dependency you may want to call out in the readme: 'libevent-dev'.

Thanks for the hard work on this project.

Move patch server messages to config file

I'm running a newserv instance and whenever I want to edit the patch server message I have to recompile the server, it would be very helpful if the message was instead editable from the config file.

Array subscript 16 is outside array bounds

Attempting to build as release causes the following error.

In file included from /home/me/newserv/src/PSOEncryption.hh:11,
                 from /home/me/newserv/src/ProxyServer.hh:15,
                 from /home/me/newserv/src/ProxyCommands.cc:1:
/home/me/newserv/src/Text.hh: In function ‘HandlerResult S_65_67_68(std::shared_ptr<ServerState>, ProxyServer::LinkedSession&, uint16_t, uint32_t, std::str                                                                                                                                                                ing&) [with CmdT = S_JoinLobby_DC_GC_65_67_68_Ep3_EB]’:
/home/me/newserv/src/Text.hh:54:11: warning: array subscript 16 is outside array bounds of ‘ptext<char, 16> [1]’ [-Warray-bounds]
   54 |   for (; s[ret] != 0 && ret < count; ret++) { }
      |          ~^
/home/me/newserv/src/ProxyCommands.cc:1244:25: note: while referencing ‘name’
 1244 |       ptext<char, 0x10> name = cmd.entries[x].disp.name;
      |                         ^~~~

GC: Added PC automatic version detection appears to break GC login

Updated server to 830a151, and the gamecube version (using port 9100) of the game won't correctly connect.

Using a vanilla config.json the game will find the server and then try to connect to the lobby join screen, but then immediately hangs-up for a minute or so then gives error 100 (game disconnected).

On the server side it sends:
newserv> I 8 2022-10-06 21:22:00 - [Server] Client connected: C-1 on fd 35 via 12 (T-9100-PC-gc-us10-pc_console_detect) �[33;1mI 8 2022-10-06 21:22:00 - [Commands] Sending to C-1 (version=PC command=19 flag=00)

and then immediately after:
�[0mW 8 2022-10-06 21:22:00 - [Server] Client caused error 104 (Connection reset by peer) I 8 2022-10-06 21:22:00 - [Server] Client disconnected

If I change port 9100 in config.json to "gc" and "login-server" I am able to get to the lobby join screen and select "join lobby" but then get a similar disconnect.

I can do some more testing to help diagnose, but kinda unsure of what to try with this one.

PSO DC HELP

after hours searching and test i cannot connect to the server, i already tried dns but no results

EMULATOR: flycast

Quest Questions

First off, I have this running on a VM with a bridge and works flawlessly. I keep finding PSO 1&2 quests in gci format and would like to add them to the server. Mainly the Item Creator quest. will the server show the quest or would I have to download it from the server? How does that work with .gci files??

Getting an error when making newserv

Hello,

I'm getting the following errors using the make command for newserv:

[ 2%] Building CXX object CMakeFiles/newserv.dir/src/ProxyCommands.cc.o
/home/devpi/newserv/src/ProxyCommands.cc: In function ‘HandlerResult process_server_60_62_6C_6D_C9_CB(std::shared_ptr, ProxyServer::LinkedSession&, uint16_t, uint32_t, std::string&)’:
/home/devpi/newserv/src/ProxyCommands.cc:691:24: error: comparison is always false due to limited range of data type [-Werror=type-limits]
691 | } else if (data[0] == -0x5E) { // A2
cc1plus: all warnings being treated as errors
make[2]: *** [CMakeFiles/newserv.dir/build.make:368: CMakeFiles/newserv.dir/src/ProxyCommands.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:95: CMakeFiles/newserv.dir/all] Error 2
make: *** [Makefile:160: all] Error 2

I use to be able to build newserv on a raspberry pi with some of your older code. phosg is up and running so I'm not sure where the problem is. Any thoughts welcomed.

Hi I Have Bug Compile the server

I found this problem because I tried to compile and I used it so which dependencies I have to install Including which OS should I use to compile it?
Congratulations on the project anyway! and great job that I played so much in this wonderful game

020
021

Cant Login with PSOBB client

I 1410974 2023-01-05 04:53:41 - [Commands] Sending to C-2 (version=Patch command=13 flag=00)
0000 | 70 01 13 00 09 00 43 00 37 00 6E 00 65 00 77 00 | p C 7 n e w
0010 | 73 00 65 00 72 00 76 00 20 00 70 00 61 00 74 00 | s e r v p a t
0020 | 63 00 68 00 20 00 73 00 65 00 72 00 76 00 65 00 | c h s e r v e
0030 | 72 00 0A 00 0A 00 54 00 68 00 69 00 73 00 20 00 | r T h i s
0040 | 73 00 65 00 72 00 76 00 65 00 72 00 20 00 69 00 | s e r v e r i
0050 | 73 00 20 00 6E 00 6F 00 74 00 20 00 61 00 66 00 | s n o t a f
0060 | 66 00 69 00 6C 00 69 00 61 00 74 00 65 00 64 00 | f i l i a t e d
0070 | 20 00 77 00 69 00 74 00 68 00 2C 00 20 00 73 00 | w i t h , s
0080 | 70 00 6F 00 6E 00 73 00 6F 00 72 00 65 00 64 00 | p o n s o r e d
0090 | 20 00 62 00 79 00 2C 00 20 00 6F 00 72 00 20 00 | b y , o r
00A0 | 69 00 6E 00 20 00 61 00 6E 00 79 00 0A 00 6F 00 | i n a n y o
00B0 | 74 00 68 00 65 00 72 00 20 00 77 00 61 00 79 00 | t h e r w a y
00C0 | 20 00 63 00 6F 00 6E 00 6E 00 65 00 63 00 74 00 | c o n n e c t
00D0 | 65 00 64 00 20 00 74 00 6F 00 20 00 53 00 45 00 | e d t o S E
00E0 | 47 00 41 00 20 00 6F 00 72 00 20 00 53 00 6F 00 | G A o r S o
00F0 | 6E 00 69 00 63 00 20 00 54 00 65 00 61 00 6D 00 | n i c T e a m
0100 | 2C 00 20 00 61 00 6E 00 64 00 20 00 69 00 73 00 | , a n d i s
0110 | 20 00 6F 00 77 00 6E 00 65 00 64 00 0A 00 61 00 | o w n e d a
0120 | 6E 00 64 00 20 00 6F 00 70 00 65 00 72 00 61 00 | n d o p e r a
0130 | 74 00 65 00 64 00 20 00 63 00 6F 00 6D 00 70 00 | t e d c o m p
0140 | 6C 00 65 00 74 00 65 00 6C 00 79 00 20 00 69 00 | l e t e l y i
0150 | 6E 00 64 00 65 00 70 00 65 00 6E 00 64 00 65 00 | n d e p e n d e
0160 | 6E 00 74 00 6C 00 79 00 2E 00 00 00 00 00 00 00 | n t l y .
I 1410974 2023-01-05 04:53:41 - [Commands] Sending to C-2 (version=Patch command=0B flag=00)
0000 | 04 00 0B 00 |
I 1410974 2023-01-05 04:53:41 - [Commands] Sending to C-2 (version=Patch command=09 flag=00)
0000 | 44 00 09 00 2E 00 00 00 00 00 00 00 00 00 00 00 | D .
0010 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0040 | 00 00 00 00 |
I 1410974 2023-01-05 04:53:41 - [Commands] Sending to C-2 (version=Patch command=09 flag=00)
0000 | 44 00 09 00 64 61 74 61 00 00 00 00 00 00 00 00 | D data
0010 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
0040 | 00 00 00 00 |
I 1410974 2023-01-05 04:53:41 - [Commands] Sending to C-2 (version=Patch command=0C flag=00)
0000 | 28 00 0C 00 00 00 00 00 6E 65 77 73 65 72 76 2D | ( newserv-
0010 | 74 65 73 74 2D 62 62 2E 74 78 74 00 00 00 00 00 | test-bb.txt
0020 | 00 00 00 00 00 00 00 00 |
I 1410974 2023-01-05 04:53:41 - [Commands] Sending to C-2 (version=Patch command=0A flag=00)
0000 | 04 00 0A 00 |
I 1410974 2023-01-05 04:53:41 - [Commands] Sending to C-2 (version=Patch command=0A flag=00)
0000 | 04 00 0A 00 |
I 1410974 2023-01-05 04:53:41 - [Commands] Sending to C-2 (version=Patch command=0D flag=00)
0000 | 04 00 0D 00 |
I 1410974 2023-01-05 04:53:41 - [Commands] Received from C-2 (version=Patch command=0F flag=00)
0000 | 10 00 0F 00 00 00 00 00 B0 5F 40 D1 33 00 00 00 | _@ 3
I 1410974 2023-01-05 04:53:41 - [Commands] Received from C-2 (version=Patch command=10 flag=00)
0000 | 04 00 10 00 |
I 1410974 2023-01-05 04:53:41 - File newserv-test-bb.txt is up to date
I 1410974 2023-01-05 04:53:41 - [Commands] Sending to C-2 (version=Patch command=12 flag=00)
0000 | 04 00 12 00 |
I 1410974 2023-01-05 04:53:41 - [Server] Client disconnected: C-2 on fd 35

Issues running download quests in offline mode

So far the server works perfectly as expected, got it running on my external IP with no issues with some port forwarding and running Ubuntu via Windows subsystem for Linux
Currently using real hardware.

The trouble I seem to be having is the game (PSO GC V1.01) cannot detect the quests on the memory card at all. They show up on the card with the correct description. but attempting to load them at the guild counter yields no results. Any thoughts on why this would be the case?

I have an action replay so if I need some special code to input it can be done.

PSO ver. 1.00 can join the server but cannot play any quests

PSO ver. 1.0 0 can join the server but cannot play any quests..
Can you possibly fix this please?

pso plus usa works
pso plus eu works
pso 1.01 usa works
pso 1.01 eu works

Thank you for all the work you've been doing. My friends and I really appreciate it!

Quest won't download, Game breaking server glitches

This could maybe all be caused by non of the quest being able to be downloaded even in solo. Always ends in a softlock

1.players can only connect to each other by the host of the lobby using the "$maxlevel" command otherwise the game sends a message saying "player level to high to join"

2.when the above^ happens. The host can hold b+x+start to reset the game but the guest will still see the host stuck at the quest counter.

3.when above^ happens and the guest leaves the game. Reconnecting the host to the main lobby the host can still see his old lobby up showing 2/4 players without anyone actually being there

4.players can now see each other at quest counter but once selecting a quest to download, the host softlocks and the guest never gets the downloading screen change

This could maybe be a result of me building the servers wrong?

I first built (psosg) then I copied over the folders and files from inside of (masternewserv.zip) over to the (psosg) folder.

I then ran "cmake . && make" inside of the (psosg) folder containing the files built from

can't open file system/blueburst/keys/default.nsk

Hi,
I'm trying to test this out on Ubuntu.
Everything seems to build fine; when I run newserv I get this:

choogie@choogie-msi:~/Desktop/newserv$ ./newserv
I 5160 2020-04-28 17:55:12 - fuzziqer software newserv
I 5160 2020-04-28 17:55:12 - starting network subsystem
I 5160 2020-04-28 17:55:12 - reading network addresses
I 5160 2020-04-28 17:55:12 - found interface: br-9c6bb4f326f5 = 172.18.0.1
I 5160 2020-04-28 17:55:12 - found interface: docker0 = 172.17.0.1
I 5160 2020-04-28 17:55:12 - found interface: lo = 127.0.0.1
I 5160 2020-04-28 17:55:12 - found interface: wlp62s0 = 192.168.1.8
I 5160 2020-04-28 17:55:12 - loading configuration
I 5160 2020-04-28 17:55:12 - added local address: 192.168.1.8
I 5160 2020-04-28 17:55:12 - added external address: en0
terminate called after throwing an instance of 'cannot_open_file'
  what():  can't open file system/blueburst/keys/default.nsk: 2 (Unknown error)
Aborted (core dumped)

How can I bypass this? (as I am only trying to test out Gamecube)

Instructions for external connections

Thanks for this great piece of software. I'm able to get things to work with a GC PSO1+2 on my local network but having issues forwarding external connections to the server. Would it be possible to provide in the main README some basic needs for external connections? For example the ports that need to be open, does port forwarding for a login connection need to happen on a particular port? Also, does an external user need to set their DNS to what is listed as the "ExternalAddress" in the config file? Is it an issue if that's the same as the "LocalAddress" if not using PSO+?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.