There is a discussion about ICS on this forum, see the post
ICS Issues?.
The next issue is that the addresses 192.x.x.x are private addresses - they cannot be advertised on the Internet as they are for internal networks. In the case of ICS (and other similar software) the external IP address (of which you will have one) is changed "on the fly" to the internal addresses, thus sharing the Internet connection over multiple PCs.
If the PC running the server is not the one which is actually doing the ICS switching then it will not handle incoming connections, because it doesn't know which PC to forward a request to establish a connection (eg. to port 4000) to.
This can be worked around with some software by a technique called "port forwarding". Basically you configure the switching software to say "if a connection for port 4000 arrives, send it to internal address x.x.x.x (the 192.x.x.x address).
I haven't used ICS but I would look at its configuration to see if it supports such a thing.