@jinsune Do you know if your external IP adress is for your router or your computer? I know that my external IP is for my router, and every computer under my router goes through that same IP, thus people not on my router couldn't access my computer, just the router. The way I solved that was to use Hamachi. Just download the Unmanaged one (it's free, but you can only connect up to 15 computers I think). Then install it, and after you press the little power button that the program points to, it will give you your Hamachi IP address. Now what you need to do is create a network and remember the password you gave it. Then you need all your friends to download Hamachi also, and join your existing network with the network name and password that you give them. Then you need to change the client's l2.ini , your hosts file, your server.properties file, and your loginserver.properties file all to have your Hamachi IP. Hamachi IP's aren't normal IP"s, and your friends cannot simply try to connect to it without downloading Hamachi and joining your network. I know it doesn't work because I've tried. Anyway, here is the link to Hamachi.
Also, make sure that your friends also change their hosts file and l2.ini file to contain your Hamachi IP.