Git Product home page Git Product logo

Comments (10)

a1batross avatar a1batross commented on September 27, 2024 2

from xash3d-fwgs.

mittorn avatar mittorn commented on September 27, 2024 1

from xash3d-fwgs.

d47081 avatar d47081 commented on September 27, 2024

Can I contribute to this issue or it's closed part of the valve folder?

from xash3d-fwgs.

mittorn avatar mittorn commented on September 27, 2024

from xash3d-fwgs.

d47081 avatar d47081 commented on September 27, 2024

I've tried to connect trough DNS, as looks like resolver is defined in net_ws.c and priority given to IPv6 there

it could be useful to provide multiple addresses in priority, e.g. yggapi.duckdns.org/fastdl/...

  1. Yggdrasil / IPv6 address - where data encrypted by default
  2. regular IPv4 address
  3. some another IPv4 address

from xash3d-fwgs.

d47081 avatar d47081 commented on September 27, 2024

Interesting, how does another players skins loading to my client - trough theirs fastdl?

This question about has it a sense to make IPv6 for secure connections or unsecured traffic going from third party requests anyway

from xash3d-fwgs.

d47081 avatar d47081 commented on September 27, 2024

Well, found a time for this subject and drafted some implementation in YGGverse@7ff3e59

I think it useful to have separated option like sv_downloadurl_ipv6 beside default sv_downloadurl

  • to keep old clients compatibility
  • ipv6 option, when provided, loading in higher priority - that allows to use encrypted Yggdrasil connection trough http

Could somebody of core devs check and comment this way, haves it a sense before make any PRs

from xash3d-fwgs.

d47081 avatar d47081 commented on September 27, 2024

Please, help me to complete server side condition to return sv_downloadurl or sv_downloadurl_ipv6 depending of remote IP type. Here is the subject line, but I don't know how to check current connection there
https://github.com/YGGverse/xash3d-fwgs/blob/ipv6-master-support/engine/server/sv_custom.c#L565

It should be something like from.type6 == NA_IP6 but for sv_client_t

void SV_SendResources( sv_client_t *cl, sizebuf_t *msg )
{
...

// is IPv6
if ( from.type6 == NA_IP6 ) // how to?
	url = sv_downloadurl_ipv6.string;

// is IPv4
else 
	url = sv_downloadurl.string;

if ( COM_CheckString( url ) && Q_strlen( url ) < 256 )
{ 
	MSG_BeginServerCmd( msg, svc_resourcelocation );
	MSG_WriteString( msg, url );
}

from xash3d-fwgs.

d47081 avatar d47081 commented on September 27, 2024

Found, it's cl->netchan.remote_address.type6 - struct of sv_client_t passed to this method

from xash3d-fwgs.

d47081 avatar d47081 commented on September 27, 2024

Finally, the task was completed in branch sv-downloadurl-ipv6 PR #1577

Example of server.cfg for documentation:

// fast download
sv_downloadurl_ipv6 "http://[xxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]/fastdl/half-life/" - IPv6/Yggdrasil connections
sv_downloadurl "http://xx.xx.xx.xx/fastdl/half-life/" - clearnet for regular users
sv_allowdownload 1

from xash3d-fwgs.

Related Issues (20)

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.