Скачать плагин worldguard для minecraft 1.8 настроенный

This is a major upgrade . However, it is relatively well-tested because many people have accidentally updated to version 6 when the Spigot team updated WorldGuard for 1.8 but did not update v5.9.

The version that you downloaded supports Minecraft 1.7.10 and 1.8.

NEW DOCUMENTATION: There is new work-in-progress documentation . However, refer to the older wiki for missing pgaes.

Downgrading to 5.9

When updating to v6, your region data will be updated to use player UUIDs rather than their names. That means that you cannot downgrade to WG 5.9 because it does not understand UUIDs and will remove all ownership data. However, you can use to downgrade region data stored as YAML.

Remember to make backups.

If you do not use region protection, then downgrading requires no extra steps.

What"s Changed?

There have been many changes, but the most important (and breaking ones) are listed below.

Region Protection

The region protection has been optimized and aggressive caching has been added. That means that the impact of region protection when hundreds or thousands of regions exist has been minimized.

  • UUID support was added. On first server start, your region data will be converted to use UUIDs. Names that lack a UUID (i.e. they refer to accounts that don"t exist) will remain, but can be removed by re-running the conversion (see the config) after changing the configuration to remove unconverted names.
  • Build protection for regions is now much more complete, and WorldGuard protects against entities and blocks making changes as if they were players. For example, TNT cannot be flung into a protected region and piston machines cannot push into a protected region. Liquid flow (lava and water) can also be checked, although this is disabled by default.
  • Setting the build flag to deny will break pistons and Redstone. When you set the build flag to deny , you are essentially saying that no one can build at all. Now that blocks and entities are considered the same as players, they get blocked in that case. What"s the solution? First of all, you probably do not want to set the build flag: remember, when you create a region, only members can build in it, so there"s no need to change the build flag.
  • If you want to deny building "in the wilderness," use /rg flag __global__ passthrough deny . Unset the build flag if you had set it to deny . As you may know, when you create a region, protection is automatically turned on (only members can build). If you don"t want that, you can set a region"s passthrough flag to allow . In the case of the global region, it defaults to allow , so you have to set it to deny to turn that off.
  • Earlier versions of WorldGuard 6 changed the use flag to be much more encompassing, but this is no longer the case . The use flag now works like it did before in 5.x, only applying to things like doors, pressure plates, and levers. A new interact flag was added instead that controls all right clicks of blocks and entities.
  • By default, the use flag is now set so only members of a region can use levers and doors within a region. If you want to disable this type of protection in all protected regions, use /rg flag __global__ use allow .
  • Region groups for flags now work properly. You can set a certain flag to apply to only a certain group (owners, members, nonmembers, nonowners, all). Before, it only worked correctly for some flags. Region groups can be set like this: /rg flag spawn pvp -g nonmembers deny .
  • In WG 5.9, some flags had a default region group of "non-members." That means that if you did /rg flag spawn chest-access deny , only non-members would be unable to open chests. In WG 6, you have to explicitly specify this: /rg flag spawn chest-access -g nonmembers deny .
  • It is now possible to change the message that users get when they are prevented from interacting with blocks or entities. This message is defined as a region flag, so you can set it on the __global__ region or override it in a specific region. In addition, the tone and color of the default message has been softened, but you are free to change it entirely.
  • The MySQL code was substantially rewritten to be faster and more efficient. Some changes are needed to the table structure, but WorldGuard is now capable of performing those automatically. However, those who use table prefixes may run into trouble.

Blacklist

  • If you want to blacklist only water and lava blocks and not buckets, you can no longer apply on-place to water or lava blocks because it will also deny the use of buckets. If you wish to deny the use of just the liquid blocks, use on-use . This is because WorldGuard now considers the use of a bucket also the placement of a liquid block.

Miscellaneous

  • In the rare situation that you are user of the "auto-invincibility" and "auto-no-drowning" groups (wg-invincible and wg-amphibious), you now have to enable these features in the config (auto-invincible-group: true and auto-no-drowning-group: true). This is because some permission plugins have been causing severe hang ups whenever it is queried for a player"s groups, which, in this case, happens to include when the player joins.

Known Incompatibilities

Plugins that utilize WorldGuard"s API may not work anymore. They may crash with errors. The API has changed somewhat.


Есть класс

Class LogClass { private FileHandle File; void LogClass() { Print("::: ::: Init:::"); } void ~LogClass() { Print("::: ::: UnInit:::"); } void Save(string FileName, string String) { private int year, month, day, hour, minute, second; Print("::: : Save: " + FileName); if (!FileExist(FileName)) { File = OpenFile(FileName,FileMode.WRITE); } else { File = OpenFile(FileName, FileMode.APPEND); } if (File == 0) { Print("::: : Can not write FileName: " + FileName); Print("::: : May be disk error, file write protected, file busy or FileMode.WRITE disabled (need to specify option -scrAllowFileWrite in server run parameters for enable FileMode.WRITE."); return; } FPrintln(File, DataBase_GetDate() + "," + DataBase_GetTime() + " : " + String); CloseFile(File); } void Rotate(string FileName, int FileNum) { Print("::: : Rotate: " + FileName); if (!FileExist(FileName)) { Print("::: : Rotate: FileName not exists: " + FileName); return; } else { for (int i = FileNum; i > 0; i--) { Print("::: : Rotate: FileName: " + FileName + "." + i); if (FileExist(FileName + "." + i)) { Print("::: : Rotate: DeleteFile: " + FileName + "." + i); DeleteFile(FileName + "." + i); } if (FileExist(FileName + "." + (i - 1))) { Print("::: : Rotate: CopyFile: " + FileName + "." + (i - 1) + " => " + FileName + "." + i); CopyFile(FileName + "." + (i - 1), FileName + "." + i); } } CopyFile(FileName, FileName + ".0"); DeleteFile(FileName); } } static string DataBase_GetDate() { int year, month, day; GetYearMonthDay(year, month, day); string date = day.ToStringLen(2) + "." + month.ToStringLen(2) + "." + year.ToStringLen(2); return date; } static string DataBase_GetTime() { int hour, minute, second; GetHourMinuteSecond(hour, minute, second); string time = hour.ToStringLen(2) + ":" + minute.ToStringLen(2) + ":" + second.ToStringLen(2); return time; } } Мне нужно им пользоваться функциями из него в нескольких местах
в PlayerBase.c в функциях в классе PlayerBase
в init.c в функция в классе миссии
Вопрос как?

В PlayerBase.c
#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\LogClass\\LogClass.c"
Далее в классе
ref LogClass Log = new LogClass();
ну и в функциях
Log.Save{"путь-имя", данные);

Но после последнего обновления 0.63.149.525
В init.c
#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\LogClass\\LogClass.c"
приводит к ошибке - Multiple declaration of class "LogClass"

Can"t compile mission init script"!
$CurrentDir://mpmissions//dayzOffline.chernarusplus//_MOD//LogClass//LogClass.c(1): Multiple declaration of class "LogClass"

До этого обновления все было норм
Как быть?

Продположим

Обявили массив внутри функции

Array stringParam;
// определяем массив текстового типа который живет до завершения работы функции

Static array stringParam;
// определяем массив текстового типа который сохраняет в себе данные и после завершения работы функции и при следующем
вызове функции содержимое массива останется и может быть использовано внутри функции (повторного обьявления массива не произойдет)

String text = "text";

//записываем содержимое переменной text в элемент массива 0
stringParam.Insert(text);
//записываем содержимое переменной text в элемент массива 1, если переменная text пуста в элемент запишется текст NULL
stringParam.Insert(text, "NULL");

Читаем в переменную text элемент массива 1
string text = stringParam.Get(1);

А вот теперь вопрос
Как мне изменить эелемент 1 массива?
stringParam = "блаблабла";

Так?
в теории должно быть так

Это вообще возможно?

И еще про функцию возвращающую результат в качестве массива

Array FileRead(string FileName)
{
array stringParam;
string line_content;

CloseFile(File);
return stringParam;
}

Порой всем нам хочется попробовать себя в роли администратора сервера и испытать эту ответственность, но, к сожалению, вы не всегда все знаете о создании сервера. Сейчас вам будут описаны два самых популярных базовых . Начнем с самого часто используемого.

Плагин RegionGuard

Этот плагин установлен на 80% всех серверов. Он простой в настройке, имеет довольно много полезных команд и флагов.
P.S. Флаг – это расширение, которое охватывает плагин (здоровье персонажа, еду, PVP, возможность ломать блоки и открывать двери с сундуками и т.д.)

Начнем с установки плагина на сервер. Особого ума для установки не требуется. Закидываете данный плагин в папку «Plugins» вашего сервера и на этом с установкой все! На Майнкрафт ВиКи можно почитать более детальную установку, а так же полную настройку плагина, но мы переходим к функционалу данного плагина.

В вашем распоряжении будет довольно много команд:

  • /rg help – показывает перечень команд, представленных во время игры
  • /rg pos 1 – отмечает первую точку во время привата
  • /rg pos 2 – отмечает вторую точку во время привата
  • /rg create «имя региона» – заприватить регион
  • /rg flag «название флага» – установить флаг (список флагов будет ниже)
  • /rg info – получить информацию о регионе
  • /rg addowner «ник игрока» – добавить игрока в приват
  • /rg removeowner «ник игрока» – удалить игрока из привата
  • /rg delete «название региона» – удалить регион
  • /rg axe – топор заменяющик команды /rg pos 1 и /rg pos 2

Теперь перейдем к флагам. Их довольно много!

  • pvp – бой
  • build – строительство
  • entry – вход (открывать/закрывать двери и люки)
  • god mode – режим бессмертия
  • cmd use – использовать консольные команды
  • chat use – использовать чат
  • explode – взрыв на территории
  • burn – огонь
  • regain – регенерация здоровья
  • teleport – телепортация
  • mob damage – урон от мобов
  • sleep – сон
  • tnt explode – взрыв (только от ТНТ)
  • drop item – выпадение вещей

К каждому из этих флагов нужно будет приписывать значения «allow» (применить) или «deny» (отменить).
С этим плагином разобрались!

Плагин PrivateAreaProtector

Это более мощный плагин для опытных юзеров. Его используют при создании мини-игр или серверов, где игрокам не предстоит приватить территорию.

Команд у этого плагина немного, да и сервер он не особо нагружает, а имея знания программирования, можно будет еще дописать код и модифицировать плагин. Вернемся к основе плагина. У него есть пара стандартных команд:

  • /protect pos1 – указать первую точку
  • /protect pos2 – отметить вторую точку
  • /protect «название региона» – заприватить регион
  • /unprotect «название региона» – удалить регион
  • /protect – посмотреть список регионов
  • /unprotect «ник игрока» – расприватить территорию какого-то игрока

С командами этого плагина – все! Флаги у данного плагина не прописываются.

Устанавливается плагин в папку «Plugins» вашего сервера. Больше об этом плагине сказать нечего.

Надеюсь, вам поможет эта информация при создании своего сервера. Создавайте сервера и наслаждайтесь, ведь это достаточно просто!

WorldGuard - это плагин для сервера Bukkit, который позволяет защищать регионы (приватить). Так же этот плагин добавляет некоторые полезные инструменты. Страница плагина доступна по адресу: http://dev.bukkit.org/server-mods/worldguard/ .

Обычные пользователи используют этот плагин для защиты своих построек. Сделать это можно так:

  1. Выделяем регион
  2. Вводим команду: /region define Имя_Региона Имя_Игрока

Основные команды

  • /god [Имя_Игрока] - сделать игрока бессмертным
  • /ungod [Имя_Игрока] - снять бессмертие с игрока
  • /heal [Имя_Игрока] - восстановить здоровье игроку
  • /slay [Имя_Игрока] - отнять жизнь у игрока
  • /stack или /; - увеличить все элементы инвентаря до максимального количества в стеке
  • /locate [Имя_Игрока] - Points your compass towards a player.

Команды Emergency (аварийные)

  • /stopfire [Мир] - останавливает распространение огня на сервере. Это временная команда, которая перестанет работать после перезагрузки сервера. Все вошедшие игроки будут предупреждены о запрете распространения огня.
  • /allowfire [Мир] - отключает действие предыдущей команды /stopfire
  • /stoplag [Мир] - останавливает все интенсивные процессы: разлив воды, разлив лавы, тнт, спавнинг мобов и т.д.. Это так же временная команда, действие которой прекратиться после перезагрузки сервера. Все вошедшие игроки будут предупреждены о включении этого режима.
  • /stoplag -c - отключает действие предыдущей команды /stoplag
  • /worldguard flushstates [Имя_Игрока] - Flush any data stored in the state manager that tracks player location for the entry, exit, greeting and farewell flags. Use this if someone is stuck in an exit deny region (or outside an entry deny one) after the flag or region has been removed.

Команды управления плагином WorldGuard

  • /worldguard version - отобразить версию плагина
  • /worldguard reload - перезапустить плагин WorldGuard
  • /worldguard report [-p] - записать в файл отчет обо всех настройках и информации о сервере в файл, который будет лежать в папке плагина

Команды WorldGuard для защиты регионов

Определение региона (define)

  • /region define <Имя_Региона> [<Владелец1> [<Владелец2> [<Другие_Владельцы...>]]]
  • /region def <Имя_Региона> [<Владелец1> [<Владелец2> [<Другие_Владельцы...>]]]
  • /region d <Имя_Региона> [<Владелец1> [<Владелец2> [<Другие_Владельцы...>]]]

С помощью этой команды можно определить регион и назначить владельцев созданного региона. Владельцы региона указываются через пробел.

Переопределение региона (redefine)

  • /region redefine <Имя_Региона>
  • /region update <Имя_Региона>
  • /region move <Имя_Региона>

С помощью этой команды можно переопределить размер региона. Нужна в случаях, если вы поняли, что место вам не хватает:-)

