Author Topic: Outpost 2 v1.3.5 Final & New Game Server  (Read 3456 times)

Offline Leviathan

  • Hero Member
  • *****
  • Posts: 4114
Outpost 2 v1.3.5 Final & New Game Server
« on: January 30, 2015, 06:15:57 PM »
Hi all

With the fixing of the NetFix server and the passing of time I thought it would be a good time to post a new Outpost 2 package and with an installer for convenience of installing and running the game. The last package was posted a few years back. If you don't like the installer just use the Zip file. Extract and Run Outpost2.exe.



Outpost2-135-Final.exe

Outpost2-135-Final.zip

This is the latest package from Outpost2.net (1.3.5) with the settings changed to point to our NetFix server and the Serial option renamed to NetFix. Any major updates for Outpost 2 will be released in a future package.

With this download you can now play multiplayer games by going to Multiplayer > Net Fix. Of course all the previous options still work such as direct IP, LAN and playing over VPN. Thank you to Hooman for letting us host the NetFix server.



If you are looking for players for multiplayer please join us on our IRC chatroom: #Outpost2.

Any questions please ask.
« Last Edit: February 01, 2015, 08:04:00 AM by Leviathan »

Offline TH300

  • Hero Member
  • *****
  • Posts: 1425
    • http://op3game.net
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #1 on: January 30, 2015, 07:28:16 PM »
Everyone please be aware that NetFix won't work in all situations. Its an easy means to start games and I personally prefer it over vpn, but using it successfully may require some extra tweaks. I wrote a guide that explains them. Unfortunately even that doesn't always work. We'll investigate on remaining issues in the future.

Offline Leviathan

  • Hero Member
  • *****
  • Posts: 4114
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #2 on: January 30, 2015, 07:36:07 PM »
If you want to host games it is suggested that you forward port 47800 UDP. People joining games are not required to forward ports when using NetFix.

Offline Drakmar

  • Full Member
  • ***
  • Posts: 244
  • NTCS Administrator
    • New Terran Command Site
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #3 on: January 31, 2015, 10:16:29 PM »
I got the backup Game Server up and running. Should be located at "newterrancommandsite.com:47800", so give it a test and let me know if I've got any tweaking to do on my end.

Offline TH300

  • Hero Member
  • *****
  • Posts: 1425
    • http://op3game.net
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #4 on: February 01, 2015, 04:08:58 AM »
Thanks for the backup, Drakmar. Thats certainly a good idea.

I'd like to point out, though, that different game servers are not linked to each other. If you host a game with one server, it won't be visible on the other. Hence, its probably the best if the backup is really treated as such.

Offline Drakmar

  • Full Member
  • ***
  • Posts: 244
  • NTCS Administrator
    • New Terran Command Site
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #5 on: February 01, 2015, 04:15:31 AM »
Right. Lev mentioned including my backup in the ini file, but commented out unless needed. Ideally some way for the NetFix patch to recognize when the primary is down and switch automatically could be devised, but until then this is a decent fallback.

Offline Leviathan

  • Hero Member
  • *****
  • Posts: 4114
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #6 on: February 01, 2015, 07:59:32 AM »
Cool cool. Yeah a auto-check and change in ini file would be cool. Would have to do it via some sort of game launcher, it could check the 1st server and then change the ini setting if needed.

I did have some feedback from Simpsonboy77, he said the in game menu says "OPU Ver: 1.34". This is on purpose, the previous 1.3.5 packge says 1.34 on the about window also. I didnt change it for 1.3.5 Final as it would mean checksum errors when trying to play with 1.3.5 and 1.3.5 Final. Compatibility has been kept. So you can either download the new game package or just edit your ini to play on the new netfix server.

Offline Arklon

  • Administrator
  • Hero Member
  • *****
  • Posts: 1109
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #7 on: February 01, 2015, 12:14:14 PM »
Right. Lev mentioned including my backup in the ini file, but commented out unless needed. Ideally some way for the NetFix patch to recognize when the primary is down and switch automatically could be devised, but until then this is a decent fallback.
A better idea might be to have Netfix connect to both servers (plus any number of others), being able to add multiple servers to the ini configuration - that way, if one goes down, the other(s) provide redundancy seamlessly without having to reconfigure stuff.

Edit: The details on how to design the client-server model around the extra servers are more involving of course, especially if you want to have the different servers talk to each other (thus each server is a node of a larger network). I think to start with that you shouldn't worry so much about that part - just have the client query the game list from each server, and you will only see/join games on servers you (successfully) query. Later on it might be cool to have the servers talk to each other; I remember that sometimes netfix wouldn't work for certain people even for just joining (not hosting) unless they port forwarded. It's possible in that situation that it would happen no matter where the server was hosted, but we don't know that for sure. If not, then there's definitely something to be gained by implementing that.

