September 6, 2008

iMega update

Filed under: iMega, Projects — Omega @ 6:47 pm

Let’s start with some background first. A few days ago I got my new laptop. I’m configuring it, moving files around, installing linux, etc etc. And that’s going to take a while to set up properly. So it’s slowing things a bit down at the moment. But the big advantage is that I can now program on my own computer instead of having to do everything on the computer of my brother.

Anyway you probably want to know how iMega is doing. Let’s start with the things that are working right now:

  • Everything is controlled by rcon and/or console commands. People who used rcon before only need to learn what the new commands do in order to use iMega. And it’s easy to install.
  • Works for both HaloPC and HaloCE. However it is designed for halopc so haloce support is limited at the moment.
  • Admins are automaticly recognised by thier cd key hash. Only the players that are added to the admin list can control the server. When executing a command they also need to enter thier password. Every admin has a personal password. Admins also have a “level” between 0 and 10. A level 0 admin can execute any command. This way you can make people real admins (can change server name, maxplayers) and moderators (can’t change name etc but are allowed to kick and ban).
  • It has mapvote. Once the scores are showed, it will send a message to all users that they can vote for the next map. It will send the mapoptions and the users can vote by typing “vote x” in chat (x being the vote option number). Players can only force a mapvote. They can type rockthevote or rtv in chat. Once enough people request a mapvote this way, the server will show the PCR (scores) and players can vote. There are several commands to control mapvote settings.
  • You can control the version of the server. This is similar to the version changer for the client. It is also possible to let any version connect to the server! However, the server will only be listed in a specific version of the client. Other versions will have to use direct ip to join the server.
  • Logger: it creates a logfile. Things that are logged are rcon and console commands, chat message and other important events. This logger of iMega is not “as powerfull” as the default logger of haloCE: currently haloce logs more information (I think at least).

And these are the things that still need to be done:

  • Player Control: Finish votekick and voteban commands. Include option to autokick afk playuers.
  • Include a “FunMod” module: allow users to execute devmode commands. Maybe program some more special commands to allow players to mess around some more. The most important part is designing something so this cannot be abused during matches. I’m currently thinking about a decent solution. But if that takes too long this will not be included in the first version.
  • Make something so the server can send “broadcast messages”. These are messages that are send every 1-5 minutes (clan website link, rules, etc).
  • Let the logger log more events.

Once this is finished the first version of iMega is finished.

On another note, I’m finally able to remove the safedisc v2.7 protection. I did this on halo 1.07. It was a good challenge ;). Using the cracked 1.07 with the version changer and Yelo battery for widescreen support is awesome. But that isn’t the best solution. I prefer to use the latest and updated 1.08 executable. If only those programs would be open source, then we could just change them ourself! I think the halo community should work togheter more. I have an idea for this. Maybe a big idea that is unlikely to succeed, but I might try it anyway… more on this soon.



  1. A thing i’d like in iMega is the ability to force players to switch teams. Could you add that as a command?

    Comment by abyll — September 10, 2008 @ 4:49 am

  2. Oh and for the funmode: why not make it that only admins such level and stronger are allowed to set that? The admin of the server should have enough discretion to use/enable it appropriately

    Comment by abyll — September 10, 2008 @ 4:50 am

  3. I thought up a neat idea to add to iMega: Player Awards, and it’s like this:
    Admins (or whatever admin level of people) can grant players awards or something like that. they do “/award

    The award would be easiest if it’s just a string, that each admin can make up, so it doesnt even need customization for each kind of award.

    And an extension is if iMega could output the list of all awards for players to some file, like an html file.

    Comment by abyll — October 6, 2008 @ 3:46 am

  4. I’ve been trying to implement the logging function on the console using VB.NET2005. No go as StandardOutputRedirect doesn’t work… but if you need any help let me know. ^_^
    james dot churchard at yahoo dot com

    Comment by jammer2552 — December 12, 2008 @ 4:55 am

  5. Yeah output redirection won’t work. The server doesn’t use the “normal” print/output functions of the C/C++ library, they directly use the Win32 API functions AFIAK.

    I heard of a trick to do this without injection a dll: send windows messages to the server screen to select all the text, then a message to copy the text to your clipboard. Then read the clipboard using your program.

    Small overview of Windows Messages: http://www.autohotkey.com/docs/misc/SendMessageList.htm

    I personally prefer a clean injection of a dll though. I find the above trick a bit ugly.

    Comment by Omega — February 16, 2009 @ 12:15 am

  6. Any news on this project? been looking forward to it for a very long time 🙂

    Gonna be the best thing to hit halo since multiplayer was invented lol

    Comment by chemicalmonkey1 — November 18, 2009 @ 10:39 pm

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Blog at WordPress.com.

%d bloggers like this: