PDA

View Full Version : Neocron on Mac.



Celotil
19-11-13, 02:10
After a long absence from this game I've decided to start playing it again.

SYSTEM INFO - MacBook Air (Mid 2012, 1.8GHz i5, 4GB RAM, Intel HD 4000) (known from here as MBA).

ROUTER - NB7 POS, bridged (because the NB7 has bugger all RAM and locks up with too many network connections) to an Airport Express (known from here as AExpress) which handles the Internet connection, DHCP, and NAT.

SOFTWARE - OS X 10.9, Macports-installed Wine and Winetricks, Neocron 2.2 (from Neocron site).

I installed Xcode and the Xcode command line tools, agreed to the licence (can't compile anything before that), installed Macports, and installed Wine and Winetricks. Then I used Wine to install Neocron from the setup .exe. Run the launcher and ...

The launcher loaded, downloaded patches. Neocron works, and plays fine through the tutorial. Pew pew.

But I cannot connect to the game server to play.

Obviously *something* connects because after I run through the tutorial and I get kicked back to the login screen, there's an error that "Worldclient : join proxy session failed". I thought maybe the character file had dun goofed so I tried to delete the character and was told the character couldn't be deleted while the user was logged in.

So something connected.

However I can't get by the darkened loading screen that proceeds from connecting to the game server.

If I choose Resume, it kicks me back to the login screen with no error.

If I choose Enter I get that "Worldclient : join proxy session failed" error.

So I suspect it is my ports. Maybe the game is being blocked.

I've looked at my MBA firewall and it's down. I look at the AExpress and there's no port forwarding. I've set up the port forwarding as,

Description: Neocron
Public UDP Ports: 5000-5008
Public TCP Ports: 7000, 8020, 12000
Private IP Address: [MAC reserved DHCP address]
Private UDP Ports: 5000-5008
Private TCP Ports: 7000, 8020, 12000

I suspect though that my syntax could be wrong, even though a brief foray into the Apple forums suggests it's right. The reason I suspect it could be wrong is because the tool at http://www.yougetsignal.com/tools/open-ports/ states that those ports are still closed at my end. I tried changing to just one TCP port and it *still* shows as closed though - this is after the AExpress has been restarted.

My next step is to power down the AExpress for a couple of minutes ... and they're still apparently closed.

Has anyone else had this problem, and how did you fix it (please be descriptive)?

Jipz
19-11-13, 02:54
use wmware

/end of story

aKe`cj
19-11-13, 03:15
use wmware

/end of story

1. It's VMware
2. When I last checked, NC2 via Crossover/Wine ran circles around any Windows VM.

/start of story


Happy to hear the install, launcher and client run fine on your setup - that is actually more than I would have expected (I used to patch a VM or Bootcamp and copy binaries). I'll look into this again once I have a little more time at hand - if you make any progress on the connectivity issue, please keep us posted.

Divide
19-11-13, 05:26
Description: Neocron
Public UDP Ports: 5000-5008
Public TCP Ports: 7000, 8020, 12000
Private IP Address: [MAC reserved DHCP address]
Private UDP Ports: 5000-5008
Private TCP Ports: 7000, 8020, 12000


Looks to me like the client-side port is probably in contest with something else. In my years of play, I have never once needed to forward any port to any client to connect. I have, however, fought with software packages that were occupying the same port that NC wanted to utilize.

The tutorial is client-side, so there is no connectivity present there. The launcher makes an HTTP call, then FTP call to download the patches so, given the nature of TCP, your calling ports are essentially guaranteed to be free. Since NC does not prescribe to the general connectivity model for TCP (it uses a statically defined calling port), you do not have that guarantee. Use the launcher's configuration button to modify the default port used (try setting it to something like 9797) and attempt to connect again. Not being well-versed in OSX, it is difficult to speculate much beyond this. However, given the fact that the OS is BSD-based, there is a high likelihood that a great deal of TCP ports are used for application to application communication.

Divide
20-11-13, 00:08
Also, it is important to keep in mind that a port is only 'open' if there is something actually listening on it. Just because you opened it on your routing devices doesn't mean that the port would test as open. Essentially, the packets used for testing and flowing through your routers and then being rejected by your workstation, resulting in a report of failure/closed port to the 3rd party testing device.

As an update to my previous post, moving the suggested port to a much higher number (like 29797) should reduce the likelihood that your router actually would require a port-forward setting.

Celotil
21-11-13, 09:25
AN UPDATE (Not Working Yet):

I noticed that Dbus was not loading correctly. I fixed that, but it has no effect.

I looked in my [Neocron 2 dir]/logs/errors.log and saw the following (which I know is obviously wrong at the HostIP points),

HostName : BenMacBookAir.local
HostIP : 192.168.2.1
HostIP : 127.12.34.56
HostIP : 127.12.34.56
WINSOCKMGR : Bind recv socket HostIP 0, Addr:16951488, Port:48000
WINSOCKMGR : Bind send socket HostIP 0, Addr:16951488, Port:48001
WINSOCKMGR : Bind recv socket HostIP 1, Addr:941755519, Port:48000
WNSOCKMGR : A process on the machine is already bound to the same fully-qualified address and the socket has not been marked to allow address re-use with SO_REUSEADDR.

So, what I need to figure out is where Neocron is getting that IP info. Presumably from Wine, but where the hell is Wine getting it's info?

I'll post again when I find out (unless someone else knows already).

---

And yes, I did set my global IP to my localhost name (benmacbookair.local AND benmacbookair) but this doesn't affect that HostIP value, even after a reboot or dscache flush.

DaxAra
21-11-13, 11:12
192.168.2.1 should be your macbookair's local IP. (it's also there in my error logs on windows)
As for the other IP, apparently Diablo II under wine try's to go for the same...
http://bugs.winehq.org/show_bug.cgi?id=15422
they say it is an configuration error, not a winebug (so yay, possibilities).

maybe you could try 10.15 and 10.16 from the Wine FAQ and see if that helps.
http://wiki.winehq.org/FAQ#head-f000601e2d4ad173587b19c8d2f097d6dfba8cbe

remember you need to reboot wine (wineboot) afterwards and maybe the whole mac (dont know how mac handles the hosts file, on linux i would have to stop-start networking or reboot to apply it)

aKe`cj
21-11-13, 11:39
(dont know how mac handles the hosts file, on linux i would have to stop-start networking or reboot to apply it)


edit the hosts via:
sudo nano /etc/hosts

If the request was not cached yet, OS X should immediately pick up the setting.
Otherwise the cache must be flushed:

OS X 10.6 or before: sudo dscacheutil -flushcache
OS X 10.7 or newer: sudo killall -HUP mDNSResponder

Celotil
21-11-13, 11:42
I've tried linking my hostname to my LAN IP (192.168.1.101) and my global IP (14.x.x.x), and neither has changed a thing on the [NC2 dir]/logs/Error.log.

When I run,

wine ipconfig

I get,

Ethernet adaptor lo0

Connection-specific DNS suffix. . :
IPv4 address. . . . . . . . . . . : 127.0.0.1
IPv4 address. . . . . . . . . . . : ::1
IPv4 address. . . . . . . . . . . : fe80::1%1
Default gateway . . . . . . . . . :

and,

Ethernet adaptor en0

Connection-specific DNS suffix. . :
IPv4 address. . . . . . . . . . . : 192.168.1.101
IPv4 address. . . . . . . . . . . : fe80::7256:81ff:feb4:4ba3%4
Default gateway . . . . . . . . . : 192.168.1.1

and,

Ethernet adaptor bridge0

Connection-specific DNS suffix. . :
IPv4 address. . . . . . . . . . . : 192.168.2.1
Default gateway . . . . . . . . . :

en0 *should* be the LAN IP to use as far as I know.

And then there's this,

Unknown adaptor utun0

Connection-specific DNS suffix. . :
IPv4 address. . . . . . . . . . . : fe80::9987:fe6:9f83:2b3a%8
IPv4 address. . . . . . . . . . . : fd7d:4054:6932:5214:9987:fe6:9f83:2b3a
Default gateway . . . . . . . . . :

Which I have no clue about. IPV4, but with IPV6-style addressing? That's not right.

Oh,wait. I just had a thought that it might be the Thunderbolt Bridge.

DaxAra
21-11-13, 11:57
could be related: Network Thunderbolt Bridge & Mavericks - https://discussions.apple.com/thread/5498344

as for the IPv6, it does not really matter,
utun0 is a network tunnel device, and bridge0 a network bridge.
probably both forwarding to en0.

since NC is connecting to bridge0, could you check if em0 is part of it?
also check to see if the following has been set (or just set them):
sysctl -w net.inet.ip.forwarding=1
sysctl -w net.inet.ip.fw.enable=1
sysctl -w net.link.ether.inet.proxyall=1


Check with ifconfig that the bridge0 device has appeared now:

bridge0: flags=8863 mtu 1500
ether ac:dc:18:48:20:13
Configuration:
priority 0 hellotime 0 fwddelay 0 maxage 0
ipfilter disabled flags 0x2
member: en0 flags=3
port 4 priority 0 path cost 0
member: en1 flags=3
port 5 priority 0 path cost 0

source: http://www.mulle-kybernetik.com/weblog/2013/01/bridging_a_wireless_and_an_eth.html

Divide
22-11-13, 00:13
Change the port in the launcher configuration and report back. Socket error = port error. The discussion here has gone much further than necessary given the fact that you haven't (or at least haven't told us) tried to change the port the launcher is using.

WooT
25-11-13, 01:27
lol divide - greetz from n30 and damaged ;)

Divide
25-11-13, 03:09
lol divide - greetz from n30 and damaged ;)


wuwu! are any of the collection of you playing at the moment?

Nanook
01-11-14, 00:41
After a long absence from this game I've decided to start playing it again.

SYSTEM INFO - MacBook Air (Mid 2012, 1.8GHz i5, 4GB RAM, Intel HD 4000) (known from here as MBA).

ROUTER - NB7 POS, bridged (because the NB7 has bugger all RAM and locks up with too many network connections) to an Airport Express (known from here as AExpress) which handles the Internet connection, DHCP, and NAT.

SOFTWARE - OS X 10.9, Macports-installed Wine and Winetricks, Neocron 2.2 (from Neocron site).

I installed Xcode and the Xcode command line tools, agreed to the licence (can't compile anything before that), installed Macports, and installed Wine and Winetricks. Then I used Wine to install Neocron from the setup .exe. Run the launcher and ...

The launcher loaded, downloaded patches. Neocron works, and plays fine through the tutorial. Pew pew.

But I cannot connect to the game server to play.

Obviously *something* connects because after I run through the tutorial and I get kicked back to the login screen, there's an error that "Worldclient : join proxy session failed". I thought maybe the character file had dun goofed so I tried to delete the character and was told the character couldn't be deleted while the user was logged in.

So something connected.

However I can't get by the darkened loading screen that proceeds from connecting to the game server.

If I choose Resume, it kicks me back to the login screen with no error.

If I choose Enter I get that "Worldclient : join proxy session failed" error.

So I suspect it is my ports. Maybe the game is being blocked.

I've looked at my MBA firewall and it's down. I look at the AExpress and there's no port forwarding. I've set up the port forwarding as,

Description: Neocron
Public UDP Ports: 5000-5008
Public TCP Ports: 7000, 8020, 12000
Private IP Address: [MAC reserved DHCP address]
Private UDP Ports: 5000-5008
Private TCP Ports: 7000, 8020, 12000

I suspect though that my syntax could be wrong, even though a brief foray into the Apple forums suggests it's right. The reason I suspect it could be wrong is because the tool at http://www.yougetsignal.com/tools/open-ports/ states that those ports are still closed at my end. I tried changing to just one TCP port and it *still* shows as closed though - this is after the AExpress has been restarted.

My next step is to power down the AExpress for a couple of minutes ... and they're still apparently closed.

Has anyone else had this problem, and how did you fix it (please be descriptive)?

I have the exact problem using both Wineskin Winery and Wine from HomeBrew on OS X 10.10 Yosemite. I have narrowed it down to the NC client not making any kind of connection to the game server when I try to log on with a character. I get to the character selection screen but log on ends with a message stating that there is already another client running and using the same local port. I have checked with appropriate tools (tcpdump to be exact) on my firewall/router that the client never sends any data to the game server during the log on attempt. I have no solution to the problem yet.

Just to point out something, "open ports" have double meaning that is lost on most people who don't have the technical knowledge of how TCP/IP works. Open port testing tools like ShielsUP at grc.com test whether you have open ports on the incoming direction on your router. What the instructions for NC are talking about are open ports in the outgoing direction, those can't be tested by those online testing sites. Opening ports on the outgoing direction only comes to play if your router/firewall/proxy is a restrictive one, for most people using the average consumer level routers/modems everything is allowed by default in the outgoing direction and they don't have to worry about opening ports to access something on the internet.

Also if you come across advice that NC needs port forwards on the router to work, ignore that advice, it's completely wrong.

Sobenvalt
17-12-14, 00:18
Frustratingly I'm now in this exact same position. Has anyone found a way around this yet? I am trying the options on the Wine FAQ listed re: editing your /etc/hosts file, but I do NOT have high hopes for this.

xerin
28-12-14, 22:20
bump

Divide
06-01-15, 21:18
You guys need to do some packet captures and upload so we can see where the connection fails. Wine itself isn't truly an environment, so my money is on OSX security features. It is incredibly uncommon for client applications to select a specific port for outgoing traffic, that is normally left to the TCP stack to auto-negotiate. The fact that NC does so could be causing OSX to put it on lockdown.

Ascension
06-01-15, 21:42
install windows 7 on bootcamp, then download and install Neocron, and away you go. Don't bother with wine etc, not worth the compatibility issues etc

Divide
07-01-15, 02:08
install windows 7 on bootcamp, then download and install Neocron, and away you go. Don't bother with wine etc, not worth the compatibility issues etc


lulz I remember when wine was command-only, I finally got it to launch Half-Life/CS with OpenGL/MesaGL support and the damn command was like 3 rows long. Wine is wayyyyyy more simplistic to work with these days.