-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OTCv8 proxy + HAProxy #4860
base: master
Are you sure you want to change the base?
OTCv8 proxy + HAProxy #4860
Conversation
how to determine which proxy to serve for a client that is using a webservice to login? (speaking of version 12+ vanilla client) |
Connection to webservice ex. For 12+ client you must use "proxy launcher app", which you can get ex. from giveria.com client.
This launcher will start server on localhost listening on ports 7171 and 7172 and then run If you are asking about 'how to check which 2 proxy VPSes are used by OTC proxy' with Tibia vanilla client, it's probably impossible right now (except checking transfer per IP with WireShark or other network analysis tool). Webservice has to return IP of OTS set to |
For anyone interested: TFS 1.4 version: |
Pull Request Prelude
Code to read real connection IP from OTCv8 proxy and HAProxy
send-proxy-v2
protocols.Changes also allow owner to edit server IP showed in "server status protocol", so it's possible to add different VPS IP - with
haproxy
running on 7171 - as OTS IP to otservlist etc. = hide real server IP from DDoSers.Goal is to hide IP on which is running OTS, so it can't be DDoSed.
With OTCv8 packets to/from server will go thru multiple proxy VPSes, so you can use multiple anti-DDoS services in same time and as long as any of them keep one proxy online, OTS will be online and does not lag.
Changes Proposed
OTCv8 proxy is proxy system available in: OTCv8, OTCR (Mehah) and real Tibia Client (with extra .exe, more info: mehah/otclient#978 (comment) )
How OTCv8 proxy works
OTC with Proxy System enabled will connect to multiple
haproxy
servers - each can be on other VPS behind other anti-DDoS system.Each second it measures ping to OTS thru each
haproxy
- it measures real ping to OTS machine, not just ping to VPS hostinghaproxy
.If there is any packet to send, OTC sends it thru 2 proxies with lowest ping (duplicates packet).
List of proxy server you must add in
init.lua
of OTC ex.:Then every connection to
127.0.0.1
will be handled by Proxy System and send thru haproxy to OTS server machine.On machine with OTS you must install "OTCv8 Proxy System server side app" (re-host: https://downloads-oracle.ots.me/?dir=data/otcv8-proxy-server).
This server side app will detect duplicated packets and send only first packet that comes with given ID to OTS.
Packets send by OTS will also go thru this app, it will duplicate them and send thru 2
haproxy
servers to OTC.Server side app is compatible with
send-proxy-v2
protocol and may send real IP of player to OTS - without that feature all players would have IP127.0.0.1
on OTS, as connections to OTS come from server side proxy app.How to configure server/OTCv8/haproxy by OTCv8 author:
http://web.archive.org/web/20201109120714/http://otclient.net/showthread.php?tid=438
More info about configuration and other apps required:
mehah/otclient#978