Yea, shouldnt be a problem, but here youre going to run into the NAT problem. EQEmu has a pretty goofy problem when dealing with a server running on your NAT/firewall machine. Do a search on NAT, you should find some solutions. The best solution is a code fix and compile, but theres a hack to change your hosts file on your windows box and giving your machine a dynamic name.
The code fix is alot less annoying, but we can't seem to convince a developer to make the addition in the code to make it work right everytime.
Heres the code snippet to change in console.cpp
address.sin_addr.s_addr = htonl(INADDR_ANY);
and put a // in front of it.
Then below that line paste the lines (without the --snip--):
--snip--
// bind only to the address specified as the world address
hostent* bindaddr = gethostbyname(net.GetWorldAddress());
if (bindaddr != NULL)
{
#ifdef WIN32
memcpy ((char FAR *)&(address.sin_addr), bindaddr->h_addr, bindaddr->h_length);
#else
memcpy ((char*)&(address.sin_addr), bindaddr->h_addr, bindaddr->h_length);
#endif
}
else
{
// could not resolve world address... bind to all interfaces then
cout << "Error: could not resolve world address " << net.GetWorldAddress() << endl;
cout << "Listening on INADDR_ANY" << endl;
address.sin_addr.s_addr = htonl(INADDR_ANY);
}
Thank btuch for that one.
|