Claim

  • /region claim <Имя_Региона> [<Владелец1> [<Владелец2> [<Другие_Валадельцы...>]]]

Эта команда делает то же самое что и define, то есть определяет регион. Но существуют некоторые ограничения, например, с помощью данной команды нельзя создать большой регион и так же нельзя создать больше регионов чем прописано на пользователя. Так как у меня достаточно свободный сервер, пользуйтесь для привата територий командой define - это гораздо лучше.

Информация о регионе

  • /region info [-s] [<Мир>] [<Имя_Региона>]

Отображает информацию о регионе. Флаг -s помимо отображения информации о регионе выделяет указанный регион.

Выделение региона

  • /region select [<Имя_Региона>]

Выделяет регион. Если вы не укажите Имя_Региона, будет выделено высокоприоритетный регион текущей локации.

Получить список регионов

  • /region list [<Номер_Страницы> [<Мир>]]

Команда отображает список всех регионов в указанном мире. Так как регионов обычно много, иногда приходится указывать номер страницы.

Установка флагов

  • /region flag <Имя_Региона> <Название_Флага> [<Значение>]

Устанавливает флаг для региона. Флаги могут запрещать pvp, препятствовать распространению огня, запрещать другим игрокам перемещаться по региону, выводить приветственное сообщение и многое другое. Более подробно о флагах я опишу позже. Самые полезные из них можете прочитать .

Установить приоритет

  • /region setpriority <Имя_Региона> <Приоритет>
  • /region priority <Имя_Региона> <Приоритет>
  • /region pri <Имя_Региона> <Приоритет>

Команда нужна для пересекающихся регионов. Например при постройке города, вы можете запретить во всем городе pvp, но разрешить его в определенном месте города. Значение приоритета должно быть числовым.

Установить родительский регион

  • /region setparent <Имя_Региона> <Имя_Родительского_Региона>
  • /region parent <Имя_Региона> <Имя_Родительского_Региона>
  • /region par <Имя_Региона> <Имя_Родительского_Региона>

Устанавливает родительский регион. Например. У нас есть город City. В этом городе мы выдаем территории под постройку. Для этого нужно определить новый регион игроку, например, с названием City-Home-Nick и назначить игрока владельцем только, что созданного региона. Теперь чтобы игрок мог строить в своем регионе, нужно указать родительский регион: /region setparent city-home-nick city . Некоторые админы не пытаясь вникнуть в особенности плагина просто назначают владельцем региона city игрока. Это может привести к порче всего города и позорному увольнению админа.

Удаление региона

  • /region remove <Имя_Региона> <Приоритет>
  • /region rem <Имя_Региона> <Приоритет>
  • /region delete <Имя_Региона> <Приоритет>
  • /region del <Имя_Региона> <Приоритет>

