Berserker66 / MultiWorld-Utilities

Berserker's Multiworld
https://archipelago.gg
Other
21 stars 1 forks source link

"connection handler failed" with legacy websockets of Python 3.10 #181

Open IQGobo opened 2 years ago

IQGobo commented 2 years ago

I just cloned the repository, installed the pip dependencies and did some basic player configuration on Manjaro Linux with Python 3.10. Was able start a game on berserkermulti.world and build a patched ROM by providing the path to the .bmbp when executing MultiClient.py. The website reports that the connection from the client is established. Started the ROM in RetroArch with bsnes mercury balanced (also tried performance), network commands and port 55355 are enabled. QUsb2snes is running, http://usb2snes.com/tester/index.html is able to connect and shows the RetroArch version 1.9.14 with the multiworld ROM.

This is my netstat output on the ports regarding QUsb2snes and RA:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:5050            0.0.0.0:*               LISTEN      119693/python       
tcp        0      0 127.0.0.1:37490         127.0.0.1:8080          ESTABLISHED 1826/firefox        
tcp6       0      0 :::8080                 :::*                    LISTEN      112744/QUsb2Snes    
tcp6       0      0 :::23074                :::*                    LISTEN      112744/QUsb2Snes    
tcp6       0      0 127.0.0.1:8080          127.0.0.1:37490         ESTABLISHED 112744/QUsb2Snes    
udp        0      0 0.0.0.0:55355           0.0.0.0:*                           119655/retroarch

However, the WebUI states "not connected" for both SNES and server, I cannot see a connection from MultiClient in neither netstat nor the QUsb2snes debug-log and no activity on the tracker. On the console I started MultiClient.py I noticed this output:

Connecting to multiworld server at ws://archipelago.gg:51412
Connected
--------------------------------
Room Information:
--------------------------------
Server protocol version: 4.1.3
Server protocol tags: Berserker, WebHost
Forfeit setting: goal
Remaining setting: enabled
A !hint costs 40 points and you get 1 for each location checked.
No player connected
No ROM detected, awaiting snes connection to authenticate to the multiworld server (/snes)
connection open
connection handler failed
Traceback (most recent call last):
  File "~/.local/lib/python3.10/site-packages/websockets/legacy/server.py", line 231, in handler
    await self.ws_handler(self)
TypeError: websocket_server() missing 1 required positional argument: 'path'
connection closed

Is this caused by a misconfiguration on my part or an incompatibility regarding Python 3.10 or some dependencies?

Berserker66 commented 2 years ago

This project is discontinued, we've moved onto https://github.com/ArchipelagoMW/Archipelago (which has this fixed)