Перейти к содержанию
Авторизация  
Admin

Плагин-логгер CoreProtect - команды

Рекомендуемые сообщения

CoreProtect

вики | bukkit | rubukkit | подробный мануал по командам

С версии 1.8 переходим на этот плагин вместо Prism.

 

Откат грифа без содержимого сундуков делается с явным указанием определённого параметра!!

/co rb u:user t:time r:radius a:block

 

На всякий случай скопипастил мануал:

Скрытый текст

 

CoreProtect Commands

You can access the commands using either "/coreprotect", "/core", or "/co".

Quick Command Overview:
 

/co help - Display a list of commands

/co inspect - Toggle the inspector

/co rollback <params> - Rollback block data

/co restore <params> - Restore block data

/co lookup <params> - Advanced block data lookup

/co purge <params> - Delete old block data

/co reload - Reload the configuration file

/co version - View the plugin version


Shortcut Commands:
 

/co near - Performs a lookup with a radius of 5

/co undo - Revert a rollback/restore via the opposite action


Detailed command information is listed below.




| /co help
Display a list of commands in-game.




| /co inspect
Enable the inspector. Type the command again to disable it. You can also use just "/co i".




| /co rollback u:<user> t:<time> r:<radius> a:<action> b:<blocks> e:<exclude>
Nearly all of the parameters are optional. Shortcut: "/co rb".
 

Quote:

u:<user> - Specify a user to rollback.
Example: u:Notch

 

Quote:

t:<time> - Specify the amount of time to rollback
You can specify weeks,days,hours,minutes, and seconds.

Example: t:2w,5d,7h,2m,10s

You can pick and choose time amounts. 
Example: t:5d2h

You can also use decimals
Example: t:2.50h (2 and a half hours)

 

Quote:

r:<radius> - Specify a radius.
You can use this to only rollback blocks near you.

You can specify a number (e.g. r:5), a world (e.g. r:#world_the_end), a global rollback (r:#global), or a WorldEdit selection (r:#worldedit or r:#we)

For example, the following would only rollback damage within 10 blocks of where you are standing: r:10

 

Quote:

a:<action> - Restrict the lookup to a certain action
For example, if you wanted to only rollback blocks placed, you would use a:+block

Here's a list of all the actions:

a:block (blocks placed/broken)

a:+block (blocks placed)

a:-block (blocks broken)

a:click (player interactions)

a:container (items taken from or put in chests, etc.)

a:+container (items put in chests, etc.)

a:-container (items taken from chests, etc.)

a:kill (mobs/animals killed)

a:chat (messages sent in chat)

a:command (commands used)

a:session (player logins/logouts)

a:+session (player logins)

a:-session (player logouts)

a:username (username changes)

 

Quote:

b:<blocks> - Restrict the rollback to certain block types.
For example, if you wanted to only rollback stone, you would use b:1
You can specify multiple items, such as b:1,5,7

You can find a list of block type IDs at http://www.minecraftwiki.net/wiki/Data_values

 

Quote:

e:<exclude> - Exclude certain block types from the rollback.
For example, if you don't want TNT to come back during a rollback, you would type e:46

 

Quote:

#<hashtag> - Add a hashtag to the end of your command to perform additional actions.
For example, to perform a rollback preview, you would use #preview

Here's a list of available hashtags:

#preview (Preview a rollback/restore)

#count (Return the number of rows found in a lookup query)

#verbose (Display additional information during a rollback/restore)

#silent (Display minimal information during a rollback/restore)






| /co restore u:<user> t:<time> r:<radius> a:<action> b:<blocks> e:<exclude>
Same parameters as /rollback. Shortcut: "/co rs".

Restoring can be used to undo rollbacks.




| /co lookup u:<user> t:<time> r:<radius> a:<action> b:<blocks> e:<exclude>
Search through block data using the same parameters as /co rollback. Shortcut: "/co l".

If multiple pages are returned, use the command "/co lookup <page>" to switch pages.
To change the number of lines displayed on a page, use the command "/co lookup <page>:<lines>". 

For example, "/co l 1:10" will return 10 lines of data, starting at the first page.




| /co purge t:<time>
Purge old block data. Useful for freeing up space on your HDD if you don't need the older data.

For example, "/co purge t:30d" will delete all data older than one month, and only keep the last 30 days of data.

If used in-game, only data older than 30 days can be purged. If used from the console, only data older than 24 hours can be purged.




Example Rollback Commands:

>>By default, if no radius is specified, a radius of 10 will be applied, restricting the rollback to within 10 blocks of you. Use "r:#global" to do a global rollback.

Rollback Notch 1 hour (with default radius of 10):
/co rollback u:Notch t:1h

PREVIEW rolling back Notch 1 hour (with default radius of 10):
/co rollback u:Notch t:1h #preview

Rollback Notch 23 hours and 17 minutes (with default radius of 10):
/co rollback u:Notch t:23h17m

Rollback ONLY stone placed/broken by Notch within the last hour (with default radius of 10):
/co rollback u:Notch t:1h b:1

Rollback ONLY stone BROKEN by Notch within the last hour (with default radius of 10):
/co rollback u:Notch t:1h b:1 a:-block

Rollback EVERYTHING Notch did in the last hour EXCEPT for stone he placed/broken:
/co rollback u:Notch t:1h r:#global e:1

Rollback griefing Notch did in the last hour that is within 20 blocks of you:
/co rollback u:Notch t:1h r:20

Rollback griefing Notch did in the last hour ONLY in the Nether:
/co rollback u:Notch t:1h r:#nether

Rollback everything done in the last 15 minutes by anyone within 30 blocks of you:
/co rollback t:15m r:30

Rollback everything done in the last 15 minutes in a WorldEdit selection:
/co rollback t:15m r:#worldedit




Example Lookup Commands:

>>Lookup commands are generally the same as rollback commands. The primary difference is that a default radius is not applied to lookups, meaning all lookup commands do a global search by default.

Lookup all diamond ore mined in the last hour:
/co lookup b:56 t:1h a:-block

Lookup all chat messages sent by Notch in the last 30 minutes:
/co lookup u:Notch t:30m a:chat

Lookup all logins ever done by Notch:
/co lookup u:Notch a:login

Lookup all logins ever done by Notch:
/co lookup u:Notch a:login

Lookup previous usernames used by Notch:
/co lookup u:Notch a:username

 

 

 

 

Чистим БД ручками через phpMyadmin:

Спойлер

 

Проверяем инфу о БД в ISP Manager. Берём данные БД либо с бумажки, либо из конфига плагина-логгера.

Заходим во вкладку "Structure" и смотрим конкретные таблицы и сколько они занимают места (например, таблица с записями о блоках - 6Гб, а следующая по размеру - таблица с записями о взаимодействиями с сундуками - всего на 180 метров; это за год онлайна 5-10 игроков).

 

Цитата

 

Смотри, командой DELETE FROM `co_block` WHERE `time` < 1443661261 можно удалить записи, которые были раньше 1 октября 2015 года

 

Вычисляем нужное нам время тут:
http://www.onlineconversion.com/unix_time.htm

 

Подставляем его в команду.

 

 `co_block` - это название конкретной таблицы, которое можно поменять на нужную (например, на таблицу контейнеров, которая занимает 180 метров).

 

Цитата

 

Заходишь во вкладку SQL, вводишь команду. Для нужной таблицы меняешь название таблицы (после DELETE FROM)

 

Во вкладку SQL заходим после выбора нужной таблицы.

 

После нажатия на кнопочку "Go" всё будет очень, очень долго - прям, возможно, часы и никакой индикации ))))

 

 


 

 

