I think that the best bet would be to figure out your port forwarding issue by asking about it on Superuser.com. Then set up the server at your house and just run MineCraft from school.
Almost all VPN clients need to create a virtual adapter to create the tunnel. This will require you to have Admin rights on the machine that you want to install the client on. Based on what you have said that is not possible.
Do you have access to the router where you live to try and properly configure the port forwarding? Also are you setting up a standard MineCraft server or using something like Bukkit?
1. Login failure
The login is failing because you haven't bought Minecraft for those accounts. When you buy Minecraft it will be listed as one of your games in your account when you log in on Mojang.com, but until then you don't have a Minecraft login, you just have a login to a website that doesn't do anything except tell you that you haven't bought any games to use it with yet. You can still play in offline mode, since Mojang is not so obtuse as to require you be always-online in order to play Minecraft, unlike some other game publishers. However...
2. Server connection failure
When you connect to a server it will check if your account has a Minecraft registration too, and will drop the connection if not. So there are two times your login is checked for Minecraft access: once when you start the game, and once when you start multiplayer.
Fixing the server connection
The server's behaviour can be modified by editing server.properties
and setting the line:
online-mode=true
to false
instead. The players wanting to connect then pick a name to use consistently (since the server won't enforce identities to match what it has saved in its world files) and "try" to log into the game with that, let it fail, then play offline. Since the server is set to offline mode too, it will allow them to connect under that name.
The problem with this is that anyone can connect – make sure that the server isn't exposed to the internet, and the worst of the complications will be avoided.
The more likely problem though is that you'll have a bit of a headache migrating the kids' work once they have full accounts, since it's likely that the names they pick won't be available to choose once Minecraft is added to the Mojang account (which is when you can pick an official profile name for use in Minecraft). If there are name changes, then you'll have to either walk the child through the idea of losing their inventory and location on the server (blocks they placed will still be there), or you'll have to fiddle with NBT editors to transfer the inventory and location from the old name to the new one in the server's save files. Not hard, either one, but a stumbling block to be aware of.
The real solution here is to register a Mojang account for each child and purchase Minecraft for each account. I understand the desire to test it all out first, but if they already like Minecraft in single player, there aren't really any surprises that come with multiplayer that should change their or your mind. The advantage here is:
You'll immediately get the names that they'll be sticking with (consult and choose wisely, for children are fickle!) and can avoid identity issues in the server's save files.
You'll be able to set custom skins for their avatars, which children inordinately enjoy, in my experience. These are kinda nice in single player, but since they're readily visible in multiplayer they become more relevant when playing with others.
Fewer steps in logging in and connecting to multiplayer where mistakes could happen (a registered account can be remembered with it's password, making logins one-click), which for younger kids can be a bit of a headache-saver for you.
My kid has had an account for a year or so now and loves playing with other people, even if it's only to make random block stacks and randomly-enchanted gear in Creative mode. But then, that's 5-year-olds for you.
Best Answer
If you are in the same network (i.e. connected to the same router and it is set up so you two are really in the same network) you could start the bukkit server on your computer and he can connect using your local IP address.
To get your local IP address, you can use the command prompt. I am assuming you are using windows as your OS. If not, please tell me and i will edit my answer accordingly. I am also assuming that you don't know much about computers. I don't want to anger you in any way so of you do understand much about computers, just ignore this fact.
Now, to open the command prompt, you can open the start menu (or the metro menu, when in Windows 8) and then type
cmd
and hit the enter key.In the command prompt then you can simply type
ipconfig /all
and again hit enter.You will see some information about your network configuration. Now it is important to know which way you are connected to the network: LAN or WLAN? If you are connected via LAN look out for the entry starting with Ethernet. If you are using WLAN look out for an entry starting with Wireless (names may differ since i am using a non-english system).
Either way, the entry block should then containa line with a value IPv4-Address. This is your local network IP address that your boyfriend needs to connect to the server running on your computer.
Please don't forget:
You still need a way to start minecraft and the server has to run in offline mode!
Here is a video that might help with that.
This Question should cover the player name problem.
If you are still having troubles please leave a comment and i will see what i can do.