Jump to content

  • Curse Sites
Become a Premium Member! Help
Latest News Article

Basic Bukkit Setup With permissions.yml Examples And Good Plugin Lists

bukkit help setup easy fast simple examples

  • This topic is locked This topic is locked
24 replies to this topic

#1

DziNeIT
    DziNeIT

    Diamond Miner

  • Curse Premium
  • Curse Premium
  • 885 posts
  • Location: Eclipse - Java
  • Minecraft: PandazNWafflez
  • Xbox:Ideal DziNe

Posted 07 April 2012 - 07:40 PM

EDIT: Just realised this was my 50th post today Posted Image

So, I have seen people that can't do some things like permissions.yml, or what plugins are good for what, I once made pre-made servers, but I really couldn't continue updating them around my programming, school, and various other things, so I am going to make this guide, with permissions.yml examples, for people that need it.

Step 1. Acquiring Bukkit

Bukkit can be found here: http://dl.bukkit.org...craftbukkit.jar, for the latest recommended build.

You then need to create a script, different depending on OS (Operating System), for Windows 7, it's the following (if you are using JAVA 7, change jre6 to jre7):


@ECHO OFF
SET BINDIR=%~dp0
CD /D "%BINDIR%"
"%ProgramFiles%\Java\jre6\bin\java.exe" -Xincgc -Xmx1G -jar craftbukkit.jar
PAUSE

For other OS, see this guide: http://wiki.bukkit.o...ing_up_a_server


Step 2. Plugins

There are many good plugins, but a server needs to have enough to make the server good, but not so many that the server lags. I have composed some essential plugins, and some other good ones. When I say could be swapped for, I mean the one I state first is the best at the job, the others are not so good.

For all servers:

Nocheat or kNoHax:
http://dev.bukkit.or...er-mods/nocheat
http://dev.bukkit.or...rver-mods/nohax

StopTalkingAutoBan - http://dev.bukkit.org/server-mods/stab

WorldEdit - http://dev.bukkit.or...mods/worldedit/ - Download from http://build.sk89q.com

WorldGuard - http://dev.bukkit.or...ods/worldguard/ - Download from http://build.sk89q.com

Vault - http://dev.bukkit.or...rver-mods/vault

CommandBook - http://dev.bukkit.or...ods/commandbook - Download from http://build.sk89q.com (could be swapped for Essentials or AdminCmd).

PermissionsEx - http://dev.bukkit.or...s/permissionsex (Could be swapped for bPermissions or PermissionsBukkit)

Modifyworld - Comes with PermissionsEx

ChatManager - Comes with PermissionsEx (could be swapped for iChat / HeroChat / EssentialsChat)

For all servers with a lot of spare RAM:

Orebfuscator - http://dev.bukkit.or...s/orebfuscator/

For an RPG server:

mcMMO - http://dev.bukkit.or...ver-mods/mcmmo/

Jobs - http://dev.bukkit.or...rver-mods/jobs/

Heroes - http://dev.bukkit.or...er-mods/heroes/

iConomy - http://dev.bukkit.or...r-mods/iconomy/

MobArena - http://dev.bukkit.or...-mods/mobarena/

ChestShop - http://dev.bukkit.or...mods/chestshop/

Spout - http://dev.bukkit.or...rver-mods/spout

For a survival server (no griefing):

Towny - http://dev.bukkit.or...ver-mods/towny/

For a deathban PVP server:

TimeOut - http://dev.bukkit.or...r-mods/timeout/

Factions - http://dev.bukkit.or...-mods/factions/

For a regular PVP server:

Factions -http://dev.bukkit.org/server-mods/factions/


Step 3. Permissions

I have composed some example permissions.yml files (only work with PermissionsEx), one for each of the setups above, here they are:

RPG Server:


groups:
  Warrior:
	default: true
	permissions:
	- commandbook.who
	- commandbook.help
	- commandbook.rules
	- commandbook.kit.list
	- commandbook.kit.kits.starter
	- commandbook.spawn
	- commandbook.home.teleport
	- commandbook.home.set
	- commandbook.warp.teleport
	- commandbook.warp.list
	- commandbook.say.me
	- commandbook.msg
	- commandbook.away
	- modifyworld.*
	- mcmmo.ablility.*
	- mcmmo.item.*
	- mcmmo.commands.*
	- heroes.classes.Citizen
	- heroes.bind
	- heroes.reset
	- heroes.scroll
	- jobs.use
	- jobs.join
	- iConomy.holdings
	- iConomy.help
	- iConomy.payment
	- ChestShop.shop.buy
	- ChestShop.shop.sell
	- commandbook.time.check
	prefix: '&7[Warrior]&f'
	suffix: '&7'
	options:
	  rank: '1000'
	  rank-ladder: 'warrior'
  Veteran:
	default: false
	permissions:
	- ChestShop.shop.create
	- iConomy.holdings.others
	- commandbook.whereami
	- commandbook.whereami.compass
	prefix: '&2[Veteran]&f'
	suffix: '&7'
	options:
	  rank: '950'
	  rank-ladder: 'veteran'
  Mod:
	default: false
	options:
	  rank: '900'
	  rank-ladder: 'mod'
	prefix: '&5[Mod]&f'
	suffix: '&7'
	permissions:
	- commandbook.kick
	- commandbook.mute
	- commandbook.freeze
	- commandbook.warp.set
  Admin:
	default: false
	options:
	  rank: '850'
	  rank-ladder: 'admin'
	prefix: '&3[Admin]&f'
	suffix: '&7'
	permissions:
	- commandbook.ban
	- commandbook.warp.remove
  HeadAdmin:
	default: false
	options:
	  rank: '800'
	  rank-ladder: 'heada'
	prefix: '&5[Head&3Admin]&f'
	suffix: '&7'
	permissions:
	- '*'
  Owner:
	default: false
	options:
	  rank: '1'
	  rank-ladder: 'owner'
	prefix: '&4[Owner]&f'
	suffix: '&f'
	permissions:
	- '*'

AmberK's Example PEx File That Has No Relevance To The Listed Plugins:

groups:
  member:
	worlds:
	  world3:
		default: true
		prefix: '&8{jailed} &7'
		suffix: '&8'
	  world2:
		default: true
		permissions:
		- essentials.tp
		- modifyworld.*
		prefix: '&7(Artist) &f'
		suffix: '&f'
	  world1:
		default: true
		permissions:
		- essentials.tpa
		- modifyworld.*
		prefix: '&7(Survivor) &f'
		suffix: '&f'
	options:
	  rank: '100'
	  rank-ladder: 'player'
  admin:
	default: false
	permissions:
	- -essentials.nuke
	- '*'
	inheritance:
	- default
	prefix: '&4(Admin) &f'
	suffix: '&f'
	options:
	  rank: '10'
	  rank-ladder: 'staff'
users:
  lulzadmin:
	permissions:
	- '*'
	group:
	- Admin
  illestkiernan:
	group:
	- default
worlds:
  world1:
	inheritance:
	- world3

I have not yet made the other example permissions.yml files, they will be made another time.

Register or log in to remove.

#2

Rogue
    Rogue

    Gambrinous

  • Forum Admin
  • Curse Premium
  • 8736 posts
  • Location: Rochester, NY
  • Minecraft: Rogue
  • Xbox:RogueMurder

Posted 07 April 2012 - 07:59 PM

For all servers:

Quote


For those with plenty of spare RAM:

Quote


Also, if you're brand new to making the server, I would recommend Essentials over CommandBook. Not because it's better/more efficient, but because it is a bit simpler and newer people are more familiar with it.

Quote my post to make sure I see your reply - MCF Hosting CoordinatorPosted Image


#3

DziNeIT
    DziNeIT

    Diamond Miner

  • Curse Premium
  • Curse Premium
  • 885 posts
  • Location: Eclipse - Java
  • Minecraft: PandazNWafflez
  • Xbox:Ideal DziNe

Posted 07 April 2012 - 08:22 PM

View PostAmberK, on 07 April 2012 - 07:59 PM, said:

For all servers:



For those with plenty of spare RAM:


Also, if you're brand new to making the server, I would recommend Essentials over CommandBook. Not because it's better/more efficient, but because it is a bit simpler and newer people are more familiar with it.

Thanks, added to main post.

Also, any other suggestions are welcome.

#4

DziNeIT
    DziNeIT

    Diamond Miner

  • Curse Premium
  • Curse Premium
  • 885 posts
  • Location: Eclipse - Java
  • Minecraft: PandazNWafflez
  • Xbox:Ideal DziNe

Posted 07 April 2012 - 09:50 PM

I will do the other permissions.yml files tomorrow.

#5

Rogue
    Rogue

    Gambrinous

  • Forum Admin
  • Curse Premium
  • 8736 posts
  • Location: Rochester, NY
  • Minecraft: Rogue
  • Xbox:RogueMurder

Posted 07 April 2012 - 10:09 PM

Example of a full pex layout:
Spoiler:

Also to note, the documentation on pex has example files as well. http://dev.bukkit.or...s/permissionsex

Quote my post to make sure I see your reply - MCF Hosting CoordinatorPosted Image


#6

DziNeIT
    DziNeIT

    Diamond Miner

  • Curse Premium
  • Curse Premium
  • 885 posts
  • Location: Eclipse - Java
  • Minecraft: PandazNWafflez
  • Xbox:Ideal DziNe

Posted 08 April 2012 - 10:16 AM

View PostAmberK, on 07 April 2012 - 10:09 PM, said:

Example of a full pex layout:
Spoiler:

Also to note, the documentation on pex has example files as well. http://dev.bukkit.or...s/permissionsex

Yeah, I know, my example permissions.yml files are designed so there is one for each style of server I listed, so it's like pre-made servers, but they just download the plugins themselves :P - Mainly because I have no time to constantly upload to Dropbox every Bukkit RB and every Minecraft update and stuff.

#7

DziNeIT
    DziNeIT

    Diamond Miner

  • Curse Premium
  • Curse Premium
  • 885 posts
  • Location: Eclipse - Java
  • Minecraft: PandazNWafflez
  • Xbox:Ideal DziNe

Posted 08 April 2012 - 12:15 PM

Is anyone using these? Need some feedback people!

#8

Rogue
    Rogue

    Gambrinous

  • Forum Admin
  • Curse Premium
  • 8736 posts
  • Location: Rochester, NY
  • Minecraft: Rogue
  • Xbox:RogueMurder

Posted 08 April 2012 - 01:53 PM

Feedback, is this too complicated for a /list command?:
Spoiler:

Quote my post to make sure I see your reply - MCF Hosting CoordinatorPosted Image


#9

DziNeIT
    DziNeIT

    Diamond Miner

  • Curse Premium
  • Curse Premium
  • 885 posts
  • Location: Eclipse - Java
  • Minecraft: PandazNWafflez
  • Xbox:Ideal DziNe

Posted 08 April 2012 - 03:36 PM

View PostAmberK, on 08 April 2012 - 01:53 PM, said:

Feedback, is this too complicated for a /list command?:
Spoiler:

Yes. Just. Yes. But actually, I was looking for feedback on my guide Posted Image

But if you really can't simplify a /list command more than that (I presume you can), http://irc.lc/esper/bukkitdev/AmberK, or just make an ArrayList that has everyone on and show it in chat, that works also Posted Image

EDIT: Just showed that to my friend, and he just went:

'That person is a codenub' :P

#10

Rogue
    Rogue

    Gambrinous

  • Forum Admin
  • Curse Premium
  • 8736 posts
  • Location: Rochester, NY
  • Minecraft: Rogue
  • Xbox:RogueMurder

Posted 10 April 2012 - 12:02 AM

View PostPandazNWafflez, on 08 April 2012 - 03:36 PM, said:



Yes. Just. Yes. But actually, I was looking for feedback on my guide Posted Image

But if you really can't simplify a /list command more than that (I presume you can), http://irc.lc/esper/bukkitdev/AmberK, or just make an ArrayList that has everyone on and show it in chat, that works also Posted Image

EDIT: Just showed that to my friend, and he just went:

'That person is a codenub' :P

Lol, that's not my code... xD

Mine's a bit more like this, having problem grabbing the users on pex, but meh.
String commandName = command.getName().toLowerCase();
	if (commandName.equalsIgnoreCase("list")) {
	  if ((!(sender instanceof Player) || (sender instanceof Player && p.hasPermission("ambcraft.list")))) {
		int maxplayers = getServer().getMaxPlayers();
		Player[] list = Bukkit.getServer().getOnlinePlayers();
		PermissionManager pex = PermissionsEx.getPermissionManager();
		PermissionUser[] coders = pex.getUsers("coders");
		PermissionUser[] admins = pex.getUsers("admins");
		PermissionUser[] DGN = pex.getUsers("DGN");
		PermissionUser[] operators = pex.getUsers("operators");
		PermissionUser[] moderators = pex.getUsers("moderators");
		p.sendMessage("§7---------------[§9Online Now§7]---------------");
		p.sendMessage("§7Total Players: {§9" + Integer.toString(list.length) + "§7/§9" + maxplayers + "§7}");
		p.sendMessage("§fModerators: " + "§f" + moderators);
		p.sendMessage("§9Administration " + "§6" + operators + ", §2" + coders + ", §4" + DGN + ", §3" + admins);
		}
And yes, I'm a code nub. Been doing it for less than a month :)

Most of those variables in the p.sendmessage are currently set to ints, while I make them prettier :P

Quote my post to make sure I see your reply - MCF Hosting CoordinatorPosted Image


#11

DziNeIT
    DziNeIT

    Diamond Miner

  • Curse Premium
  • Curse Premium
  • 885 posts
  • Location: Eclipse - Java
  • Minecraft: PandazNWafflez
  • Xbox:Ideal DziNe

Posted 10 April 2012 - 07:37 AM

View PostAmberK, on 10 April 2012 - 12:02 AM, said:

Lol, that's not my code... xD

Mine's a bit more like this, having problem grabbing the users on pex, but meh.
String commandName = command.getName().toLowerCase();
	if (commandName.equalsIgnoreCase("list")) {
	  if ((!(sender instanceof Player) || (sender instanceof Player && p.hasPermission("ambcraft.list")))) {
		int maxplayers = getServer().getMaxPlayers();
		Player[] list = Bukkit.getServer().getOnlinePlayers();
		PermissionManager pex = PermissionsEx.getPermissionManager();
		PermissionUser[] coders = pex.getUsers("coders");
		PermissionUser[] admins = pex.getUsers("admins");
		PermissionUser[] DGN = pex.getUsers("DGN");
		PermissionUser[] operators = pex.getUsers("operators");
		PermissionUser[] moderators = pex.getUsers("moderators");
		p.sendMessage("§7---------------[§9Online Now§7]---------------");
		p.sendMessage("§7Total Players: {§9" + Integer.toString(list.length) + "§7/§9" + maxplayers + "§7}");
		p.sendMessage("§fModerators: " + "§f" + moderators);
		p.sendMessage("§9Administration " + "§6" + operators + ", §2" + coders + ", §4" + DGN + ", §3" + admins);
		}
And yes, I'm a code nub. Been doing it for less than a month Posted Image

Most of those variables in the p.sendmessage are currently set to ints, while I make them prettier Posted Image

No no no, you're doing it wrong!

The proper way to do it is (no code, I haven't got any, but I have made this before):

1) Make an ArrayList when the plugin starts.

2) Add whoever joins to the ArrayList

3) Remove whoever leaves from the ArrayList

4) On /list, send a message saying online players, then fetch and show the ArrayList in chat form.


And for the pex groups thing, just make multiple ArrayLists. Also, I'm going to make your code simpler.

String commandName = command.getName().toLowerCase();
	if (commandName.equalsIgnoreCase("list")) {
	  if (!(p instanceof Player) || (p instanceof Player && p.hasPermission("ambcraft.list"))) {
		int maxplayers = getServer().getMaxPlayers();
		Player[] list = Bukkit.getServer().getOnlinePlayers();
		PermissionManager pex = PermissionsEx.getPermissionManager();
		PermissionUser[] coders = pex.getUsers("coders");
		PermissionUser[] admins = pex.getUsers("admins");
		PermissionUser[] DGN = pex.getUsers("DGN");
		PermissionUser[] operators = pex.getUsers("operators");
		PermissionUser[] moderators = pex.getUsers("moderators");
		p.sendMessage("§7---------------[§9Online Now§7]---------------");
		p.sendMessage("§7Total Players: {§9" + Integer.toString(list.length) + "§7/§9" + maxplayers + "§7}");
		p.sendMessage("§fModerators: " + "§f" + moderators);
		p.sendMessage("§9Administration " + "§6" + operators + ", §2" + coders + ", §4" + DGN + ", §3" + admins);
		}

Also, you should be using the same variable for everything, and that should be CommandSender, not Player, in case you were using Player.

Anyway, you should code RageMod, it's not a waste of time like a /list command, when there are multiple plugins that list people and whether they're staff or not already.

#12

Rogue
    Rogue

    Gambrinous

  • Forum Admin
  • Curse Premium
  • 8736 posts
  • Location: Rochester, NY
  • Minecraft: Rogue
  • Xbox:RogueMurder

Posted 10 April 2012 - 11:19 AM

You mean this?:
if ((!(sender instanceof Player) || (sender instanceof Player && p.hasPermission("ambcraft.list")))) {
I used that merely because I was able to make it work with player and console.

Also, I'm not trying to list every player. I merely want to list some of the higher groups, which I've solved by this point.

Quote my post to make sure I see your reply - MCF Hosting CoordinatorPosted Image


#13

DziNeIT
    DziNeIT

    Diamond Miner

  • Curse Premium
  • Curse Premium
  • 885 posts
  • Location: Eclipse - Java
  • Minecraft: PandazNWafflez
  • Xbox:Ideal DziNe

Posted 10 April 2012 - 11:30 AM

View PostAmberK, on 10 April 2012 - 11:19 AM, said:

You mean this?:
if ((!(sender instanceof Player) || (sender instanceof Player && p.hasPermission("ambcraft.list")))) {
I used that merely because I was able to make it work with player and console.

Also, I'm not trying to list every player. I merely want to list some of the higher groups, which I've solved by this point.

nope.avi - I mean that when you send messages, you shouldn't be sending them to Player, you should be sending them to CommandSender.

Not to mention the fact you're using §, when you should be using ChatColor.COLOUR

Edit: Hows this?


public boolean onCommand(CommandSender player, Command command, CommandSender p) {
String commandName = command.getName().toLowerCase();
		if (commandName.equalsIgnoreCase("staff")) {		  
				PermissionManager pex = PermissionsEx.getPermissionManager();
				PermissionUser[] admins = pex.getUsers("admin");
				PermissionUser[] moderators = pex.getUsers("mod");
				PermissionUser[] hadmin = pex.getUsers("headadmin");
				PermissionUser[] hmods = pex.getUsers("headmod");
				PermissionUser[] owner = pex.getUsers("owner");
				p.sendMessage("§7---------------[§9Staff Online Now§7]---------------");
				p.sendMessage(ChatColor.AQUA + "Mods: " + ChatColor.AQUA + moderators);
				p.sendMessage(ChatColor.DARK_PURPLE + "Head Mods: " + ChatColor.DARK_PURPLE + hmods);
				p.sendMessage(ChatColor.BLUE + "Administration " + ChatColor.BLUE + admins);
				p.sendMessage(ChatColor.LIGHT_PURPLE + "Head Admins" + ChatColor.LIGHT_PURPLE + hadmin);
				p.sendMessage(ChatColor.RED + "Owners: " + ChatColor.RED + owner);
				return true;
		}
return false;
}


#14

Rogue
    Rogue

    Gambrinous

  • Forum Admin
  • Curse Premium
  • 8736 posts
  • Location: Rochester, NY
  • Minecraft: Rogue
  • Xbox:RogueMurder

Posted 10 April 2012 - 07:14 PM

Actually I use the §, because it shows up in the linux command line :P, and no harm no foul.

And way different than what I've done in the past.... 5 hours.


Quote my post to make sure I see your reply - MCF Hosting CoordinatorPosted Image


#15

DziNeIT
    DziNeIT

    Diamond Miner

  • Curse Premium
  • Curse Premium
  • 885 posts
  • Location: Eclipse - Java
  • Minecraft: PandazNWafflez
  • Xbox:Ideal DziNe

Posted 10 April 2012 - 07:51 PM

View PostAmberK, on 10 April 2012 - 07:14 PM, said:

Actually I use the §, because it shows up in the linux command line Posted Image, and no harm no foul.

And way different than what I've done in the past.... 5 hours.

My point exactly.

#16

AlexJAssasin

Posted 12 April 2012 - 11:43 AM

Nice!

#17

HaxfracroarX

Posted 12 April 2012 - 01:28 PM

I can't Get Bukkit To Work.

PLEASE HELP! .(~).
Posted Image

Also check out the BUILDER MOD!

#18

Rogue
    Rogue

    Gambrinous

  • Forum Admin
  • Curse Premium
  • 8736 posts
  • Location: Rochester, NY
  • Minecraft: Rogue
  • Xbox:RogueMurder

Posted 12 April 2012 - 03:49 PM

My own personal simplified way of doing it:
Spoiler:

Quote my post to make sure I see your reply - MCF Hosting CoordinatorPosted Image


#19

DziNeIT
    DziNeIT

    Diamond Miner

  • Curse Premium
  • Curse Premium
  • 885 posts
  • Location: Eclipse - Java
  • Minecraft: PandazNWafflez
  • Xbox:Ideal DziNe

Posted 12 April 2012 - 04:37 PM

View PostAmberK, on 12 April 2012 - 03:49 PM, said:

My own personal simplified way of doing it:
Spoiler:

Do this. It saves lives.

#20

DziNeIT
    DziNeIT

    Diamond Miner

  • Curse Premium
  • Curse Premium
  • 885 posts
  • Location: Eclipse - Java
  • Minecraft: PandazNWafflez
  • Xbox:Ideal DziNe

Posted 18 May 2012 - 04:17 PM

This thread still works. Bumping so people can see it.