Предыдущий вариант почему-то не прокатил и выдавал ошибку - пришлось удалять по порядковым номерам записей.

 

Цитата

 

DELETE FROM `co_block` WHERE `rowid` < 400000

(удалить записи с rowid < 400000)

 

Чтобы правильно выбрать самую древнюю запись, необходимо зайти в таблицу и посмотреть номер первой записи в колонке "rowid"

 

 

DELETE FROM `co_block` WHERE `rowid` < 400000 AND `user` = 102
а так удаляются записи определённого пользователя (в данном случае - "вода") до определённой id

 

SELECT COUNT(*) FROM `co_skull` - можно узнать актуальное количество записей в таблице

ANALYZE TABLE `co_skull` - а этот запрос по идее должен пересчитывать актуальное количество

 

 


 

 

Спойлер

 

А потом Макс сказал, что всё это фигня и таким способом место на диске не освободить.

 

Цитата

 

[27/01/16 20:35:14] Riot: Тип таблиц - innodb

[27/01/16 20:35:31] Riot: При их удалении, их кеш остается на диске и место не освобождается)
 
Решается только экспортом таблицы, тотальным удалением файлов базы (а к ним на хостинге нет доступа) и импортом обратно)
 
Но при этом в ТП хостинга мне сказали, что всё-таки надо самостоятельно удалять записи ручкми...

 

 

Задал вопрос на форуме хостинга - тык...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@FoxSus, норм )
Я не уверен, что у меня есть доступ ко всему этому: есть только phpMyAdmin - его достаточно будет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

неа, нужен доступ к файловой системы, да и вообще консоль желательно, (напиши в тех поддержку пусть они развлекаются )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Решил тут в коей-то веке зайти и проверить оставшееся место в БД плагина-логгера...

Чуть ли не месяца два не заглядывал... Опасно :)

 

