PROJECT UPDATE – Infection / zombies

Hey guys, we are able to get auto team switch and weapon assignments working in Halo 2.

Humans are on red team and the player bipeds are Spartans (this is automatically determined). Zombies are green team and their player models are Elites. In the future, they’ll be Flood combat forms 🙂

When a human becomes infected, they are autoswitched to green team and are forced to use the energy sword.

In the future we’ll have automatic Alpha Zombie determination and more weapon choices.

A few steps closer to complete Infection 🙂

Here’s a video:

 

Progress Update – Accounts Required in v0.2.1

While I hate to make things more difficult (as in this system just being a one click solution) for people come v0.2.1 (On the road to v0.3) we will start requiring people to make accounts in order to play with us.

That means you’ll need to register on a website and then login via the launcher.

This is being done for a few different reasons one of which is in order for us to do ranking/stats in the future we’ll need a way to uniquely track users other then just by their name in the game (since this can be spoofed it’s not a reliable method of doing so).

I’m putting this announcement out so that people are aware of it and ready for it when it comes.

With that being covered lets get into the progress of the project so far…

  • Voice Chat

We’re gearing up for a release of a alpha version of this in the next release (v0.2.1) and it’s good, Thanks Rude Yoshi for all the work you’ve contributed so far.

 

  • Banning / Kicking functionality

From what I’ve been told by Rude Yoshi it will function only during the Lobby currently and requires you to enter the appropriate player index but this will be included in v0.2.1, Thanks again Rude Yoshi.

  • Latency displays

Latency still won’t be displayed yet and there won’t be any latency restrictions in this build sorry guys.

  • Map Downloading

Don’t expect this in the up coming release but we’ve made some major progress on it, Thanks Killer Chief for putting the time into testing out and writing the code behind the proof of concept.

  • Improved network code

Yes there is improved network code coming in this build and it should fix a lot of different problems including a bit of the join lag,

  • Improved Server list

The aim is to have this in the v0.2.1 release, there’s been some recent changes to the way it works now in order to reduce bandwidth we used a total of 2TB on our last master server in under a month.

  • Anti-cheat

In regards to anti-cheat some things have been done and we’ll slowly begin seeing people drop off who are cheating, the anti-cheat changes will not be pushed to the source for ‘security’ reasons but I can assure you we’re actively targeting anyone who’s cheating in games where it’s not permitted and monitoring the activity of these people.

Any cheating will result in a ban from the entire project meaning you will not be able to join ANY games not just the server you were cheating on.

With that being said to prepare for the up coming update feel free to go over to http://www.cartographer.online and make an account in advance.

What to look for in the future of Project Cartographer?

Well it’s been awhile since the initial public release of Project Cartographer came out and not much has happened publicly since.

We haven’t been to big on updating this page with news and I think it’s time we offer a little bit of insight on what’s been going on internally development wise as well as how the project is currently doing.

First, The project has been doing extremely well we’re gaining more players by the day and people are loving it. I’m told that things are more stable then they were even when things were running on LIVE and that join lag has improved in comparison.

While some of the players aren’t from the country or speak the language which things are being developed in we can’t offer news to these people because of this in their foreign language we hope that the rest of the community can help deliver news to them for us.

Let me continue by saying I’m really excited with the way things have been going and the attitude the community has been showing towards the project and I truly appreciate it and because of that dedication we’re getting from the small community of players we have we’re able to give back our own dedication to development as well as feel good about giving back to the great community we have, with that being said let me tell you guys what you have to look forward to in the next release of Project Cartographer.

Release v0.3 BETA

This release will be offering a bunch of new goodies to enjoy and thanks to us having another developer joining us “Rude Yoshi” we can make even more things happen within less time.

With that being said I’d like to officially welcome “Rude Yoshi” to the project cartographer development team.