Honestly, I don't know why we haven't implemented UPnP automated port forwarding. Many/most routers these days support UPnP and have it turned on by default, and (among other things) it can set up port forwarding as requested by a program without having to worry about having the login info for the firmware and doing it manually. It'd be a pretty easy fix for a lot of people. Yes, UPnP wasn't really a thing back in 1997, but then routers and NAT weren't widespread back then when it was mostly dialup, and I would think most people actually playing today are using system/router configurations that allow UPnP. It shouldn't be a requirement for those who can't or don't want to use it though.
« Last Edit: February 01, 2015, 07:11:15 PM by Arklon »

Offline Leviathan

  • Hero Member
  • *****
  • Posts: 4114
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #8 on: February 02, 2015, 11:24:44 AM »
Work on linking netfix servers, providing redundancy and such is not a priority. We only have the website hosted on one web server for example so there is no redundancy there and this is incredibly common for websites and other systems on the internet.

Seamlessly redundancy from a client side I do think would be a good idea.

The code for both the NetFix server and client are on the SVN. You are welcome to improve it Arklon.

Offline TH300

  • Hero Member
  • *****
  • Posts: 1425
    • http://op3game.net
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #9 on: February 02, 2015, 11:28:29 AM »
The point in NetFix is (was once) to deprecate Port Forwarding.

Also, the possibility that a software that I download from the www can mess with my router's ports without giving it the login information frightens me. If that is included, it should be optional, yes.

I agree with Leviathan in that linking NetFix servers to each other should not be a priority. Instead, we should focus on making it work with more routers and without Port Forwarding.

Offline Arklon

  • Administrator
  • Hero Member
  • *****
  • Posts: 1109
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #10 on: February 02, 2015, 04:53:21 PM »
The point in NetFix is (was once) to deprecate Port Forwarding.

Also, the possibility that a software that I download from the www can mess with my router's ports without giving it the login information frightens me. If that is included, it should be optional, yes.

I agree with Leviathan in that linking NetFix servers to each other should not be a priority. Instead, we should focus on making it work with more routers and without Port Forwarding.
That's only half of it. The point of Netfix is a) implement NAT punchthrough, a commonly-used technique (since the 2000's anyway) to work around NAT without port forwarding; and b) provide a game browser/lobby similar to WON.

Also, if you are worried about software setting port forwarding settings via UPnP, you are aware that it is commonly used now since the past decade or two, including by Hamachi and many games and other things downloadable from the internet? If you're worried, then you should have disabled UPnP on your router settings forever ago. Indeed, the fact that it allows port settings on the router to be changed without having to auth into the firmware provides an avenue that someone could make a virus to exploit, but you should probably be using a good AV program to deal with exactly that scenario.

As far as Netfix goes, I remember there were some kinks left that were pretty annoying to try to pin down. Aside from situations where it won't work at all on some people's systems, there were some strange mid-game drop bugs and other reliability issues. You can play a game where everything goes without a hitch, yes, but it's hit or miss. The problem is, we'd probably ideally need mass testing done with lots of different to figure out some of the stranger bugs, and even if we have a dozen people to test that still doesn't give all that many data points, which makes it more painstaking.

Offline TH300

  • Hero Member
  • *****
  • Posts: 1425
    • http://op3game.net
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #11 on: February 02, 2015, 05:24:17 PM »
That's only half of it. The point of Netfix is a) implement NAT punchthrough, a commonly-used technique (since the 2000's anyway) to work around NAT without port forwarding; and b) provide a game browser/lobby similar to WON.
Yea, the NetFix lobby is something we all learned to love. It makes life so much easier :)

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 1398
    • LairWorks Entertainment
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #12 on: February 03, 2015, 06:23:25 AM »
Hooman provided the full source to it recently (should be up on the SVN now). I'll be looking at it in the coming weeks and see what we can do to improve functionality.

NAT Punchthrough is, naturally, the point. Having to set up port forward kind of defeats the purpose IMHO so that's where my efforts will be focused.

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 3709
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #13 on: February 03, 2015, 10:25:35 AM »
UPnP is the next logical step to making things more user friendly.

After thinking about it a bit, I don't believe the security implications are of grave concern. Any software running locally could do the same thing. I can see the following cases:
Case 1: Malware is already on the system, and is able to open up the ports in the router itself, without help from Outpost 2.
Case 2: Other exploitable protocols are hosted on the machine. It's possible the port could be opened by Outpost 2, not closed, and then taken by another service which is exploitable. This is would mean starting a network service after Outpost 2, and that network service being configured to use the same port. This is rather unlikely, and almost implies the user doing this on purpose. Plus, if the user is starting another (exploitable) network service, presumably it's because they want some kind of network service. In which case, they'll want connectivity to it. So unless it was only intended to be a LAN service, which is configured to use the same port, and which they started after running Outpost 2, it's probably not an issue. Also note that most versions of Windows use the IANA ephemeral port range 49152-65535, while Windows XP and Windows Server 2003 (before a security patch was applied to use the IANA range) use 1025-5000. Neither range includes the Outpost 2 port of 47800, which means that port will never be selected at random by a network client. The port will only ever be used when requested explicitly. Now the NetFix client does use both port 47800 and ephemeral ports, but you'd likely only use UPnP to forward port 47800.
Case 3: The Outpost 2 network protocol is exploitable. In which case, don't use Outpost 2 to play network games, or fix the problem. Either you want to play Outpost 2 over the network, or you don't. If you want to play, then you need connectivity.

