Jump to content
Compatible Support Forums
Sign in to follow this  
OldSpiceAP

Help requested! ip masq for directplay port for Kernel 2.4 Anyone with programmi

Recommended Posts

Alright - let me first just apologize for the like of this post - in retrospect it isn't that helpful. Hopefully the next few lines are more clear. Here is my deal. I and many of my friends love the game Age of Empires II and its expansion. Using the latest CVS from transgaming's project Cedega (formerly known as winex) I was able to get the game running adequately in linux, with just a few minor font irritations. Nothing to stop the game from being fully playable. The problem here is this - AOEII uses directplay 6 for its multi-player support. For me and 8 other people this little game keeps windoze on our hard disks. We would all gladly wipe it away if we could just get multi-player working. I have searched the net for hours upon hours. At first it was disappointing. Both wine and cedega(winex) have minimal if any support for directplay. There was little talk of spurring its development, and no apparant project to complete its implementation. It seemed a wasted effort. Sad times. Then, when all seemed lost, I came across an intersting project. The DirectPlay Masquerading Module appeared to be the answer to my problems. Posts even reported using Age of Empires II with it with no problems - the exact game I wish to play. I eagerly downloaded it and attempted to compile it. Unfortunately this error appeared: Configure the kernel before compiling the module.

Hmmm - seems straightforeward enough... but configure it for what? Readme files were no help. Then I noted on the website, that it was only for the 2.2 linux kernel. And I use a 2.4 kernel and a 2.6 kernel (choose at boot). I don't really want to have to add a 2.2 kernel to it too, as most every module I have isn't compiled for it and its a regression I don't want to deal with. The problem seems to arise with the diffence between the kernels use of ip_chains and ip_tables. And worse still, the project was dead. Still, hope remained - the authors last post noted that although it wasn't ported to the 2.4 kernel, doing so wouldn't be difficult. He wrote:

-----------------------------------------------------------------

Finally, somebody has ported one of the 2.2.x masquerading modules over to the 2.4.x iptables system. Or rather, finally I NOTICED. Anyway, with the new(?) ip_nat_ftp module out there to copy fro^H^H^H^H^H^H^H^H inspire me, there's a slight possibility that the dplay module might get ported within the decade.

-----------------------------------------------------------------

 

A little sarcasm there at the end but still, sounds easy right? Well, now I sure wish I knew a little about all those things and even more about programming. I'm pretty computer savy, and can write shell scripts with little though, (they are simple though), but my programming knowledge is uselessly limited. I am requesting anyone ANYONE with programming expirence to help me - I'd like this ported to the 2.4 kernel. If it would get AOE running multi-player I would be the happiest man alive, or close anyways. The other thing about it was that it apparantly worked behind a NAT which we are behind now and can't actually even connect to zone games or anything - but thats ok we just usually play on our lan. Still that would be really cool if it worked out of linux but not windoze.

Now for the real questions!

- Am I crazy in thinking this is the solution to getting mp working in aoeII?

- Is there actually anyone with the knowledge - knowhow - ability - and freetime to actually do the port.

- Would anyone out of the goodness of their hearts just take this up and do it.

 

Thanks in advance to anyone who would help!!

Share this post


Link to post
Share on other sites

I feel your pain. Since the WON servers are no longer operational I can't play Team Fortress on line. They've moved over to "Steam" but I can't get it working. I understand Transgaming is working on it, but who knows when a solution will be found.

 

The only person I know of here that would have the know how to do what you're asking is martouf. Ask him and see what he says..

Share this post


Link to post
Share on other sites

we apologize for the inconvenience.

 

your answer is 42.

 

sorry. the question? 8)

 

you may want to seriously consider adding a 2.2 kernel and only those modules

you really need to run the game in multiplayer mode.

 

an alternative could be to offer yourself up to the author of dplay to help the

porting effort. You're clearly quite motivated, and some projects die only for lack

of motivated participants.

 

how much time and effort are you willing to give the "dplay porting project"?

 

 

Share this post


Link to post
Share on other sites

I'll put in as much time as would be necessary to get this started. I've never participated in such a project before, so I look foreward to putting a good deal of energy in this. What could someone like myself with no programming expirence contribute to the project? The only thing I can think if is testing, and maybe research. I've collected all the old projects source code and the source code to the ip_nat_ftp module - the one that works with the 2.4 kernels.

Share this post


Link to post
Share on other sites

And I know you are correct, but if the answer truely is 42 then what is the question? Certainly not nine times six. Or is it "How many roads must a man walk down?". I think if we can resolve this then we can do anything - everything will just start to work instantly - its the ultimate question. And Linux is ultimately the 42 in all this....I'm being vague yay! P.S. I can't seem to get an e-mail response from the origional author of the 2.2 kernel dplay ip masq.

 

 

 

