First of all, you are not communicating directly with hosts in other hostels, it's indrect through at least one gateway, more likely two: yours and theirs. Gateways mark the ends of your broadcast domains, which effectively means broadcasts will not carry beyond a gateway. Yet, games, especially the Warcrafts use broadcasts to announce servers. That's why you don't see the servers created by hosts in other hostels; because you are not receiving their broadcasts.
Curiously enough I haven't played with this issue myself, but this is what I can guess and would try:
From the fact that there something like BattleLan that remedies the problem I'd guess the broadcast messages include information of the form "There is an open game of at and ". One your game client has received that broadcast it contacts the server for everything else.
To validate you can use tools like
tcpdump, make them listen on your local network interface card for broadcast traffic and open a game of Warcraft. The programs will capture and display the broadcasts. The packets are most likely addressed to 255.255.255.255 or the hightes IP of your subnet, probably still ending with 255. The IP packet should contain a UDP segmemt, not TCP, but it may still be addressed to port 6112.
Conceptionally, what you need to do is take the UDP-segments from these IP broadcast packets and send them via IP (unicast) to the remote clients that are outside the servers broadcast domain. As you already know IP-unicast will (is meant to) go beyond your gateways all the way to the remote computer.
Depending on the complexity of the protocol Warcraft implements you either really need to capture, extract and send the messages or you can simply create them yourself.
I think there is already an implementation of this here. Adapt/try it and see what it does for you.