А там такая приятная штука - они выделили больше места за те же деньги!
И теперь у нас вместо 15 Гб за 82р/месяц = 25 Гб за 41 руб/месяц = этой ёмкости хватит на логи за целый год, наверное )

 

Скрытый текст

QGQqZbQ.png

 


toRSpFF.png

 

 

В 10/24/2017 в 10:49, newoldmax сказал:

Ну если используется движок innodb для базы, то да, при удалении записей он не уменьшяет фактический размер файла с базой, нужно ее всю дампить, удалить полностью, заимпортить обратно

Если у нас ещё когда-нибудь получится решить эту проблему, то вообще будет найс )))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос по командам CoreProtect. Мы не единожды читали тему про ограничение доступа на свою терру и как заставить вора оставить следы. Товарищ @Admin нам рассказывал про дропперы и подкидывание вещей, потому что поднятое с пола логируется. 

Какой командой я получу логи поднятого? lookup не выдает ничего похожего. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

4 часа назад, JinenryokuFu сказал:

Вопрос по командам CoreProtect. Мы не единожды читали тему про ограничение доступа на свою терру и как заставить вора оставить следы. Товарищ @Admin нам рассказывал про дропперы и подкидывание вещей, потому что поднятое с пола логируется. 

Какой командой я получу логи поднятого? lookup не выдает ничего похожего. 

Это уже давно неактуальная тема.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Достижения

@Admin

 

Тут уже второй день жалуются, что сервак утром стартует очень долго. Глянул логи - начинается остановка сервера, и плагин CoreProtect выгружает логи в БД. Естественно, упирается в лимит запросов = сервер не может вырубиться, пока плагин не закончит свое дело.

 

Мне кажется, что надо что-то с этим делать, так как, ИМХО, проблема начинает приобретать системный характер.

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, RedTeapot сказал:

Мне кажется, что надо что-то с этим делать, так как, ИМХО, проблема начинает приобретать системный характер.

Ну, да...
Вчера в онлайне в 3 часа ночи было 20 игроков...
Видимо, поэтому и проявилась проблема: типа, там была дикая очередь на сохранение логов...

 

Хз, если мы предполагаем, что онлайн будет всегда такой, то надо гемороиться.
Если же мы реалисты, то можно не париться пока. Кроме того, @Rock_tea, простейшим решением такой проблемы будет - перенос времени рестарта на хотя бы 4 утра по мск, как это было раньше = с большей вероятностью будет меньше народа и действий = успеет просраться. Можно и на 5, но это уже не точно, т.к. хз сколько народа играет с Урала.

 

Если же идём по кашерному пути, то надо сначала разбираться с местом на диске...

 


 

Короче, договорились, что:

  • проблема не несёт системный характер, но связана с большим количеством игроков в праздники = поэтому в последние два дня было
    • суть проблемы - в очереди логов на отправку в удалённую БД с ограничением на запросы
    • вчера очередь была на 5 часов, когда Чайник в 10 утра по мск полез - само всё прососалось (после рестарта в 3)
    • сегодня уже даже до 11 утра не решилась проблема = очередь превышала 8 часов...
  • перенесли рестарт на более позднее время - на 4.30 вроде + молимся, чтобы праздники кончились = ночью будет поменьше народа

 

Если проблема не решится и у нас будет куча народа играть, то будем докупать 50 Гб места на впс и переносить туда БД плагина-логгера = +300р затрат в месяц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почистил БД плагина-логгера:

  • данные по блокам - с начала декабря 2017 года
  • по остальным типам данных, аля сундуки, мобы и т.д. - может, чуть больше или даже за год и больше, т.к. их прям дико меньше
  • удалил 35 млн строк (всего уже грохнули 60 млн за всё время ведения этой БД); 2 дня удалял с этими ограничениями на использование ресурсов...
  • осталось ещё 75 млн записей по блокам (12 Гб) и ещё 4 млн на всё остальное - всего 16 Гб

 

Чё-т до хера получается при текущем онлайне...
Если всё будет также хорошо, то надо будет докупать там место до 50 Гб = буду платить на 42р в месяц, а 84 )

 


 

Если я правильно понял, то больше не повторяется проблема с зависоном ночного рестарта, т.к. БД справляется с количеством запросов.

 

xdL84.png

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так, наконец-то, кое-как за 4 дня я почистил около 80 млн записей в таблице с блоками и освободил около 10 Гб места в БД.

Теперь у нас данные по блокам - только с мая: Tue, 15 May 2018 10:27:07 GMT

Ща ещё немного по сущностям почистил - теперь с 16 марта 2018.

Контейнеры - с января 2018 года.

 

По остальным данным - почти за 2 года инфа есть, т.к. почти не занимает места.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перетащили БД плагина-логгера на нашу VPS - теперь откаты будут шустрыми, надеюсь.

