well for non-dedis you know that the hoster is on and willing to play/discuss improvements/talk so even if there's nobody there you're not alone while waiting for the server to fill up.
as for RPG's having it a dedi and not a CityRPG or some RPG where you spend most of your time building is just asking for people to look for errors/not join, since there's nobody there to start the RPG's role-playing part. its kinda hard to role play alone and not get bored.
You misunderstood the term RPG.
There's a difference between RP and RPG. RP indeed comes in the definition which you implied, which is based around interacting with people. RPG is a scripted environment/game/server, where you're supposed to mine, fight etc. That's why there's Family
RP and City
RPG. The RPG does not require player interaction, even though it's more fun to, it's not required, specially if the RPG is done well. Garry's Mod Stranded is an RPG, you can have lots of fun on your own, too. I will try to add as many elements I can to the RPG to make it more interesting and individualized from others, but I also need a scripter on that subject, which would be a problem.
Currently the Mining system I done for the RPG is very complex and fully out of events, 48 events including VCE in fact, which you can see that it's not just an "ordinary" mining brick.
# Event Saver v0.1 - 04/30/13 12:54:30
X 0ms onPickaxeHit Self VCE_modVariable Brick value Set <var:br:initval>
X 0ms onPickaxeHit Self VCE_modVariable Brick value Random <var:cl:mininglvl>
X 0ms onPickaxeHit Self VCE_ifVariable random == 2 3 4
X 0ms onVariableFalse Self VCE_ifVariable random == 1 5 5
X 0ms onVariableTrue Client VCE_ifVariable mininglvl >= 10 6 12
X 0ms onVariableTrue Client VCE_ifVariable mininglvl >= 0 7 13
X 0ms onVariableFalse Client ChatMessage <font:tahoma:20><color:FFFF00>!<color:FF0000>You need at least mining level 10 to mine this ore.
X 0ms onVariableTrue Self VCE_modVariable Brick damage Set <var:cl:mininglvl>
X 0ms onVariableTrue Self VCE_modVariable Brick damage Divide 2
X 0ms onVariableTrue Self VCE_modVariable Brick damage Floor
X 0ms onVariableTrue Self VCE_modVariable Brick damage Random <var:cl:pickaxelvl>
X 0ms onVariableTrue Self VCE_modVariable Brick health Subtract <var:br:damage>
X 0ms onVariableTrue Self VCE_ifVariable health <= 0 14 20
X 0ms onVariableFalse Client ChatMessage <font:tahoma:20><color:FFFF00>!<color:FF0000>You need at least mining level 0 to mine this ore... The forget?
X 0ms onVariableTrue ID Loadingbrick VCE_loadVariable Client ironore, copperore, mininglvl, pickaxelvl, miningexp, miningexpmax
X 0ms onVariableTrue Self disappear -1
X 0ms onVariableTrue Client ChatMessage <font:tahoma:20><color:00FF00>+<var:br:value> <var:br:orename>.
X 0ms onVariableTrue Client VCE_modVariable <var:br:varname> Add <var:br:value>
X 0ms onVariableTrue Client VCE_modVariable miningexp Add <var:br:value>
X 0ms onVariableTrue Client ChatMessage <font:tahoma:18><color:FFFFFF>Mining exp: <color:FFFF00><var:cl:miningexp>.
X 0ms onVariableTrue Client VCE_ifVariable miningexp >= <var:cl:miningexpmax> 21 27
X 0ms onVariableTrue Client VCE_modVariable mininglvl Add 1
X 0ms onVariableTrue Client VCE_modVariable miningexp Set 0
X 0ms onVariableTrue Client VCE_modVariable miningexpmax Set <var:cl:mininglvl>
X 0ms onVariableTrue Client VCE_modVariable miningexpmax Multiply 10
X 0ms onVariableTrue ID Loadingbrick VCE_saveVariable Client ironore, copperore, mininglvl, miningexp, miningexpmax
X 0ms onVariableTrue Client ChatMessage <font:tahoma:20><color:00FF00>You leveled up your mining level to <var:cl:mininglvl>.
X 0ms onVariableTrue Client ChatMessage <font:tahoma:18><color:FFFF00><var:cl:miningexpmax> exp to the next level.
X 0ms onRelay Self VCE_modVariable Brick spawnchance Set 0
X 0ms onRelay Self VCE_modVariable Brick spawnchance Random 2
X 0ms onRelay Self VCE_ifVariable spawnchance == 1 31 35
X 0ms onVariableFalse Self disappear -1
X 0ms onVariableTrue Self disappear 0
X 0ms onVariableTrue Self VCE_modVariable Brick random Set 1
X 0ms onVariableTrue Self VCE_modVariable Brick random Random 2
X 0ms onVariableTrue Self VCE_ifVariable random == 1 36 42
X 0ms onVariableTrue Self VCE_modVariable Brick health Set 5
X 0ms onVariableTrue Self VCE_modVariable Brick health Random 25
X 0ms onVariableTrue Self VCE_modVariable Brick initval Set 1
X 0ms onVariableTrue Self setColor 0.749020 0.329412 0.164706 1.000000
X 0ms onVariableTrue Self VCE_modVariable Brick orename Set Copper Ore
X 0ms onVariableTrue Self VCE_modVariable Brick varname Set copperore
X 0ms onVariableFalse Self VCE_ifVariable random == 2 43 48
X 0ms onVariableTrue Self VCE_modVariable Brick health Set 25
X 0ms onVariableTrue Self VCE_modVariable Brick health Random 100
X 0ms onVariableTrue Self VCE_modVariable Brick initval Set 2
X 0ms onVariableTrue Self setColor 0.627451 0.576471 0.521569 1.000000
X 0ms onVariableTrue Self VCE_modVariable Brick orename Set Iron Ore
X 0ms onVariableTrue Self VCE_modVariable Brick varname Set ironore
X 0ms onActivate Client ChatMessage Debug HP:<var:br:health> (last damage was <var:br:damage>).
X 0ms onPickaxeHit Player setWhiteOut 0.1
The above can be used by anyone, I don't mind. Regardless, I also want to include an inspector item, so instead of having the instant Debug HP, you would be able to click with the inspector and get the ore & HP info. Additionally what the events does is some algorithms to sustain EXP, damage and value based on the player, and the same brick once "regenerated" can be either generated again under 2 different types: Copper Ore or Iron Ore, on the same brick. The generation would be done by a self-relaying relay brick that every [y] seconds would do them checks and once it's hit, each one of those ore bricks would trigger and have 1 out of 3 chance to spawn; 2 out of 3 to despawn. Basically mines would be spammed by those, and they all can be very different. Individual choices can also yield different health, value and mininglvl requirement for you to mine them or anything.
Additionally there would be 3 things valued in mining: Pickaxe, PickaxeLvl and MiningLvl. Pickaxe would be the item, which triggers onPickaxeHit, there would be 8 types of pickaxes based on the ores you mine, each would
fire faster than the others. PickaxeLvl is the actual enhancement of value gain and damage, it would be bought but never become bigger than Mininglvl. MiningLvl likewise does hte same as Pickaxelvl, except that you gain it by mining. Any pickaxe would be able to be bought at any level, the highest level pickaxe to be made out of Graphene, which would yet a huge amount of hits. Though under this system, I fear it might break the brick due to the huge amount of math the brick would have to do with 10 hits (?) per second.