Well it's about time you learn something about network and this "port forwarding and stuff".
Like many other games with online support, ManiaPlanet uses different methods of network communication:
- online storage of account related information (connection to the master servers)
- retrieve information about news, events, updates, buddies, gaming servers
- buddy chat
- connection to servers for multiplayer gaming
- skin and mod exchange
And the current network technology is done with data frames in a standardized format, called TCP/IP (Transfer Control Protocol/Internet Protocol).
To start a communication, i.e. to exchange any kind of data, TCP/IP works with client-server requests and responses. And for that, the so called ports are required. The server opens a port, to which the clients can connect.
It is even possible that servers tell the client a second port to switch to, so the primary port is free for other clients very quickly.
The default ports used by ManiaPlanet for this are 2350 and 3450.
There is an additional port, but it is used only by servers for server management.
Since the game client itself can create a game server, and it also acts like a server for the exchange of skins, avatars and honks, your setup must also be able to receive such network requests.
And this is where the port-forwarding and the firewall come into picture.
Normally you should have a router integrated or additional to your network modem (DSL, cable, optical fibre).
The firewall in the router blocks most intrusion accesses, except the standard ports that are absolutely necessary,
and the ports you have to open, e.g. those for ManiaPlanet.
Now you have to understand that your router acts like one address towards the internet, regardless of how many PC or other network devices you have connected to your home network.
This is why you have to tell the router which port needs to be transferred to which PC exactly, here again the ports which are relevant for ManiaPlanet.
If you don't open and don't redirect (forward) those ports, your friends game client will not be able to reach your PC,
and this is most likely why you can't exchange any data.
That you can do online gaming together is due to the fact that the normal client-server communication allows it already (your client connects to the server, and it translates to the clients of your friends).
You could now ask: why is the skin exchange not done also with the servers?
It is done partially, but only the information which skin (its name) and location is exchanged.
But the actual data transfer has to be done directly between the game clients (this is also called P2P- Peer to Peer), to avoid spoiling the network connection to the server, because this would cause many lags and stuttering for everyone then.
It is sometimes better to upload the files you want to exchange (skins/horns/avatars) to a cloud storage (e.g. DropBox).
All you need to do then is to place so called locator files along with your files on your system.
A locator is actually a simple text file that contains only a link to the place where you have uploaded your skin (e.g. use Dropbox, then enter
http://www.dropbox.com/somerandomsstuff ... MySkin.zip), with the name of the skin/horn/avatar (e.g. MySkin.zip) and the additional extension .loc (-> MySkin.zip.loc) .
Actually very simple.
The other ports mentionend in the Wiki are 80 and 443, those are standard HTML server communication ports, and they are also only relevant for servers.