Гемора с очередью запросов тоже.

Всем приятной игры )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Похожий контент

    • От Admin
      Иходники
       
      Новый конфиг:
      https://t.me/bbyaw/152856
       
      Чуть подробнее:
      https://t.me/bbyaw/152895
       
       
       
       
       
      Помогите найти плагин, который будет передавать значения переменных на сайт - по запросу при обращении к этому плагину.
      Ну, грубо говоря, как динмапа - к этому плагину же обращаются, и он явно что-то забирает с сервера и передаёт в браузер по запросу.
       
      Вот, нужно только передавать значения запрашиваемых переменных
       
       
       
      Варианты такие:
      либо уже готовый плагин с открытым исходным кодом либо помочь сделать  
      Если поможете найти готовый, который мы в итоге поставим на сервер, готов отблагодарить вас в размере 10к зелёненьких

      P.S.: @OcelotJungle, если есть желание наковырять подобный плагин самостоятельно, то я бы обсудил условия в вк ))
    • От Rock_tea
      Список команд:
      /send - передать изумруды другому игроку, онлайн. Подробности и размер комиссии - "/send" в игре. Ведется лог операций. /mute, /unmute - заткнуть/размутить игрока. Доступны игрокам с тегом "Muter". Автоматический 10-минутный мут. Отслеживает основные матюки, на всякий пожарный. Ведется лог выражений. /tags - пишет игроку список его тегов. /inv - показывает содержимое в кэше. Инвентарь сохраняется в кэш на ивентах или при попадании в тюрьму.  
      Команды ГМ
      /inv list - список игроков, чьи инвентари находятся в кэше. /inv take PlayerName - перемещает инвентарь игрока в кэш. /inv give PlayerName - возвращает игроку инвентарь из кэша, заменяя инвентарь игрока. /inv givechest PlayerName - создает двойной сундук и перемещает туда инвентарь из кэша.  
       
    • От Admin
      Неплохой плагин для сохранения и бэкапа мира.
      Давно с ним дружу, но настраивается он сложно.
       
      Инфа | FAQ | Свежие версии
       
       
      Как залить на Dropbox:
       
       
      Решил продублировать FAQ:
       
       
       
       
      Мне нужна помощь с настройкой удалённой отправки бэкапов без использования диска на хостинге сервера.
      Устроит любой вариант - хоть FTP, хоть Dropbox (думаю, что с этим сложнее).
       
      В первую очередь, нужна помощь с правильными параметрами отправки бэкапов на удалённый FTP.
      Вопрос по этой секции конфига:
      backup: enabled: true interval: 86400 savebefore: true broadcast: true rateLimit: -1 localfs: enabled: true destinationfolders: - /game/test/. zip: true worlds: - '*' MaxNumberOfWorldsBackups: 15 pluginsfolder: false MaxNumberOfPluginsBackups: 15 otherfolders: [] MaxNumberOfOtherFoldersBackups: 15 excludefolders: [] ftp: enabled: false sftp: false hostname: 127.0.0.1 port: 21 login: user password: password path: asw zip: false worlds: - '*' pluginsfolder: false otherfolders: [] excludefolders: [] maxNumberOfBackups: 4 Нужно настроить плагин так, чтобы:
      в идеале на хостинге сервера вообще не создавались файлы бекапа из-за нехватки места нужно сразу отправлять бэкап на фтп, если это возможно в идеале - сразу заархивированным если не получится создавать архив на лету, то в идеале - отправлять файлы на удалённый FTP, там архивировать их и автоматически удалять по завершении процедуры. Нужно именно постараться провести успешный тест. Теоретически могу выделить тестовые сервера для этого, но лучше провести тест самостоятельно.
       
      В общем, я так понимаю, что: отключу - автобэкап, сохранение локальных файлов (это не сработало - всё равно локально создаёт файлы), включу - фтп и архивацию.
      Вчера, во время тестов, я ни разу не увидел архивов. Ранее, год или два назад я уже юзал этот плагин и тогда архивы, вроде бы, создавались...
       
      Заранее спасибо
       
       
    • От Admin
      Исходники
       
      Через команду /gc можно посмотреть все возможности.
       
       
       
      @OcelotJungle сделал первый плагин под нужды сервера.
      Постараемся перевести систему гильдий и кланов на собственный плагин.
      Если всё получится, то перебалансировать систему гильдий будет проще простого )))
       
      Уже сейчас попросили небольшую консультацию у @newoldmax и @RedTeapot, чтобы они помогли устранить явные косяки.
      Теперь обращаемся ко всем спецам по плагинам и тем, кто только начинает творить свои плагины: помогите нам отладить код и функционал плагина.
      Если будут какие-то замечания, рекомендации, советы или просто вопросы, обращайтесь тут - обсудим
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×