quote:
the server is java so it's quite resource heavy, particularly RAM
That's a common assumption/misunderstanding.
Java will use as much memory as you give it - if you say it can have a max of 4G, it'll most likely go ahead and reserve that space,
even if it doesn't need it and isn't actually using it.
See here:
http://www.fusion-reactor.com/fr/images/screenshots/MemoryGraph1.gif - it's been assigned upto 500MB and is allocating around 175MB, even though most times it's using less than 50MB and never appears to go over 150MB.
(The specifics will vary, but the general concept is the same with any Java server, afaik.)
The point is, you need to run a Minecraft server and measure how much it is actually using (or even, how it performs without much allocated to it), and then you'll know what you actually need.
It's a pity the server wasn't done as either a WAR or lib/JAR file that could just be plugged in to an existing JEE server, cus then I could plonk it onto my Tomcat and test all this without any hassle.