MMO Plugin - Need testers and opinions.

Discussion in 'Bukkit Help' started by lonelydime, Apr 12, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    lonelydime

    I've created an MMO plugin and need some help testing/balancing it. I should have it in a beta state later this week or early next week, but wanted to get some interested people in on testing it since there's really only so much I can do on my test environment. Here's an 'everything I can think of' post about the plugin. Below it there's a download link. Please, please read it before asking questions about it. If you have any bug reports or suggestions just reply here. Thanks for helping me test this beast, I do appreciate it. Just keep in mind, this is very beta and will have bugs. Don't get attached to your game because it may be restarted (not the world, just the characters/portals/pvp cages). I'll do everything I can to prevent that, but I can not guarantee it will work with later versions of the plugin.

    Rifts

    A PvP based RPG plugin that contains everything you need all in one plugin!

    Rifts contains 2 factions, the light and the dark. Each faction has their own world isolated from each other. Each faction has 5 classes:

    Fighter – Front line soldier, utilizes strength to cut down their opponents.
    • Gains 1 str point per level
    • Can use diamond swords
    • Can wear iron armor
    • Cannot use bows
    Defender – A soldier more reliant on defense than offense, great for sieges.

    • Gains 1 def point per level
    • Can use iron swords
    • Can wear diamond armor
    • Cannot use bows
    Mage – A high powered character with little defensive abilities.

    • Gains 1 int point per level, to use magic must be holding a stick
    • Can use stone swords
    • Can wear cloth armor
    • Cannot use bows
    Priest – A support unit able to heal themselves as well as their party members.

    • Gains 1 spr point per level, to use magic must be holding a stick
    • Can use stone swords
    • Can wear iron armor
    • Cannot use bows
    Archer – Able to attack from greater distances, uses mana to enhance their arrows.

    • Gains 1 agl point per level
    • Can use stone swords
    • Can wear cloth armor
    • Can use bows
    For every level a character gains, they get 7 stats points, 2 skill points as well as unlocking new skills to buy.

    Each player has 6 attributes they can add their stats to:

    Str (Strength) – How much damage you do to an entity (pig, cow, skeleton, player, etc)
    Def (Defense) – How much damage is negated due to any type of damage (entity, falling, fire, etc).
    Int (Intelligence) – How strong magic spells are (fireball, heal, etc).
    Spr (Spirit) – How quickly your mana regenerates and your total mana.
    Agl (Agility) – How often you are able to dodge attacks.
    Dex (Dexterity) – How often you land attacks (physical and magical).

    Rifts
    As time goes on in the game, Rifts appear at a random time (0-5 in game days) for a duration of half an in-game day. They always appear above ground, but can be anywhere on any loaded chunk (including in the middle of an ocean). They will also only appear if both faction worlds have at least 1 chunk loaded (does not require players to be in the world). Rifts allow a faction to teleport to the opposing faction’s world and do whatever they want there. However, when someone dies in the opposing faction’s world, they will be teleported back to their own on respawn.

    PvP
    The third world (pvpworld) has the nether environment. Both factions can access this world by creating a portal. To create a portal, make a standard obsidian portal rectangle and place a sign on any part of the portal. The first line of the sign should say @pvp. Once the portal is created, it will link to that faction’s “cage” inside of pvp. The cage is a room made completely of glass and is indestructible. If the opposing faction comes within 30 blocks of the cage, they will receive a warning. If they continue getting close they will instantly die. This is to prevent spawn camping. Experience is greater in pvp than in the normal worlds. Once altars are implemented they will also add incentive to go into pvp.

    Altars
    Altars still need to be added into pvpworld and are still in design phases. What they will be is areas that can be taken over by a faction. The owning faction will gain a benefit by owning the altar. They will also be in charge of defending their alters from attack by the opposing factions. I may add in mobs that only target the opposing faction to help defend, but again, it’s in the design phase.

    SpawnBlocks
    A spawnblock is a temporary spawn location created by the player. Spawnblocks can be created by any user that has enough money to do so by placing a sign on an obsidian block with the first line reading @setspawn. The amount it costs to create one is configurable in the config.yml file. Spawnblocks can hold up to 4 player’s spawn locations, all a user has to do is right click the block to add themselves to it. By default they have a life span of 20 spawns before they are destroyed. Anyone can destroy a spawnblock by breaking the obsidian block that holds the sign. Only the creator of the block can destroy the sign, destroying the spawn block. There is a glowstone on top of the spawnblock that allows for easier detection by those who would want to destroy it. Players spawn on top of the glowstone so hiding it with blocks would create an unsafe spawn for those bound to it. The glowstone is also unbreakable as long as the spawn block is active.

    Commands
    /joinrifts {light/dark} {class name} – allows a player to join a faction as a class
    /level - shows a character his/her current level
    /class – shows a character his/her class. Can be used like /class {user} to find a user’s class.
    /party {player name} – creates a party or adds people to an existing party. Parties have a max size of 4.
    /party leader {player name} – when typed by the current party leader, switches the leader.
    /party invites {public/leader} – changes the invite type from private (leader only invites) to public (any party member can invite).
    /party loot {leader/random} – currently does not do anything.
    /leaveparty – lets a user leave a party they’re in.
    /disbandparty – allows the party leader to disband the party.
    /spawnblock: {uses, bound, leave} – lets a user see uses left on the spawnblock, if they are bound to one or not and finally, allows them to leave the block they are bound to.
    /exp – shows a player their current exp bar.
    /stats – shows a player their current stat levels as well as free stats.
    /stats add # {str/def/spr/int/agl/dex} – allows users to add to their stats using their free stats.
    /skill {add} {skillname} – used like /skill, it will show a user their available skills and mp costs. Used like /skill {skillname} will activate the skill for use. Used like /skill add {skillname} it will add the skill to the user's list of available skills. /skill off turns the active skill off.
    /skills - shows the user the list of skills they can currently "buy" with skill points earned through leveling.
    /status – shows a player their class, level and current mana bar.
    /hide {exp/miss} – will hide the exp or miss notifications.
    /show {exp/miss} – will show the exp or miss notifications.
    /resetcharacter - will delete your character and allow you to rejoin the game as a different faction and class. It will delete all of your stats/levels/exp/etc.

    GM Commands
    /savechars – saves the current online player’s stats and information into the database.
    /changeclass {player name} {class name} – allows GMs to switch a player’s class
    /fullheal – fully heals the GMs health and mana bar
    /changelevel: {player name} {level} – allows GMs to change a player’s level.
    /setstats {player name} {stats number} – allows GMs to change the free stats a player has.
    /setskills {player name} {skills number} - allows GMs to change the free skill points a player has.
    /toworld {world name} – teleports a GM between worlds using the world’s name.
    /createrift: - Allows a GM to manually create rifts, however they cannot choose where the rifts are created.

    How to install:
    • Download Rifts.jar
    • Download sqlitejdbc-v056.jar if you do not already have it.
    • Put Rifts.jar in your plugins/ directory.
    • Put sqlitejdbc-v056.jar into your craftbukkit directory.
    • Restart your server.
    • [Optional] Edit plugins/Rifts/config.yml and change them how you'd like.
    • [Optional] If you're using Permissions or GroupManager, use rifts.gm for GMs and spawnblock.create for those that can create spawnblocks.
    Current TODO list:
    • Add the class summoner.
    • Add altars to pvp.
    • Tweak experience gained and needed for levels as well as stat numbers tweaking.
    • Possible addition of chainmail armor for archer’s use.
     
  2. Offline

    Taemera

    First of all, this topic deserves a bump.
    I'm looking forward to this plug-in, and I would love to test it.
    However, I've only got ~5 users and it's not a dedicated server.

    In less then a month, I'll get a dedicated server when I got enough active players, but I truly hope someone else will be able to help you faster.

    One question @Archer skills: Is there a skill that expands the range a bow can shoot?
     
  3. Offline

    jayzon915

    This looks great! Be what plugins does it hook into? PLEASE PLEASE PLEASE don't make your own proprietary economy and protections. We REALLY wanted to use MineQuest but it conflicted with lots of our plugins.....
     
  4. Offline

    MJRamon

    This is damn good. Willing to help
     
  5. Offline

    lonelydime

    No worries, I've been making/testing this plugin with iConomy and Permissions/GroupManager. Some things already work great with bukkit, why rewrite it :)

    That's fine, I'd be happy to get any help I can testing this beast :)
    There isn't right now, I only have a handful of skills because my creativity can only do so much lol. That's definitely a buff I could add though.
     
  6. Offline

    Azukay

    This sounds very promising, I'd like to test it :)
     
  7. Offline

    lonelydime

    I added a link to the plugin and install directions, good luck and thanks! If you're running it on your server let me know so I can see how it's doing :)
     
  8. Offline

    tekac

    This is very interesting. I own a server with peaks of 80 players. I'll test this out on the new PVP world I made for my server. I'll let you know how things go. Great ideas!

    Using /join on this plugin conflicts with HeroChat. ;\

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  9. Offline

    lonelydime

    Download the Rifts.jar file again, I updated it to use joinrifts instead of join.

    Thanks for letting me know, I was thinking it would be good to use that plugin for the chat system instead of working out my own. But I'd have to check on some things it can do first :)
     
  10. Offline

    Phinary

    Hmm this looks interesting. Do you by any chance have a spreadsheet or list on what works and what doesnt?
     
  11. Offline

    lonelydime

    Everything should be fine unless it has the same commands as this one, like HeroChat I suppose. If you let me know if there's a confliction I'll do my best to fix it.
     
  12. Offline

    tekac

    I don't believe experience and such is working .. I can't seem to level up? I added to my stats with the freestats I have. I just know it takes a long time to kil a cow/sheep. No changes to /exp..
     
  13. Offline

    Phinary

    Seem to have a problem.. Most of it seems to work but first thing: i had to regenerate a map because the spawns were below ground. second thing: when i go to pvp world through portal i just instantly die,

    Also for some reason zombie pigmen are randomly falling from the sky in the dark world. this is without any plugins but rift

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  14. Offline

    tekac

    Console gets spammed with stuff like this
    Code:
    20:28:36 [INFO] Agl: 20 | Dex: 22
    20:28:36 [INFO] Agl: 1 | Dex: 20
    20:28:36 [INFO] Agl: 25 | Dex: 0
    20:28:37 [INFO] Agl: 15 | Dex: 12
    20:28:37 [INFO] Agl: 14 | Dex: 17
    20:28:37 [INFO] Agl: 17 | Dex: 26
    20:28:37 [INFO] Agl: 9 | Dex: 15
    20:28:38 [INFO] Agl: 13 | Dex: 10
    20:28:38 [INFO] Agl: 20 | Dex: 0
    20:28:38 [INFO] Agl: 16 | Dex: 25
    20:28:38 [INFO] Agl: 11 | Dex: 23
    20:28:38 [INFO] Kharn777 tried command: tp LuuXorY
    20:28:38 [INFO] Agl: 2 | Dex: 20
    20:28:39 [INFO] Agl: 19 | Dex: 15
    20:28:39 [INFO] Agl: 10 | Dex: 11
    20:28:39 [INFO] Agl: 2 | Dex: 25
    20:28:39 [INFO] Agl: 21 | Dex: 0
    20:28:39 [INFO] Agl: 13 | Dex: 14
    20:28:39 [INFO] Agl: 2 | Dex: 20
    20:28:40 [INFO] Agl: 15 | Dex: 15
    20:28:40 [INFO] Agl: 3 | Dex: 15
    20:28:40 [INFO] Agl: 20 | Dex: 21
    20:28:40 [INFO] Agl: 15 | Dex: 26
    20:28:41 [INFO] CaptainVox [/76.183.50.173:53225] logged in with entity id 188259
    20:28:41 [INFO] Agl: 20 | Dex: 19
    20:28:41 [INFO] Agl: 7 | Dex: 28
    20:28:41 [INFO] Agl: 18 | Dex: 27
    20:28:42 [INFO] Agl: 18 | Dex: 19
    20:28:42 [INFO] Agl: 13 | Dex: 20
    20:28:42 [INFO] Agl: 19 | Dex: 17
    20:28:42 [INFO] Agl: 11 | Dex: 16
    20:28:42 [INFO] Agl: 20 | Dex: 11
    20:28:43 [INFO] [HeroChat] [$]zdude359: the bottom one here
    20:28:43 [INFO] Agl: 19 | Dex: 35
    20:28:43 [INFO] Agl: 17 | Dex: 29
    20:28:44 [INFO] Agl: 17 | Dex: 43
    20:28:44 [INFO] Agl: 18 | Dex: 29
    20:28:44 [INFO] Agl: 1 | Dex: 30
    20:28:44 [INFO] Agl: 17 | Dex: 35
    20:28:44 [INFO] Agl: 5 | Dex: 37
    20:28:44 [INFO] Agl: 13 | Dex: 35
    20:28:44 [INFO] Agl: 6 | Dex: 4
    20:28:44 [INFO] Agl: 19 | Dex: 32
    20:28:44 [INFO] Agl: 18 | Dex: 35
    20:28:44 [INFO] Agl: 20 | Dex: 0
    20:28:45 [INFO] Agl: 8 | Dex: 25
    20:28:45 [INFO] Agl: 14 | Dex: 18
    20:28:45 [INFO] Agl: 16 | Dex: 7
    20:28:46 [INFO] Agl: 15 | Dex: 6
    20:28:46 [INFO] [HeroChat] [g] [$]Kharn777: I cant tp??????
    20:28:46 [INFO] Agl: 3 | Dex: 17
    20:28:48 [INFO] [HeroChat] [g] [L]Mirtai: my arrows are hitting mobs but not hurting them
    20:28:49 [INFO] Agl: 6 | Dex: 0
    

    EDIT: BUG FOUND! Just plain mining/pvping anything, no gain in stats/experience. If you do /show exp .. to turn notifications on. You start gaining exp and such.
     
  15. Offline

    lonelydime

    Thanks! It's been fixed and the link has been updated. Can't believe I missed that =/
     
  16. Offline

    Ryanhuong

    also typing /exp shows your current exp. for those who don't know

    Really fun plugin, I love the idea that you have to work together to be successful. Got a few issues tho. The thing is we have a regular vanilla survival server, plus Rifts so people can tp into the opposing world it seems. Also - jumpto works even tho most other permissions are off
     
  17. Offline

    silentdojo

    We're in full test mode come join and have fun.
    incraftion.com for the ip.
     
  18. Offline

    tekac

    Alright. SO.. players have had another issue. Upon they can take goldore's, place them again and continue to boost their skills. Thats an exploit.

    Another thing. When players enter a rift and get into the other factions world .. how do they get out? or back to their original faction world? When players are in default world "world" they cannot get back into light/dark/pvp world.

    Maybe I'm doing this wrong?

    BUG: If you're in a party, you cannot gain experience.

    EDIT: Could we add the option for players to changeclass? maybe only once? It rests their skills/stats too.

    EDIT: /heal conflicts with the plugin General and its /heal command
     
  19. Offline

    Ryanhuong

    We have a Multiverse. Our normal map plus Rifts maps. Most things work, however when players in the normal map cant wear armor or use weapons that their class cant. In other words, can we have Rifts off in one map?
     
  20. Offline

    lonelydime

    The gold block (and any block really) I know about, I haven't thought of a way to combat it effectively though. The only thing I could think of was to lower the amount of exp given when mining gold/etc and make it configurable.

    If you're in the opposing faction's world via a rift, you should be able to use the same rift (when you rift to their world, you teleport to the rift location in their world) to leave. If the rift disappears, you're stuck until another one opens or you die.

    What was the level differences in your party? I may need to tweak the values a bit, but I made it so lower level people in a party get more exp than higher level people and if the level gap is 10 or over no one gets exp (to prevent power leveling). I'll look into that more.

    I added it and reuploaded the jar, the command is resetcharacter.

    This plugin has the command /fullheal, is that what you mean? The skill is accessed by /skill heal.

    Normal players can play unhindered as all of the Rifts code only applies to people who are in the database as rifters. However, once you join the rift worlds you should only be there for the MMO aspect and shouldn't be jumping worlds. If this is a big problem I'll try and only apply the settings to the rift worlds, but it adds unnecessary load to those using the plugin separate than normal users.
     
  21. Offline

    BioRage

    Bump.

    Tested, need a heavy computer for this Plugin :p

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  22. Offline

    sefer

    err... question. Is this still being worked on? The mage could use some massive tweaks. #1: with the right int, blast can destroy entire houses/islands/etc there is no cap to the destruction radius of this skill when it comes to int, it just keeps getting more and more massive, so griefing is accidental and impossible to avoid when you shoot a mob, and end up blowing a crater in the world.

    2. Fireball, for some reason, destroys cobble/stone and other resistant materials. It also hurts yourself...in other words, as soon as you get too much int, you will be caught in your own fire radius and burn to death.. along with all the tiles the fire hits. (ie, it should not break tiles, or rather, it should only affect things that fire actually affects..such as trees, wooden planks, wool, you know flammable objects.

    3. focus... Is very hard to tell if its working or not.

    and at the right level (or perhaps at the right amount of def or another defensive stat) monsters can no longer hurt you at all. And by right level, I mean a level you can reach within a few hours.. around 30 i believe.

    Another mage problem: when they die, they respawn in the world they died in. All they have to do is grab a stick, and they can start harassing people again with their magery... Effectively making it the most efficient griefer tool all in one. In hours the entire server population went mage, because it was so powerful. Entire forests burnt down, massive craters filled the area from blast, and the server crashed due to a very powerful int user casting blast, creating such a massive hole the server couldnt handle all those blocks being broke at once... it was unstable with lag spikes from that event for over an hour, giving out a crash every couple of minutes.
     
  23. Offline

    lonelydime

    I've been working on a new skill method and introducing skill levels so I stop relying on formulas to determine how strong a skill is and instead use skill levels. Int will still be used in determining some things, but in the ways of explosions and fireball's radius it will stop being used. That way most of the things you're talking about won't happen anymore. I'll look into the radius formula again, I made it so it stopped replacing blocks with fire blocks but I may have missed something.

    I've also tweaked damage since after a certain amount it negates natural forms of damage like fire and falling, so those will still hurt the same no matter your defense rating and defense will only play a roll in battle situations.

    I'm going to make a big update to the system in the next couple days, I'll post here in the thread when it's up. Thanks for giving me the report!
     
  24. Offline

    Simse

    Wow dude, this seems fucking amazing.
    I'll definetly have a look at this, when I get home.

    I'd be more than happy, to help you testing such awesome plugin.
    Thanks for your hard work <3.
     
  25. Offline

    lonelydime

    Just an update for people so they know I haven't stopped working on this plugin (it in fact, eats all my plugin writing time).

    I have rewritten how skills work.
    Instead of getting a skill at a predetermined level, you get access to "buy" the skill with skill points (note, you cannot buy them all). Every level you get 3 skill points. Not only that, but skills have levels. Example, fireball now has fireball 1, 2 and 3. This solves the problem of having a super powerful mage lagging the server with a fireball radius of 10. Explosions, skills with radius and ranges all now work off levels instead of stats. Stats play a part in how much damage the skill does, but not it's size.

    On top of that I've been adding skills for classes, now each class has around 10 skills, many with 3 levels, some with 2 and the "ultimate" skill with just 1. I've been implementing the new skills and that's been the bulk of my time.

    I've also added functionality to allow mobs and pvp kills to give iconomy money when killed.

    There are a number of bug fixes and tweaks in the new version and I'll be sure to announce when it's coming out, most likely sometime next week.

    I have all of the skills up and running (as far as I can tell) for Priest, Mage and Archer (except the ultimate skills) and just need to finish defender and fighter skills. After that I'll work out how many skill points each skill should cost and adjust their mana requirements, fix a few things and I'll put out the new version. Thanks for being patient, if you have a server running it let me know so I can hop on and see how things are running!

    Note: This plugin is in no way compatible with mcmmo and most of their commands conflict, so if you're running mcmmo you cannot run this plugin with it. There are no plans of making it compatible.
     
  26. Offline

    lonelydime

    New version of the jar is available for download (You will have to delete your current database file, plugins/Rifts/database.db), the changelog is too long for me to remember since it took me a good week or two to get it released, but here are some highlights.

    - Fixed party experience.
    - Fixed spawn blocks not working properly.
    - Fixed a lot of exp loss when using skills to kill mobs.
    - Added chat scrambling if the player is on an opposing faction (unless HeroChat is being used)
    - Redid how skills are implemented. Now players gain skills be using skill points.
    - Added iConomy money drops from mobs.
    - Added over 100 skills total.
    - Removed faction friendly fire to redo that a bit.
    - Bumped up the exp needed to level, getting to level 30 in a couple of hours is ridiculous.

    That's what I can think of off the top of my head.

    EDIT: Meteor and Arrow Rain work in the newest download
     
Thread Status:
Not open for further replies.

Share This Page