Thanks for the pointers guys - really appreciated!
To begin with I started off by just copying my single player world over to see what happens. It dropped me into my world (in the middle of the ocean!) without my inventory. It was my world though, which was a good sign! Sadly the nether was a new one though. Although to be honest, I can rebuild my lava pumping station if it comes down to it.
So then I tried the other suggestion - I renamed the server's world to match, deleted the server world folders and then copied my world folder over, complete with its original name. When I ran the server, it then generated new _nether and _the_end folders. This worked even better, because the nether remained intact.
So thanks for your ideas - so far, so good! I now have only two issues to overcome. The first is my inventory, although to be honest I could just dump everything into a chest before copying the world over, so I'm not especially worried about that. The other one, though, is that in the server version, if I now try to look up the recipe for the Ender Chest, or if I try to create one, I get an instant disconnect.
Looking at the server console, it's coming up with a reference to something that doesn't exist. Both single player and server were downloaded from the technic site and I've not dabbled in mods at all - but could I be missing something? Is it worth installing the server again? The only thing I can think of is that the single player version I downloaded a few months ago and it was auto-updated, whereas the server I downloaded today.
This is the error, and the call stack from the console. Any ideas?
22:02:01 [WARNING] Failed to handle packet: java.lang.NullPointerException
java.lang.NullPointerException
at net.minecraft.server.ItemStack.setData(ItemStack.java:153)
at net.minecraft.server.ItemStack.<init>(ItemStack.java:39)
at codechicken.core.PacketCustom.readItemStack(PacketCustom.java:409)
at codechicken.nei.NEIServerPacketHandler.handleGiveItem(NEIServerPacketHandler.java:116)
at codechicken.nei.NEIServerPacketHandler.handlePacket(NEIServerPacketHandler.java:21)
at codechicken.core.CoreUtils.handlePacket(CoreUtils.java:150)
at codechicken.core.PacketCustom.recieve(PacketCustom.java:451)
at net.minecraft.server.mod_CodeChickenCore.onPacket250Received(mod_CodeChickenCore.java:65)
at net.minecraft.server.BaseMod.onPacket250Packet(BaseMod.java:93)
at cpw.mods.fml.server.FMLBukkitHandler.handlePacket250(FMLBukkitHandler.java:407)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:1338)
at net.minecraft.server.Packet250CustomPayload.handle(SourceFile:46)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:234)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:119)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:83)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:579)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:467)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)