You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
so create an Endpoint connection the playit TCP client, send the claim token and do the handshake. Then fold into a ProxyEndpoint and add to the connector using getDefaultConnectionFactory().newConnection(this, endPoint);
Dynmap users Jetty, we should be able to get the jetty server instance via
getPlugin(DynmapPlugin).core: https://github.com/webbukkit/dynmap/blob/66fe5d4a8b75660f99183cc4e1e2948407a386ec/fabric-1.14.4/src/main/java/org/dynmap/fabric_1_14_4/DynmapPlugin.java#L69
DynmapCore.webServer: https://github.com/webbukkit/dynmap/blob/66fe5d4a8b75660f99183cc4e1e2948407a386ec/DynmapCore/src/main/java/org/dynmap/DynmapCore.java#L102
Then add a custom connector using an AbstractConnector that goes over the TCP tunnel
https://github.com/eclipse/jetty.project/blob/1c242a6849619b46f9a2b4a45d809c37d4f0e419/jetty-server/src/main/java/org/eclipse/jetty/server/AbstractConnector.java#L138
Example implementation
https://github.com/eclipse/jetty.project/blob/1c242a6849619b46f9a2b4a45d809c37d4f0e419/jetty-server/src/main/java/org/eclipse/jetty/server/LocalConnector.java#L112
Should be able to use a ProxyEndpoint that is connected to the playit TCP tunnel
https://www.eclipse.org/jetty/javadoc/jetty-10/org/eclipse/jetty/server/ProxyConnectionFactory.ProxyEndPoint.html
so create an Endpoint connection the playit TCP client, send the claim token and do the handshake. Then fold into a ProxyEndpoint and add to the connector using
getDefaultConnectionFactory().newConnection(this, endPoint);https://github.com/eclipse/jetty.project/blob/1c242a6849619b46f9a2b4a45d809c37d4f0e419/jetty-server/src/main/java/org/eclipse/jetty/server/LocalConnector.java#L118