And with that said, if you're still bothered by UPnP, I'm sure all it would take is an extra if statement and an ini setting to disable it. If that's absolutely necessary though, I would propose a default of using UPnP, since that means people don't have to mess with the ini file or configuration settings, which is the whole point of implementing UPnP in the first place.


The purpose of the NetFix has evolved and expanded since it's first inception. It's scary to think back to what the first version was: A textbox to enter the external IP, which would then be written into the executable file as a hardcoded constant. You needed to re-patch every time your external IP changed. Primitive, but it worked. I think the EXE checksum verification had to be disabled for that to work.

The game list came much later, along with further patches to help with NAT punch through for some routers. I'm sure it had a few bugs though. I never really had a good environment for testing that stuff, and could never seem to get any conclusive data back in the logs from people who had problems. I probably wasn't logging enough. It was also a bit painful trying to get corresponding logs back from multiple people. A reporting feature might have helped, but would have taken much more work, and would likely raise some security objections from TH300. :p
« Last Edit: February 03, 2015, 10:27:35 AM by Hooman »

Offline TH300

  • Hero Member
  • *****
  • Posts: 1425
    • http://op3game.net
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #14 on: February 03, 2015, 12:09:53 PM »
As with most good features, its best if they can be disabled. If you don't force something on people, its hard to complain.

And no, I'm not concerned about viruses, but about software that I install that does things which it is not supposed to do. I want control over my computer and attached devices.

Offline Sirbomber

  • Hero Member
  • *****
  • Posts: 3159
    • http://
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #15 on: February 03, 2015, 07:03:00 PM »
No offense TH300, but you're kind of promoting a culture of paranoia here!  We can't stop all progress just because it might be misused for evil.  Sure the risk is there, but you take all kinds of risks just living your day to day life.  And as mentioned before, if it worries you that much, you can disable the option.  Besides, I'd be far more wary of someone reconfiguring the NetFix server to redirect you to another (possibly malicious) server without your knowledge or consent.  I'm sure that nobody here would ever do anything like that, though!
"As usual, colonist opinion is split between those who think the plague is a good idea, and those who are dying from it." - Outpost Evening Star

Outpost 2 Coding 101 Tutorials

"Outpost 2: The Campaigns Are Okay, But The Novella Just Flames Everyone" progress:
Campaign 1 - 40%
Campaign 2 - 0%
Etc. - (insert arbitrary value here)%

It could only cost you your life, and you got that for free!

Offline Arklon

  • Administrator
  • Hero Member
  • *****
  • Posts: 1109
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #16 on: February 04, 2015, 01:36:40 PM »
The purpose of the NetFix has evolved and expanded since it's first inception. It's scary to think back to what the first version was: A textbox to enter the external IP, which would then be written into the executable file as a hardcoded constant. You needed to re-patch every time your external IP changed. Primitive, but it worked. I think the EXE checksum verification had to be disabled for that to work.

The game list came much later, along with further patches to help with NAT punch through for some routers. I'm sure it had a few bugs though. I never really had a good environment for testing that stuff, and could never seem to get any conclusive data back in the logs from people who had problems. I probably wasn't logging enough. It was also a bit painful trying to get corresponding logs back from multiple people. A reporting feature might have helped, but would have taken much more work, and would likely raise some security objections from TH300. :p
Arguably those were 2 entirely separate things under the shared name of NetFix :P I remember that old NetFix patcher, that thing was a pretty sick hack until it was changed to be done automatically at runtime in memory instead of touching the exe directly (and that code is obviously still there or else TCP/IP wouldn't work at all behind a router). That thing predated the WON replacement incarnation of NetFix by quite a few years.

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 3709
Re: Outpost 2 v1.3.5 Final & New Game Server
« Reply #17 on: February 05, 2015, 02:47:49 AM »
It was sick, but it worked, and fairly reliably from what I remember. You're right though, it was something different. I think it had a subtly different name too. Net Patch maybe? I think BlackBox wrote that one, and updated it a few times to automatically discover your external IP address and such. I don't remember it ever not working for someone. At least not if they had port forwarding setup.

The newer patch was basically a rewrite of a certain layer of network code. The new code changed the way connections were formed so it would play nicer with routers. It also included the new window for the game list, and some protocol extensions to support it. Mostly though, it reused a lot of what already existed in terms of packet structure, and the pre-game window.


Sorry to say it TH300, but I too think you're being excessively paranoid. :p But I certainly wouldn't block your request to allow such a feature to be disabled. I might ask you to write the patch though. :p