-
Notifications
You must be signed in to change notification settings - Fork 77
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
Game does not support proxy to download OXPs (Windows) #246
Comments
Is this some gnustep dependency that allows it? I am not sure how to reproduce or test this problem on Windows and, since we are using mostly the some codebase for OXP Manager downloads, I wonder if there is some library that's not getting included in the Windows gnustep linrary. If you can provide some more information on that (especially a test pattern), that would be great. |
I'm just at work, behind a corporate firewall/proxy (ie, non-proxy traffic cannot get out). Tried to set the "HTTP_PROXY" environment variable, but the current version of the game seems to have a problem launching from a command line, so not sure if that would've worked.
Unsure what, if anything, might be needed for Windows gnustep. I know some development environments automatically support proxies, others the developer needs to add specific code to support them. I'll do some more digging and try out OXP Manager too. |
Um.. there's no standalone OXP Manager I can find; is that something obsolete, or did I misunderstand something? |
So basically NSURLConnection (which is used in the code; I just looked) -should- use the System Proxy, but possibly doesn't on Windows. Coding support in would require using the lower-level CFURL classes - which would be non-trivial. Possibly just in the "too hard" basket for now, and perhaps a newer version of gnustep does it properly on Windows (I saw there was some effort to move to a newer GNUStep underway). The current Debian version of Oolite also fails to download the OXP list from behind a proxy. |
I guess I didn't express myself properly; to clarify, I was referring to the in-game OXP Manager and by "same codebase" I meant that both Linux and Windows use more or less the same code in OOOXZManager.m.
No such effort exists as far as I know. |
Ohwait, newer SDL :) NVM... |
Dug into the GNUstep Base ("Foundation") NSURLConnection thing a bit. It goes to NSURLProtocol for the actual loading, and ends up in a certain At the SocketStream level the inet streams, via their socket input/output parents, do have some trying with the GSSOCKS stuff for socks proxies, so that should work both on Unix and Win32. I don't really see how the whole About the CF stuff on GS... CoreBase is, just, never good enough to be the basis for Base yet. |
Meanwhile there is an altternative Expansion Manager: https://github.com/HiranChaudhuri/OoliteStarter/releases |
There is a vaguely existent concept of global proxy settings on Windows. It does not go through environment variables like on *nix; instead, it is technically the "Internet Explorer" proxy settings that you change in Internet Options. (For Windows 10 and up, the same thing is changed by the Proxy Settings in the Win+I settings app.) Programs are generally expected to use these proxy settings. If a program uses WinHttp for its Http job, the IE settings are automatically applied if you use the flag
Well, technically WPAD works on a different level from environment variables altogether. Analogous things also exist on macOS and Linux; it's just that the environment variable solution is working well enough that frameworks with a long history (like GNUStep) does not yet see any urgency in adopting it. WinHttp technically has its own (deprecated) system of "default proxy" separate from the IE proxy settings. But it's pointless and not even Microsoft wants you to use it these days. |
Give it a try. Fork the repository, apply the changes- Oolite will be built automatically by Github. If it works for you, run a pull request. :-) |
Meanwhile there is an altternative Expansion Manager: https://github.com/HiranChaudhuri/OoliteStarter/releases |
Obviously just a "quality-of-life" enhancement since people can manually download OXPs using a web browser, but it would be nice if the game download code could be expanded to use a defined proxy.
Either specify it on the command-line, use the "HTTP_PROXY" environment variable, or use the "System Proxy" (in that priority).
The text was updated successfully, but these errors were encountered: