segunda-feira, 30 de dezembro de 2013

Dando Forma a Seu Servidor



Bom dia pessoal hoje vamos começar a dar forma ao nosso servidor, vamos colocar o básico nele, para isso baixe o Essentials, ele é um micro Pack de plugins que insere no seu servidor mais de 100 comandos básicos, nele você também tem  configuração básica do chat e a proteção do Spawn.

Normalmente em meus servidores eu uso em conjunto com ele o group manager, que define as permissões, mas abordaremos ele em outro post.

Para começar baixe o Essentials.zip do link abaixo:


Após baixa-lo e abri-lo verá que dentro do zip tem 5 plugins, eles funcionam em conjunto então coloque os 5 em sua pasta plugins.

Rode seu servidor para que eles gerem sua pasta de configuração, note que apenas uma pasta será gerada, pois como disse anteriormente eles funcionam em conjunto.

Ao abrir seu servidor e dar o comando /help notará que a lista de comandos ficou muito maior, sobre esses comandos, vamos mexer em outro post, neste iremos nos focar na configuração básica dele.

Entrando na pasta plugins e depois na pasta Essentials note que existem vários documentos, mas agora vamos utilizar apenas o config.yml, abra-o com o Notpad++, se você sabe um pouco de inglês conseguira configurar tranquilamente, pois o config tem varias notas explicando como funciona, essas notas são indicadas com o símbolo # que desativa a linha como comando, no post retirarei estas linhas para que o mesmo não fique tão poluído, mas vamos continuar, ao abri-lo vera as seguintes configurações:

ops-name-color: '4'                 //Define a cor que o nome dos operadores terão

nickname-prefix: '~'                //Define o que marcará o nome que está com /nick ativado (apelido)

max-nick-length: 15                //Máximo de caracteres que o apelido pode ter

change-displayname: true      //Não mude, aqui define se a lista de jogadores será atualizada ou não, ele pode gerar erros se estiver desativado.

teleport-cooldown: 0              //Atraso no teleporte, tp, tpa, tpahere, home, etc

teleport-delay: 0                      //Período em que o jogador não pode se mover se não cancela o teleporte.

teleport-invulnerability: 4       //Período em que o jogador não pode ser atacado nem atacar APÓS o teleporte(muito útil quando existe problemas com lag).

heal-cooldown: 60                   //intervalo mínimo entre os comandos /heal e /feed

item-spawn-blacklist:              //Lista negra de itens, que não podem ser gerados nem pelo /give. Deve ser separado por “, ”(virgula e espaço).

permission-based-item-spawn: false       // limita os itens que podem ser gerados pelo /give através de permissões. Necessita de conhecimentos avançados para ativa-lo.

spawnmob-limit: 10                      // aqui define o máximo de monstros que podem ser spawnados pelo comando /spawnmob.

warn-on-smite: true                     //Notifica os jogadores quando eles são castigados(alguém da /lightning ou /thor nele)

overridden-commands:               // Aqui só é útil quando existe conflitos de comandos,não precisa mexer.

disabled-commands:                  // Aqui só é útil quando existe conflitos de comandos, não precisa mexer.

socialspy-commands:               //Comandos que o socialspy irá monitorar.
  - msg
  - w
  - r
  - mail
  - m
  - t
  - whisper
  - emsg
  - tell
  - er
  - reply
  - ereply
  - email
  - action
  - describe
  - eme
  - eaction
  - edescribe
  - etell
  - ewhisper
  - pm



Abaixo tem a lista de comandos que os jogadores podem usar, note que não é necessário mexermos aqui pois iremos usar um plugin para definir as permissões separadamente, de modo que possamos ter classes de jogadores, como vip, membros, moderadores administradores,etc.

player-commands:
  - afk
  - afk.auto
  - back
  - back.ondeath
  - balance
  - balance.others
  - balancetop
  - build
  - chat.color
  - chat.format
  - chat.shout
  - chat.question
  - clearinventory
  - compass
  - depth
  - delhome
  - getpos
  - geoip.show
  - help
  - helpop
  - home
  - home.others
  - ignore
  - info
  - itemdb
  - kit
  - kits.tools
  - list
  - mail
  - mail.send
  - me
  - motd
  - msg
  - msg.color
  - nick
  - near
  - pay
  - ping
  - protect
  - r
  - rules
  - realname
  - seen
  - sell
  - sethome
  - setxmpp
  - signs.create.protection
  - signs.create.trade
  - signs.break.protection
  - signs.break.trade
  - signs.use.balance
  - signs.use.buy
  - signs.use.disposal
  - signs.use.enchant
  - signs.use.free
  - signs.use.gamemode
  - signs.use.heal
  - signs.use.info
  - signs.use.kit
  - signs.use.mail
  - signs.use.protection
  - signs.use.repair
  - signs.use.sell
  - signs.use.time
  - signs.use.trade
  - signs.use.warp
  - signs.use.weather
  - spawn
  - suicide
  - time
  - tpa
  - tpaccept
  - tpahere
  - tpdeny
  - warp
  - warp.list
  - world
  - worth
  - xmpp

Agora definimos os kits existentes no seu servidor:

kits:

  tools:                              // Nome do kit.

    delay: 10                      //Tempo entre cada vez que digita o comando para esse kit.

    items:                           //Os itens do kit, deve-se utilizar a ID do item e a quantidade, se tem algum encantamento deve-se colocar por ultimo separado por virgula.

      - 272 1
      - 273 1
      - 274 1
      - 275 1

Aconselho retirar os outros kits pois eles são apenas para exemplo.

enabledSigns:              // Aqui você ativa ou desativa placas especiais( http://wiki.ess3.net/wiki/Sign_Tutorial).

  #- color
  #- balance
  #- buy
  #- sell
  #- trade
  #- free
  #- disposal
  #- warp
  #- kit
  #- mail
  #- enchant
  #- gamemode
  #- heal
  #- info
  #- spawnmob
  #- repair
  #- time
  #- weather

sign-use-per-second: 4                 // Quantas vezes por Segundo o jogador pode usar as placas.

backup:                                           //relativo ao backup do servidor, não é necessário mexer.

  interval: 30

per-warp-permission: false          //Não precisa mexer.

list:                                                   //Não precisa mexer.

    Admins: owner admin

debug: false                                    //Não precisa mexer.

remove-god-on-disconnect: false          //Desativa o /god ao desconectar, aconselho deixar como true, pois evita de pessoas ficarem com comandos ativados após perderem vip ou saírem da equipe(staff).

auto-afk: 300                                  //Tempo para ativar o modo AFK ou Inativo, quando o jogador não se meche, se quiser desativar isso coloque -1, a contagem é em segundos.


auto-afk-kick: -1                             //Tempo após ativo o afk para o servidor desconectar o jogador. No caso -1 desativa, para desconectar ao ficar afk coloque 0 ou 1, a contagem é em segundos.

freeze-afk-players: false                //congela o jogador ao entrar em afk, para sair do afk o jogador deve digitar o comando /afk, nenhum outro jogador ou mob atacará o jogador com afk ativo.
 
disable-item-pickup-while-afk: false      //Se true desativa a possibilidade de pegar itens.

cancel-afk-on-interact: true                    //Mantenha como esta, aqui desativa a possibilidade de sair do afk quando fala no chat ou da um comando, para sair tem que desativar manualmente dando /afk.

cancel-afk-on-move: true                    //Mantenha como esta, aqui desativa a possibilidade de sair do afk quando se meche, para sair tem que desativar manualmente dando /afk.

death-messages: true                          //Desativa as mensagens quando um jogador morre.

no-god-in-worlds:                                //Desativa a possibilidade de ativar o /god nos mundos abaixo.

world-teleport-permissions: false            //Só ative se for utilizar mundos com permissões diferentes.

default-stack-size: -1                                //Padrão de itens que podem ser gerados a partir do comando /give, se for igual a -1, será o padrão que é 64, quando não se define um numero de itens a ser gerado.

oversized-stacksize: 64                            // Máximo de cada stack.

repair-enchanted: true                          //Possibilidade de reparar itens encantados, se desativado retirará os encantamentos dos itens a serem reparados.

unsafe-enchantments: false                           //Possibilidade de encantar itens com encantamentos incompatíveis, somente via comando, pode causar erros de plugins se ativado.

register-back-in-listener: false                      //Não precisa mexer, aqui o plugin memoriza as ultimas posições do jogador após sair do servidor e recarrega elas após voltar, ATENÇÃO: não é o teleporte que se da depois de logar, e sim o teleporte que se dá através de /back ou outro plugin que permite voltar a posição anterior.

login-attack-delay: 5                                     // Tempo em que o jogador ficará invencível após entrar e logar, também não poderá bater.

max-fly-speed: 0.8                                       //Velocidade máxima que o jogador que estiver voando poderá ter, não precisa mexer.

max-walk-speed: 0.8                                  //Velocidade máxima que o jogador terá correndo, com poção.

mails-per-minute: 1000                            //Não precisa mexer, define o máximo de e-mails que pode se enviar por minute.

max-tempban-time: -1                               //Máximo que o admin poderá dar de banimento temporário, -1 desativa o máximo,

############################################################
# +------------------------------------------------------+ #
# |                   EssentialsHome                           | #
# +------------------------------------------------------+ #
############################################################

update-bed-at-daytime: true                    //Durante o dia, o jogador poderá definir sua cama.

world-home-permissions: false                //Se true desativa o teleporte do /home entre mundos, se você estiver no nether só poderá ir para as homes no nether, e assim vai.

sethome-multiple:                                 //Define o máximo de casas que podem ser salvas para os grupos abaixo
  default: 3                                              // Jogadores
  # essentials.sethome.multiple.vip
  vip: 5                                                     //VIPs
  # essentials.sethome.multiple.staff
  staff: 10                                                 //Para a staff, para os VIPs e a staff costume colocar 99999999999 ou ativar a permissão essentials.sethome.multiple.unlimited que deixa ilimitado o numero de homes, mas isso será em outro post.

tpa-accept-cancellation: 120                //Tempo limite para o jogador aceitar o tpa.

############################################################
# +------------------------------------------------------+ #
# |                   EssentialsEco                               | #
# +------------------------------------------------------+ #
############################################################
starting-balance: 0                               // Dinheiro que o jogador irá começar

command-costs:                                    //Custo que cada comando terá.

currency-symbol: '$'                            //Símbolo utilizado para o dinheiro.

max-money: 10000000000000          //Máximo de dinheiro possível reunir, não precisa mexer, esse é o máximo que o java reconhece.

min-money: -10000                        //Máximo de dinheiro que se pode dever.

economy-log-enabled: false          //Usado para verificar vendas e compras através de comandos dentro do console.

############################################################
# +------------------------------------------------------+ #
# |                   EssentialsHelp                              | #
# +------------------------------------------------------+ #
############################################################

non-ess-in-help: true                      // Mostra todos os commandos de todos os plugins.

hide-permissionless-help: true            //Mostra comandos aos quais não se tem permissão, aconselho mudar para false.

############################################################
# +------------------------------------------------------+ #
# |                   EssentialsChat                             | #
# +------------------------------------------------------+ #
############################################################

chat:

  radius: 0                             // Aqui define-se o raio de conversação, 0 define como global.

Abaixo você pode formatar a forma do chat de modo como quer, isso se não for utilizar um plugin especifico para isso, mais informações acesse a wiki do plugin:
http://wiki.ess3.net/wiki/Chat_Formatting

  format: '<{DISPLAYNAME}> {MESSAGE}'
  #format: '&7[{GROUP}]&r {DISPLAYNAME}&7:&r {MESSAGE}'

  group-formats:
  #  Default: '{WORLDNAME} {DISPLAYNAME}&7:&r {MESSAGE}'
  #  Admins: '{WORLDNAME} &c[{GROUP}]&r {DISPLAYNAME}&7:&c {MESSAGE}'


############################################################
# +------------------------------------------------------+ #
# |                 EssentialsProtect                          | #
# +------------------------------------------------------+ #
############################################################

protect:

  prevent:                                                     //Aqui você impede que os mobs e jogadores possam queimar explodir, e destruir indevidamente as coisas, evita que você precise usar outro plugin para isso.

    lava-flow: false
    water-flow: false
    water-bucket-flow: false
    fire-spread: true
    lava-fire-spread: true
    flint-fire: false
    lightning-fire-spread: true
    portal-creation: false
    tnt-explosion: false
    tnt-playerdamage: false
    tnt-minecart-explosion: false
    tnt-minecart-playerdamage: false
    fireball-explosion: false
    fireball-fire: false
    fireball-playerdamage: false
    witherskull-explosion: false
    witherskull-playerdamage: false
    wither-spawnexplosion: false
    wither-blockreplace: false
    creeper-explosion: false
    creeper-playerdamage: false
    creeper-blockdamage: false
    enderdragon-blockdamage: true
    enderman-pickup: false
    villager-death: false
    entitytarget: false

Aqui você evita o spawn de monstros específicos, você terá que desativar pelo menos os boss que podem destruir e acabar com seu mapa.

    spawn:
      creeper: false
      skeleton: false
      spider: false
      giant: false
      zombie: false
      slime: false
      ghast: false
      pig_zombie: false
      enderman: false
      cave_spider: false
      silverfish: false
      blaze: false
      magma_cube: false
      ender_dragon: false
      pig: false
      sheep: false
      cow: false
      chicken: false
      squid: false
      wolf: false
      mushroom_cow: false
      snowman: false
      ocelot: false
      iron_golem: false
      villager: false
      wither: false
      bat: false
      witch: false
      horse: false

  creeper:
    max-height: -1                        //Não mexa.

Aqui você pode desativar algumas coisas do servidor como danos do whiter, pvp, queima de jogadores, raios, etc.

  disable:

    fall: false

    pvp: false

    drown: false

    suffocate: false

    lavadmg: false

    projectiles: false

    contactdmg: false

    firedmg: false

    lightning: false

    wither: false

Para desativar a chuva dos mapas coloque true nos três abaixo.

    weather:
      storm: false
      thunder: false
      lightning: false

############################################################
# +------------------------------------------------------+ #
# |                EssentialsAntiBuild                        | #
# +------------------------------------------------------+ #
############################################################

Agora você deve definir as opções para proteção do mundo.

    build: true                       //Pode construir?

    use: true                         //Pode Usar?

    warn-on-build-disallow: true               //Avisar quando os jogadores não podem construir?

  alert:                                             //Alertar quando acontecer:

    on-placement: 10,11,46,327      //colocarem esses blocos itens;

    on-use: 327                                    //quando usarem esses itens;

    on-break:                                       //e quando quebrarem esses blocos.

Na lista negra você deve definir os blocos que não se pode colocar usar ou quebrar, os colocados aqui só poderão ser usados pelo grupo de operadores, no piston são os blocos que os pistões não podem empurrar, e no dispenser quais itens não podem ser largados por ele.

  blacklist:

    placement: 10,11,46,327

    usage: 327

    break:

    piston:

    dispenser:



############################################################
# +------------------------------------------------------+ #
# |           Essentials Spawn / New Players       | #
# +------------------------------------------------------+ #
############################################################


newbies:

Anuncio a ser exibido quando um jogador entra pela primeira vez no servidor.

  announce-format: '&dWelcome {DISPLAYNAME}&d to the server!'

Aonde os novatos serão spawnados? Deixe como está para saírem no Spawn setado por você.

  spawnpoint: newbies

Qual o kit que deseja dar ao jogador iniciante, não importa preço nem tempo, será dado de graça.

  kit: tools

respawn-listener-priority: high                             //Não mexa.

respawn-at-home: false                                //quando o jogador morre deve aparecer, se true será em casa, se false será no Spawn.

Bom essas são as configurações do Essentials, se você for usa-lo lembre-se de usar todos os plugins que vierem junto com o .zip, pois todos irão definir o inicio do servidor.aproveite para explorar um pouco os comandos, lembre-se que ainda estamos no inicio, no próximo post iremos falar um pouco mais sobre as permissões e sobre os grupos.

sexta-feira, 27 de dezembro de 2013

PRIMEIROS PASSOS




Olá pessoal hoje vamos mexer um pouco com plug-ins, para isso aconselho o uso de um programa chamado Notepad++, este programa irá lhe ajudar muito na configuração dos plug-ins.

http://www.baixaki.com.br/download/notepad-.htm

Para seu servidor ter um nome e respeito ele deve ter um Spawn, regras, e jails (prisão mesmo) será você e sua equipe (se houver), se for autorizar contas ”gratuitas” no seu servidor precisará de uma proteção por senha, para isso recomendo o AuthMe Reloaded:

http://dev.bukkit.org/bukkit-plugins/authme-reloaded/

Após baixa-lo, extraia o arquivo AuthMe.jar, e coloque dentro da pasta plugins do seu servidor, rode seu servidor para ele criar as devidas pastas de configuração, dentro da pasta AuthMe que foi criada na pasta plug-ins, existe um arquivo chamado “config.yml”, na maioria dos plugins ele existe, e define as funcionalidades do plugin.

Antes de começarmos a mexer com ele vamos prestar bem atenção a um detalhe importante, cada espaço antes de cada linha é importante para o plugin, isso define grupos e subgrupos, então em todo o plugin que você for trabalhar, deve-se cuidar os espaços antes do começo da linha, não é TAB é ESPAÇOS isso pode causar erros sérios em seu servidor.


Agora vamos começar a mexer no AuthMe:

Abrindo o documento config.yml com o Notpad++ você verá as seguintes linhas:

DataSource:                          // Nesta parte inicial, não recomendo mexer, ela e referente a forma de banco de dados que o authme usara no armazenamento dos dados de cadastro dos seus jogadores.
 
  mySQLColumnName: username
  mySQLTablename: authme
  mySQLUsername: authme
  backend: file
  mySQLColumnLastLogin: lastlogin
  mySQLDatabase: authme
  mySQLPort: '3306'
  mySQLColumnIp: ip
  mySQLHost: 127.0.0.1
  mySQLColumnPassword: password
  mySQLPassword: '12345'
  caching: true
  mySQLlastlocX: x
  mySQLlastlocY: y
  mySQLlastlocZ: z
  mySQLlastlocWorld: world
  mySQLColumnEmail: email
  mySQLColumnId: id

GroupOptions:       // Aqui e o campo referente ao grupo a qual o jogador será deslocado quando logar, também não mecha vamos utilizar outro plugin para as permissões.

  UnregisteredPlayerGroup: ''
  RegisteredPlayerGroup: ''

  Permissions:
    PermissionsOnJoin: []

settings:       // Nao mude nada
  sessions:
    enabled: false
    timeout: 10
    sessionExpireOnIpChange: false
  restrictions:    
    allowChat: false        // aqui e a permissão para usar o chat enquanto esta se logando ou registrando, aconselha-se usar como false para não ocorrer de alguém digitar sua senha no chat global ou falar sem estar logado.
    allowCommands:      // Estes são os comandos autorizados antes de logar ou registrar.
    - /login
    - /register
    - /l
    - /reg
    - /passpartu
    - /email
    - /captcha

    maxRegPerIp: 1         // aqui e o máximo de registros por IP, para evitar multicontas, mas já deixo avisado que e impossível somente pelo IP saber se e multiconta ou não, então recomendo colocar mais de 1 mas vai de cada criador.

    maxNicknameLength: 20        // Máximo de letras que poderão ser usadas no nick.

    ForceSingleSession: true        //Aqui o plugin autoriza somente um IP por vez a estar online, recomendo false.

    ForceSpawnLocOnJoinEnabled: false        //aqui força(true) ou não(false) o teletransporte para o Spawn no registro ou login.

    SaveQuitLocation: false      //aqui força(true) ou não(false) o teletransporte para a ultima coordenada do jogador ao deslogar.

    AllowRestrictedUser: false

    AllowedRestrictedUser:

    - playername;127.0.0.1

    kickNonRegistered: false    //não mecha, só e usado em caso de registro através de sites

    kickOnWrongPassword: false    //desconectar o jogador se errar a senha?

    teleportUnAuthedToSpawn: false   

    minNicknameLength: 3           //mínimo de letras no nick.

    allowMovement: false     

    timeout: 30                //tempo de registro ou login em segundos.

    allowedNicknameCharacters: '[a-zA-Z0-9_?]*'

    allowedMovementRadius: 100

    enablePasswordVerifier: true           //ativa ou não a confirmação da senha ao registrar

    ProtectInventoryBeforeLogIn: true     

    displayOtherAccounts: true

    ForceSpawnOnTheseWorlds:       //aqui força o teletransporte ao spawn do mundo para os mundos definidos, se tem mais de um mundo coloque ele aqui.

    - world
    - world_nether
    - world_the_end

    banUnsafedIP: false

  GameMode:

    ForceSurvivalMode: false         //aqui força o modo survival para alguém que estava com creative, recomendo mudar para true.

    ResetInventoryIfCreative: false      // se estava em creative, resetar o inventario, recomendo true.

    ForceOnlyAfterLogin: false        //forçar apenas apos o login, recomendo deixar assim.

  security:
    minPasswordLength: 4             // tamanho minimo da senha.

    unLoggedinGroup: unLoggedinGroup

    passwordHash: SHA256            // nao mecha, e referente a segurança de armazenamento e verificação das senhas.

    doubleMD5SaltLength: 8

    supportOldPasswordHash: false

  registration:

    enabled: true                    //registrar In-game? Sim(true) não(false), recomendo não mexer.

    messageInterval: 5           //intervalo de exibição da mensagem de login ou registro.

    force: true

    enableEmailRegistrationSystem: false         //verificação por email, recomendo deixar assim.

    doubleEmailCheck: false

  unrestrictions:

    UnrestrictedName: []

  messagesLanguage: en

  forceCommands: []

ExternalBoardOptions:

  mySQLColumnSalt: ''

  mySQLColumnGroup: ''

  nonActivedUserGroup: -1

  mySQLOtherUsernameColumns: []

  bCryptLog2Round: 10

  phpbbTablePrefix: phpbb_

  phpbbActivatedGroupId: 2

  wordpressTablePrefix: wp_

permission:

  EnablePermissionCheck: false

BackupSystem:

  ActivateBackup: false                 //aqui e referente ao backup dos registros

  OnServerStart: false                    //fazer backup quando liga?

  OnServerStop: true                     //fazer backup quando desliga?

 Sei que existe mais coisa, mas nelas não é necessário mexer, somente se você tem um conhecimento mais avançado na área.

Para traduzir as mensagens do plugin abra o documento messages_en.yml com o Notpad++ e la terá as mensagens exibidas nele.

No próximo post iremos trabalhar um pouco com o Essentials, que dará mais força para seu servidor.