Help requested! ip masq for directplay port for Kernel 2.4 Anyone with programmi
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.
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!!
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!!
Participate on our website and join the conversation
This topic is archived. New comments cannot be posted and votes cannot be cast.
Responses to this topic
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..
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..
How should I contact martouf?
--So Long and Thanks for All the Fish
--So Long and Thanks for All the Fish
He'll probably see this post, or you could contact him with a PM...
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"?
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"?
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.
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!
--So long and thanks for all the fish!
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.
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.
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!
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?
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.
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.
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.
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
- So Long and Thanks for all the Fish
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.
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.
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!
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).
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.
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.
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.