Команда удаляет регион. Пример: /region remove marick - удалить регион с названием marick.

Teleport

  • /region teleport [-s] <Имя_Региона>
  • /region tp [-s] <Имя_Региона>

Teleports to the point specified by the region"s teleport flag. If you specify the -s flag, you will be teleported to the spawn point instead.

If you are upgrading from a version earlier than 1.11 (1.10 or below), please read the following:

  1. Due to changes in Spigot libraries, if you used the LWC plugin, you will likely get an "UnsatisfiedLinkException" error when starting your server. This will prevent WorldGuard from working properly. It is highly recommended you update to the unofficial LWC build and remove your LWC "lib" folder. If you get anything error related to "org.sqlite.core.NativeDB", try: making /tmp/ executable, switching to oraclejdk, and/or running with "-Dsqlite.purejava=true". These are not WorldGuard issues and we cannot fix them for you.
  2. If you used a third-party plugin that added custom flags to WorldGuard, it may stop working with 6.2. It is highly recommended you backup your region files. Although WorldGuard will attempt to preserve the flags, they will likely be non-functional. Now that WorldGuard natively supports a custom flags API, third-party plugins will have to update to the new API before they work again.

This version supports only Minecraft 1.12. It may partially function as far back as 1.8, but it is recommended to use version 6.2 for Minecraft versions 1.11.2 and below as you will encounter errors when running commands.