--So long and thanks for all the fish!

Share this post


Link to post
Share on other sites

does the dplay project have a mailing list?

 

you might have better luck there reaching the author or someone who's been

waiting to revive the project.

 

meanwhile, take a day to go through the source and take extra time looking at each

call to an ipchains function in dplay. As you find each ipchains call, find the

corresponding iptables function. With the original dplay source safely tucked

away elsewhere, edit the source and add the corresponding iptables function call

in a comment (delimited with /* and */ chars). Where variables need new datatypes,

add those definitions

/* within

comment

blocks

*/

 

if after about a day's worth of this workload research the time-to-complete

estimate doesn't look awful, then announce the good news here there and

everywhere.

 

you may find this document helpful.

 

 

Share this post


Link to post
Share on other sites

Thank you very much for your advice. I'll see what I can do. This weekend I'm going on a trip to Arkansas, but next weekend I have a 3 day weekend, so I'll get to work on it more then - that said I'm going to look at it tonight. The project has a mailing list but I think its dead. There have been no additions in years. I did note some people who wanted it ported - I'll try contacting them. Thanks for all the advice -I'll get working on it all asap!

Share this post


Link to post
Share on other sites

I got started checking out the source code last night, and it starting to make sense to some degree - are there any places I can go to look up some good documentation on the newer ip tables? I'm also now interested in whether or not the 2.6 kernel made more changes - that is - if I port this to 2.4 will it work with 2.6?

Share this post


Link to post
Share on other sites

in the document I pointed you to in an earlier message

has a "Links and information" section which will point you to the

iptables.org project.

 

If a kernel uses the iptables interface, then that's what it uses.

The interface is the change, not the kernel.

 

iptables code will do what you want on any system with iptables.

 

 

Share this post


Link to post
Share on other sites

Thanks for all the help. Its been quite a learning curve for me, but I think I'm beginning to get a basic understanding of the difference between IP Tables and IP chains. The only difficulty is duplicating thier functions on one another. But the info is out there, and I've figured a few of them out. I don't get compile errors now until a few lines lower, so maybe I'm on the right track.

 

Share this post


Link to post
Share on other sites

One more question - as I work on making changes to the source code, will I have to do anything to the make file? If so - are there are any resources I can read that would give me information on creating and editing a makefile? Anyhoo - thanks for all the help!

 

- So Long and Thanks for all the Fish

Share this post


Link to post
Share on other sites

that's really great!

 

I'm hoping to hear some early testing results in, say, 4 to 6 weeks, then.

 

To answer your question about 'make': yes, I'm quite certain there's an

excellent book.

 

(checking to see if it's still in print...)

 

Oooh! 3rd Edition is due out in December.

 

Here's the link for the 2nd Edition (Oct 1991).

 

You might find a couple of LinuxDevCenter articles useful: intro and advanced.

 

Share this post


Link to post
Share on other sites

Hehe - any hopes of getting the book at a bookstore? I'd pick it up tonight if there is - maybe microcenter..... If not I guess I'll order it online. Thanks for the link! Much appriciated. All the information has been a great help to me!

Share this post


Link to post
Share on other sites

sure, you'll find it in a bookstore..

 

Do you live near a Borders (borders.com), a Barnes & Noble (barnesandnoble.com)?

or maybe you're farther north and live near an Indigo (indigo.ca)?

(a list of my favorites - otherwise any well-stocked College bookstore will do)

 

Share this post


Link to post
Share on other sites

Yea - I think I even have a free gift card to barns and noble. Thanks for the info - I get paid this thursday, so if I can't find my gift card I'll pick it up then. Man this has sure been a learning curve - I'm learning more than I ever thought I would - (or cared to know about directplay).

Share this post


Link to post
Share on other sites

Hey, guys.

 

This sounds very interesting. Correct me if I'm wrong, but does this mean that with this port of DirectPlay, you can play the game from a Linux to a PC?

 

Just wondering.

Share this post


Link to post
Share on other sites

Update - I think I've gotten in over my head. Whew - too much for my brain and limited time. I got all confused - the source code got all messed up - I've had to start over several times. Its good though, because I am learning plenty of new things. Still - I think I'm going to need some actual programming knowledge for me to complete this project. So I'm currently trying to teach myself C Programming. I just made a stellar huge giganticly awsome program that prints HELLO WORLD! - Its so cool. Ok - I'm a bit further than that, but getting confused by octal numbers... weird stuff to me. Anyways, I'm still working on this, but its gonna take some time. Thanks for all the advice everyone - its been most helpful.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×