One of the new changes coming with this is that I’ve moved the source code from Gitlab to GitHub and I will be committing the official project cartographer changes actively ( https://github.com/PermaNulled/cartographer ).

If you’re a developer and would like to help us out drop by discord some time, shoot me a message on here GitHub or etc lets make halo 2 great again it was one of my all time favorite games when I was a kid and that’s one of the main reasons I don’t mind bringing it back and getting to enjoy a classic.

With V0.3 (BETA) you have a lot to look forward to but the main things that will catch your eye are,

  • Improved network code
  • Improved server list
  • Integrated Voice chat
  • Infection, Gun Game (Properly supported)
  • Lower latency
  • Faster join times
  • Less join-lag
  • Custom Map downloading
  • Latency displays

For a detailed explanation keep reading…

Improved Network Code

The network code in project cartographer has been completely re-written in order to support halo2 specifically instead of being an XLive universal system which was the original intention during the initial development with this brings us lower latency, faster join times and over all improved game stability.

Improved Server List

Currently the way the server list works is it relies on relaying packets from clients and servers through a “broadcast” server this all works by hacking the network protocol so that when something attempts to send a LAN “broadcast” packet we redirect it to the Project Cartographer “broadcast” server from there it reaches out to the other people playing and the other servers registered in it.

With this came some obvious restrictions such as servers don’t automatically broadcast meaning starting dedicated servers was a rather complicated process where you had to first initiate a connection to the “broadcast” server before actually launching your Dedicated server, the other issues encountered were that with added network latency you wouldn’t always see all of the servers.

On the back-end side of things for us here at Project Cartographer this also meant added latency we’ve used a whopping 150GB in about a week of bandwidth just from usage of the broadcast server, this surely wasn’t intended to be handled this way but the approach itself was a quick proof of concept that we could restore Halo 2 Vista’s multiplayer as well as other XLive games without needing tunneling software and such and that removing GFWL would have a positive impact on things with this being said our intentions are not to circumvent any security which was intended to stop this game from being subject to piracy in any way and we do not condone piracy either.

The only intention of project cartographer is to allow people to play together online where it’s no longer officially supported in a fashion which doesn’t require installing virtual network adapters and introducing security risks to our home networks.

Now,
The actual “improved” part of this comes into play where we scratch the idea of broadcasting packets and start populating the lists our selves.

I’ve reverse engineered the methods which the game uses in order to populate the server list and with this we will start pulling data from that location and that location only.

The idea is rather then having each person talk to servers through a “broadcast” server and things constantly being sent back and fourth in a p2p structure we’ll be delivering things direct from a server list system.

As an example when you start up a dedicated server we’ll simply push the data behind that dedicated server to the master server and your client will request data from there every so often rather then it being instant, some people see this as  bad thing because they won’t see games as quickly or see updated player counts as quickly but it gives us the added benefits of reducing bandwidth on both sides of the spectrum as well as guaranteeing that the list is stable and you don’t see things disappearing while you’re trying to join them.

Integrated Voice chat

With the help of the TeamSpeak SDK we’ve integrated voice chat into the game in a seamless way, this does not mean that you’ll need team-speak installed nor team-speak server.

What will happen is when you host a game your game will in the background automatically open a connection for a team-speak server this will happen with dedicated as well.

Now how this integrates into the game chat and makes it seem as if it were real halo 2 game chat is we reverse engineered the functions that were used when people talked previously and we activate them meaning that while in the game when someone talks you will actually see their microphone light up!

The only thing that will feel different for the average player not on the back-end of it all is that sweet new improved voice quality that GFWL never offered us.

Infection, Gun Game (Properly supported)

This part was a bit confusing because I specifically mentioned (Properly supported) and this was for a reason.

You see Gun Game (Arms Race) already exists in the current builds but there’s no way to activate it other then manually doing so via the INI file… and without that it’s pretty useless.

So on to what I mean by properly supported first then we’ll go into detail about each and how they’ll work…

So the way we’ll be supporting this functionality is most likely by triggering it when a specific game-type is loaded for instance if you create a game type in the game called “Gun Game” we’ll load it during the time that it’s selected to make the whole process smoother, we’ll be doing the same for “Infection” (Zombies).

Now I’ve previously discussed and showed off videos of Gun Game in action and it was quite fun when we did play it, but obviously without the option of turning it on and off and the fact we don’t currently support dedicated servers with it, it’s rarely played.

But what we haven’t discussed is what our plans are for how “Infection” will work…

Infection by tradition is played with two separate teams where one team is the zombies and the other are humans, now halo 2 itself never had actual support for the game type and I believe they had finally added real support into Halo 3.

What we’ll be doing is actually forcing one player to start off on the zombies team and due to the control that was offered with the reverse engineering done while developing gun-game we’ll remove the zombies weapons only giving them the “zombie weapon” which is typically a sword.

While also only giving the humans the typical “human weapon” which was the Shotgun in my experience.

When a player is killed by a zombie not only will we be making sure their teams switch automatically like you would see in the newer series of halo, but we’ll also be playing the “You are infected” sounds along with it to add to the entire experience and we hope it’s one we can all enjoy.

Lower latency

With the improved network code there will be a lot less communication to our master server when attempting to get data about users things will be based more on a p2p aspect which is actually a good thing for the information exchanges we’re dealing with.

With this we can expect that latency will improve to some extent though we can’t really estimate or cover that extent in detail we can tell you it should improve the latency over all.

Faster join times

With the combination of the improved network code and new server list system the time it takes to actually join into a server should be noticeably improved, with this you should also notice a reduced amount of join-lag ( lag which is introduced to other players in a game/server when another player is attempting to join the game ).

Custom Map downloading

The original halo 2 Vista (PC, we shouldn’t even call it vista anymore….) experience while connected to GFWL / LIVE offered custom map downloading when attempting to join a game which had well a custom map…

With the introduction of Project Cartographer we regretfully removed this functionality due to the fact we had transferred things over to using the LAN functionality which never offered this feature.

With the Beta release we hope to re-introduce this feature except this time we’ll be doing it differently from GFWL and we’ll be introducing it in a way where if the map is available on our dedicated servers we’ll be downloading it direct from there instead of P2P based on the server hosting it.

Reducing both bandwidth usage for the server and the time it takes you to download the map it’s a win, win for both sides of the spectrum.

Latency displays

Another feature which Project cartographer regretfully and unintentionally removed besides map downloading was the display of your current latency (ping) as well as those of servers.

This is something we will be tirelessly working to re-implement as we see it as a crucial component to competitive game-play.

With this we will be introducing it in any way we can find possible to do so right now there’s different discussion on different ways we can make this happen but won’t be able to give anymore detail on how this will actually work until we’ve gone over it and have a working implementation.

Right now what we can say is that it will most likely be actual numbers displayed on the screen now instead of the original latency bars which halo offered.

With all of that to look forward to we hope you guys are excited for the future releases of project cartographer and would like to thank you all for playing and making this a fun project to continue developing.

Project Cartographer Public Beta Release

Public beta for the Halo 2 launcher has been released here. Install instructions for the launcher are on the linked Github page. It’s recommended to have a clean install of Halo 2 with the latest update, found in the downloads page of this site (top right corner).

If you already have Halo 2 installed and have connected to GFWL in the last 3 months, then your Halo 2 is most likely fully updated.

When you start Halo 2 using the launcher, you should see white text in the top right corner of the game window, like so:Capaature

The build time may change if xlive.dll is updated, so don’t worry about that.

Verify that Halo 2 has the latest update by going to the main menu, then Settings, About. Version should be 1.0.4.129

Use the Network option to find and create games. If you want to host your own games, you have to port forward UDP ports 1000 to 1006 to your computer and edit a line in xlive.ini (change server=1 to server=0)

If you want to host a dedicated server, that’s a bit more complicated and I’ll make a separate post for that.

Make sure you run Halo 2 using the launcher. It ensures that your network code is updated and able to connect with other people.

Also, hacking will not be tolerated in most servers unless allowed in the server rules. By hacking, I mean any changes to the game code that makes the game unfair to others. FOV hacks and name hacks are tolerated, but no speedhacks or aimbots please. If you are banned, you won’t be able to see any games or host your own, so be careful…

Be sure to thank PermaNull for his work on reverse engineering xlive and making all this possible, and FishPhd for creating the launcher.

More features will be added soon™

Enjoy!

Welcome to Project Cartographer AKA H2V:Online

Welcome to the very first post of the Project Cartographer development site, I’ll be documenting progress and releasing builds here for Project Cartographer.

To explain what Project Cartographer is…

It’s a mod which introduces an alternative to a now unsupported Xbox Live for halo 2 vista, what it allows players to do is simply connect to each other over the LAN menus without the use of any Tunnels such as (Tungle, Hamachi, Evolve, etc).

The halo 2 vista servers went down as of last year and so far there’s been no news of their return ( Halo Way Point Posts Regarding Downtime ) so this project aims to still aide those who want to play online in doing so.

So far the progress is pretty steady with the project and it’s functioning in what we’ll call a beta capacity, a few things that need to be done before a official public release that can happen are as follows.

  • The game needs a launcher which can update, install, remove, and replace the DLL required for the modification as well as adjust a configuration file read by the DLL.
  • The DLL needs to authenticate the user with some sort of back-end so that we’re able to assign users static data rather then generating new data upon each connection.
  • The server and Client(DLL) need to be modified to handle disconnections via some form of heart beat in order to prevent a lot of different bugs from occurring.
  • General stability improvements are needed with the way connections are currently handled to the server.

My goal with creating this blog and this separate website is to remove the nastiness from the Halo 2 community that currently exists with people or otherwise…

I put this project on hiatus because I felt as if there was no point in continuing the development for various reasons ( lack of interest from the community, lack of interest from other developers, and over all dis-regard to the project as if it shouldn’t be done ).

At this point I’ve chosen to ignore all of that and move forward at least offering the most minimal experience possible and what I feel people are interested in to begin with ( Bringing back H2V multiplayer as it was ).

While I can’t bring it back exactly as it was ( The original server browser had latency tracking, filtering, among other things and XLive offered the ability to join games through friends, at one point there was voice chat, the list goes on ), I can sure as hell try in the future as long as the interest is there but for now what you’ll get is in it’s simplest form a hassle free way to play fun matches with friends with no addons gimmicks, tunnels, external software, or bullshit.

I do want to introduce some fun new features such as an automated zombies system, gungame(Arms race), and a few other game modes and possibly expand the ability to manipulate the game engine to everyone else through plugins or scripting, but in the mean time I think what should be done is going back to focusing on the core of things as they are.

Which means improving the stability of what exists and making sure it works 110% and offers the best experience possible, while I’ll be quite limited for time in these recent months, weeks, days I hope to get you all a little something to enjoy really soon here and I’ve also reached out to FishPhD to request that he make a launcher for the project in order to fill in some missing stuff we have now.