NEW DOCUMENTATION: There is new documentation .
Developers: There is a page on using the new custom flag API.

Changes in 6.2.1

  • Flower pots are more strictly protected (via build, not just interact).
  • Added a config options (mobs.block-armor-stand-destroy) that does exactly what it says.
  • Added a firework-damage flag that does exactly what it says.
  • Add a wither-damage flag (protects from the explosion of the wither itself, not the skull projectiles)
  • Fix errors spamming console if invalid chest (3 or more connected chests) were connected to a hopper.
  • Improved readability of flag list when invalid flag is entered.

Changes in 6.2

  • Added 1.11 blocks.
  • Add config option to prevent teleport and spawn flags from being set outside of their region.
  • Added custom flags API.
  • Added custom session handler API.
  • Add transient property to regions for API.
  • Changed potion-splash flag to include throwing lingering potions.
  • Removed the construct flag. It has been deprecated for a very long time.
  • Fixed ender crystal protection.
  • Fixed some backwards compatibility issues.
  • Fixed mobs not igniting in regions due to Spigot changes.

Changes in 6.1.2

  • Added support for new blocks in 1.8, 1.9, and 1.10.
  • Added protection from nether portals being created in protected region (enable via config nether-portal-protection).
  • Added protection from slime block piston contraptions pushing into or pulling from regions.
  • Added chorus-fruit-teleport flag, works similar to enderpearl to prevent teleportation.
  • Added protection from pulling armor stands, items, and entities from protected regions.
  • Changed order of greeting and farewell flags on adjacent regions. When leaving a region with a farewell flag and entering one with a greeting flag, the farewell message will be shown first now.
  • Changed /heal command to also fill food/saturation meters.
  • Changed fall damage prevention to also prevent flying into walls with elytra being fatal.
  • Fixed fire-spread flag only preventing destruction, now prevents spreading too as per its name.
  • Fixed creepers targeting players being able to blow things up in certain cases.
  • Fixed armor stands being removed by /stoplag.
  • Fixed some issues with fireballs being able to explode when ghast-fireball was set to deny.
  • Fixed a lot of other minor issues.

Changes in 6.1

  • Added exit-via-teleport flag (default allow) to control exiting an exit=deny region via teleportation.
  • Added a fall-damage flag to control player damage caused by falling.
  • Added a time-lock flag to lock players" time of day. Valid values are from 0 to 24000 for absolute time, or +- any number for relative time.
  • Added a weather-lock flag to lock players" weather. Valid values are "clear" or "downfall". Unset to restore to normal world weather.
  • Added -s to the event debugging commands to show a stack trace rather than attempt to detect the causing plugin.
  • Added support for using the -e argument (sets an empty value for the flag) in the flag set command when the type of flag is of the "set" type.
  • Added NPCs from the Citizens plugin to a whitelist so they are not protected.
  • Added support for Spigot"s BlockExplodeEvent.
  • Changed tripwire to fall under the use flag.
  • Changed enderchests to fall under the use flag.
  • Changed vehicles and animals so they are not included in the interact flag.
  • Changed the display of custom blacklist messages to no longer include a period at the end.
  • Changed protection logic to consider connected chests.
  • Changed the heal and feed flags to increase values for players who are invincible (or in creative mode) but not decrease them.
  • Changed PvP protection to consider both attacker and defender locations.
  • Fixed missing protection data for some 1.8-added blocks.
  • Fixed compatibility issues with MC 1.7.
  • Fixed inverted daylight detectors not being protected.
  • Fixed spawn eggs not being included in protection.
  • Fixed piston blocking not working due to a bug in Spigot.
  • Fixed the blocking of certain invalid entity damage events.
  • Fixed creeper explosions not being blocked in certain situations with explosion related flags set.
  • Fixed "stickiness" with some position-related flags, sometimes resulting in rubber banding in the exit flags.
  • Fixed armor stands so that they are treated more like item frames than mobs.
  • Fixed blocks (e.g. sugar canes) adjacent to physics blocks (e.g. sand) not updating.
  • Fixed a NullPointerException that occurred sometimes when generating the scheduler section of the report function (/wg report).
  • Fixed the "no XP drops" configuration not functioning following a previous release.
  • Fixed changes to region ownership sometimes not triggering a region database save.
  • Fixed bucket protection displaying the "deny effect" even if bucket use was not prevented.
  • Fixed CommandFilter matching emoticons and other unwanted characters.
  • Fixed an exception occurring sometimes during game mode changes.
  • Fixed primed TNT being checked twice for TNT flags.