1"use strict";(self.webpackChunkpocket_relay_website=self.webpackChunkpocket_relay_website||[]).push([[7297],{2760:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var s=n(5893),r=n(1151);const i={},c="Official servers",o={id:"technical/client/official-servers",title:"Official servers",description:"The official servers are structured very differently than Pocket Relay as they have many distributed servers bound to many different ports.",source:"@site/docs/technical/client/official-servers.md",sourceDirName:"technical/client",slug:"/technical/client/official-servers",permalink:"/docs/technical/client/official-servers",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Hosts file",permalink:"/docs/technical/client/hosts-file"},next:{title:"QOS",permalink:"/docs/technical/client/qos"}},a={},l=[];function h(e){const t={a:"a",h1:"h1",header:"header",p:"p",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"official-servers",children:"Official servers"})}),"\n",(0,s.jsx)(t.p,{children:"The official servers are structured very differently than Pocket Relay as they have many distributed servers bound to many different ports."}),"\n",(0,s.jsx)(t.p,{children:"Keeping all this logic on the server-side can make the server difficulty to host due to all of the different ports and protocols."}),"\n",(0,s.jsx)(t.p,{children:"To counteract this Pocket Relay moves the handling and binding for all these ports over to the client-side instead opting for proxying all the traffic through improved/more secure protocols."}),"\n",(0,s.jsxs)(t.p,{children:["An example of this is the game is still stuck using the SSLv3 protocol which is very un-supported by most of the internet these days. The client combats this my locally handling the SSLv3 connections using the ",(0,s.jsx)(t.a,{href:"https://github.com/jacobtread/blaze-ssl-async",children:"blaze-ssl-async"})," library that was created for this purpose and then the client proxies the connection over TLSv3 using ",(0,s.jsx)(t.a,{href:"/docs/technical/client/connection-upgrading",children:"Connection Upgrading"}),"."]})]})}function d(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>c});var s=n(7294);const r={},i=s.createContext(r);function c(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.