GithubHelp home page GithubHelp logo

lifemc / lifeskript Goto Github PK

View Code? Open in Web Editor NEW
5.0 4.0 3.0 25.28 MB

LifeSkript is a Bukkit/Spigot plugin which allows server admins to customize their server easily, but without the hassle of programming a plugin or asking/paying someone to program a plugin for them.

Home Page: https://www.lifemcserver.com/forum/

License: GNU General Public License v3.0

Batchfile 0.29% Java 96.99% Shell 0.07% Kotlin 2.65%
skript skript-minecraft skript-language skript-core skript-lang skript-plugin skript-addon skript-bukkit scripting-language skript-spigot

lifeskript's Introduction

LifeSkript Skript Fork

Release Discord License Build Status Codacy Badge Known Vulnerabilities

LifeSkript is a plugin for Bukkit/Spigot, which allows server owners and other people to modify servers without learning Java.
It can also be useful if you know Java; some tasks are quicker to do with Skript, and so it can be used for prototyping etc.

Also, Skript is a very easy and understandable domain-specific scripting language, written in plain english sentences. Read the wiki for a great tutorial.

Server Compatibility

Requirements for running Skript is:

  • Java 8 or later installed. (Java 8, 11 or 15 is recommended) (Java 8 is highly recommended)
  • A Bukkit or Bukkit-based (Bukkit, CraftBukkit, Spigot, PaperSpigot, TacoSpigot, etc.) server to run Skript.
  • Minecraft version compatibility is:
    • Tested: 1.7.10 - 1.8.8 (also any version between these) (recommended: TacoSpigot 1.8.8)
    • Can maybe work: 1.2.5 and above (others also maybe work)
  • If your server is 1.9 or above, please use Bensku's fork. It's the most updated latest fork of Skript. Get it here: https://github.com/SkriptLang/Skript

I've only created this fork for my old 1.7.10 server, so don't expect too much. I will back-port and/or make some sort of bug fixes and features but nothing too much.

Goals Of This Fork

  • Provide bug fixes and backports to older server versions.
  • Improve the overall performance of the plugin and scripts.

For more info about performance, see the wiki: Improving performance

Issues and Pull Requests

Feel free to report all issues, make pull requests, etc. but I can't guarantee these issues will be fixed because I'm not the original author of the Skript and don't know everything about Skript.

Versioning System

  • Stable Releases: No suffix. Just (generally) a major version. (like 2.2.17, 2.2.18 etc.)
  • Beta or Preview Releases (tested): Stable version + A suffix and number. (like 2.2.16-beta1, 2.2.16-pre2 etc.)
  • Nightly Builds (untested): Not available via an official download. Clone this repo and build yourself.

Note: Some releases may also contain hotfixes or backports from newer releases or commits.

Download Links

You can download the latest release from here:
https://github.com/LifeMC/LifeSkript/releases/latest/

If you want to use dev versions or your custom version, you should clone the repo and compile yourself.
Note: For this, a basic XML, Maven, Git and Java information is required. Search it if you are interested.

Wiki & How-To Pages

The wiki contains some information may be useful for you ;)
https://github.com/LifeMC/LifeSkript/wiki

Useful Links

Some useful links maybe help you.

Github Links

Documentation

Forums

lifeskript's People

Contributors

codacy-badger avatar dependabot-preview[bot] avatar dependabot-support avatar lgtm-com[bot] avatar renovate[bot] avatar snyk-bot avatar thedgofficial avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

lifeskript's Issues

Error after joining server

Describe the bug
Error appears after joining the server. Tested with 2.2.15 development build, but it should also appear on 2.2.14. This is a critical bug and can only be solved by disabling the updater in 2.2.14.

To Reproduce

  1. Install 2.2.14 or 2.2.15 on a fresh server
  2. Make sure updater is enabled
  3. Join the server, and this errors shows up.
[02:14:19 WARN]: [Skript] Task #19 for Skript v2.2.15 generated an exception
ch.njol.skript.SkriptAPIException: This method must be called asynchronously!
        at ch.njol.skript.Skript.getLatestVersion(Skript.java:438) ~[?:?]
        at ch.njol.skript.Skript.getLatestVersion(Skript.java:409) ~[?:?]
        at ch.njol.skript.Skript.getLatestVersion(Skript.java:384) ~[?:?]
        at ch.njol.skript.Skript.lambda$0(Skript.java:209) ~[?:?]
        at ch.njol.skript.localization.FormattedMessage.toString(FormattedMessage.java:65) ~[?:?]
        at ch.njol.skript.Skript$3.run(Skript.java:1672) ~[?:?]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:59) ~[LifeSpigot.jar:git-LifeSpigot-e3e2954]
        at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:342) [LifeSpigot.jar:git-LifeSpigot-e3e2954]
        at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:791) [LifeSpigot.jar:git-LifeSpigot-e3e2954]
        at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:269) [LifeSpigot.jar:git-LifeSpigot-e3e2954]
        at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:637) [LifeSpigot.jar:git-LifeSpigot-e3e2954]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:540) [LifeSpigot.jar:git-LifeSpigot-e3e2954]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [LifeSpigot.jar:git-LifeSpigot-e3e2954]

Expected behavior
Expected no errors.

Screenshots
N/A

Version information:

  • Minecraft Version: 1.7.10
  • Skript Version: 2.2.15

Additional information
This is a critical bug in 2.2.14. I can maybe backport it, but anyways 2.2.15 should not include breaking changes or such, so users should upgrade.

Also if you must run 2.2.14 you can disable updater because you're running 2.2.14 already, updater is the cause of the error.

Enchance version expression for getting Java / OS / Other Plugin versions

Is your feature request related to a problem? Please describe.
With the version expression we can get minecraft, bukkit and skript's version. But we can't get java, os or other plugins versions.

Describe the solution you'd like
Enchance the version expression to include more features i stated above.

Describe alternatives you've considered
N/A

Additional information
N/A

Allow event listeners with cancelled events and priorities

Is your feature request related to a problem? Please describe.
We can't use event priorities and we can't listen to cancelled events! This available in bukkit api and not in Skript. This a big disadvantage. Of course, we can use skript mirror, but why not implement in vanilla Skript?

Describe the solution you'd like
Allow event listeners with cancelled events and priorities.

Describe alternatives you've considered
Using skript mirror C:

Additional information
N/A

Fix eclipse compatibility with Kotlin

Describe the bug
Kotlin classes currently gives error on Eclipse.

To Reproduce
Open the Project with Eclipse.

Expected behavior
Since we are supporting both IDEs, Eclipse should not give errors or warnings.

Screenshots
N/A

Version information:

  • Minecraft Version: N/A
  • Skript Version: 2.2-V13b (dev-build)

Additional information
N/A

Possible solutions
Add Kotlin nature to Project in Eclipse.

Minecraft 1.8 compatibility issue

Describe the bug
Current version, the V10, gives some errors on the console when enabling in Minecraft 1.8.

To Reproduce
Enable a 1.8.8-R0.1 server with V10 version of LifeSkript.

Expected behavior
Expected no errors 👍

Screenshots
N/A

Version information:

  • Minecraft Version: 1.8.8
  • Skript Version: 2.2-Fixes-V10

Additional information

[22:24:24] [Server thread/INFO]: [Skript] Enabling Skript v2.2-Fixes-V10
[22:24:24] [Server thread/INFO]: [Skript] Successfully generated the config, the example scripts and the aliases files.
**[22:24:27] [Server thread/ERROR]: [Skript] '?' is not an entry (like 'name : value') (config.sk, line 1: ?#     __________________________________________________________')**
[22:24:29] [Server thread/INFO]: [Skript] Loaded a total of 12584 english aliases
[22:24:29] [Server thread/INFO]: [Skript]  ~ created by & © Peter Güttinger aka Njol ~
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! 
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! [Skript] Severe Error:
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! Exception in thread Skript offline player resolver thread (fetches UUIDs from the minecraft servers)
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! 
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! If you're developing an add-on for Skript this likely means that you have done something wrong.
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! If you're a server admin however please go to https://github.com/LifeMC/LifeSkript/issues/
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! and check whether this error has already been reported.
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! If not please create a new ticket with a meaningful title, copy & paste this whole error into it,
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! and describe what you did before it happened and/or what you think caused the error.
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! If you think that it's a trigger that's causing the error please post the trigger as well.
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! By following this guide fixing the error should be easy and done fast.
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! 
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! Stack trace:
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! java.lang.NullPointerException
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#!     at ch.njol.skript.bukkitutil.UnresolvedOfflinePlayer$1.run(UnresolvedOfflinePlayer.java:59)
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#!     at java.lang.Thread.run(Thread.java:748)
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! 
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! Version Information:
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#!   Skript: 2.2-Fixes-V10
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#!   Bukkit: 1.8.8-R0.1-SNAPSHOT
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#!   Minecraft: 1.8.8
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#!   Java: 1.8.0_181 (Java HotSpot(TM) 64-Bit Server VM 25.181-b13)
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#!   OS: Windows 10 amd64 10.0
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! 
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! Running CraftBukkit: false
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! 
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! Current node: databases: (config.sk, line 172)
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! Current item: null
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! 
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! Thread: Skript offline player resolver thread (fetches UUIDs from the minecraft servers)
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! 
[22:24:57] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! End of Error.
[22:24:58] [Skript offline player resolver thread (fetches UUIDs from the minecraft servers)/ERROR]: #!#! 

Complete or remove the agents system

Describe the bug
Complete or remove the agents system, first included in V13b, still not (fully) completed in 2.2.14.

To Reproduce
The agents system does not work and not completed currently. It misses while loops.

Expected behavior
Expected to be working or not exist at all.

Screenshots
N/A

Version information:

  • Minecraft Version: N/A
  • Skript Version: 2.2.14

Additional information
This issue should be fixed before the next stable release, the 2.2.15.

Debug the SkriptParser#parse_i method

According to VisualVM and my tests, Skript loads slowly because of the SkriptParser#parse_i method. Time takes to load all of our scripts are ~3 minutes in a regular computer and ~1 minutes in a remote virtual machine (with i7 6700k)

Debugging the SkriptParser#parse_i method maybe help. Maybe this issue is because of an add-on, i don't know. Will update the issue once i finish the debugging.

Enchancement - Because the goal is to improve the SkriptParser performance.

Help Wanted - It is good to get some debug info from other servers via different configurations and add-ons.

Expected Behaviour - We have lot of scripts, variables and add-ons. It is expected, right. But with some profiling, we can find the cause, or.. at least, most time consuming part of parsing, and eliminate it.

High Priority - A lot of servers (including my) are loading slowly because of Skript's slow parser system.

Security or pattern manager for Skript

Is your feature request related to a problem? Please describe.
For in-experienced server admins, a mysterious 'skripter' can send them a script that contains an op command that gives operator to command executor and 'hack' its server in perspective of the in-experienced server admin.

Obviously that is not hacking, it is only injecting a malicious code into a script, possibly making a million line breaks that hides it, or using an uncommon pattern of either EffOp or EffCommand, or even using an effect from an add-on.

Describe the solution you'd like
Add a security manager for EffOp and EffCommand, that gives a warning by default if used to give operator status or gives * permission which has a special meaning in permission plugins that same as giving the operator status.

Checking if a player is an operator in EffOp is not problematical. De-opping it is also not problematical. The problem is in making someone operator. It should give parse warnings by default. For EffCommand, it should warn if op command is detected.

Obviously this should be configurable, but I think giving warnings by default for opping someone would be great. At least giving warnings if the parent line does not contain a condition will be helpful to in-experienced server admins.

For pattern manager, it is a more like long-time goal for Skript. With pattern manager, we can turn on or off specific patterns. It is like features.sk from Mirreski's fork of Skript, but the features file never worked, so we removed it. It should disable the disabled patterns in the scripts, aliases, configs and effect commands.

Also permitting the mysterious popular /op list command would be great for in-experienced server owners, since op command makes the person named with the given argument operator and does not have a list variant to list operators. Some people use these tricks to get operator status, and then say 'I'm a hacker and hacked your server ha ha', it is not hacking it is just tricking someone.

Describe alternatives you've considered
N/A

Additional information
N/A

Critical error, TuSKe incompatibility

Describe the bug
TuSKe gives errors when loading scripts.

[15:02:36] [Server thread/ERROR]: #!#! [Skript] Severe Error:
[15:02:36] [Server thread/ERROR]: #!#! Could not load <censored>.sk
[15:02:36] [Server thread/ERROR]: #!#! 
[15:02:36] [Server thread/ERROR]: #!#! Something went horribly wrong with Skript.
[15:02:36] [Server thread/ERROR]: #!#! This issue is NOT your fault! You probably can't fix it yourself, either.
[15:02:36] [Server thread/ERROR]: #!#! 
[15:02:36] [Server thread/ERROR]: #!#! If you're a server admin please go to https://github.com/LifeMC/LifeSkript/issues
[15:02:36] [Server thread/ERROR]: #!#! and check if this issue has already been reported.
[15:02:36] [Server thread/ERROR]: #!#! 
[15:02:36] [Server thread/ERROR]: #!#! If not please create a new issue with a meaningful title, copy & paste this whole error into it,
[15:02:36] [Server thread/ERROR]: #!#! and describe what you did before it happened and/or what you think caused the error.
[15:02:36] [Server thread/ERROR]: #!#! 
[15:02:36] [Server thread/ERROR]: #!#! If you think that it's a code that's causing the error please post the code as well.
[15:02:36] [Server thread/ERROR]: #!#! By following this guide fixing the error should be easy and done fast.
[15:02:36] [Server thread/ERROR]: #!#! 
[15:02:36] [Server thread/ERROR]: #!#! Also removing the -ea java argument, lowering the verbosity or removing the problematic addons may help.
[15:02:36] [Server thread/ERROR]: #!#! 
[15:02:36] [Server thread/ERROR]: #!#! Stack trace:
[15:02:36] [Server thread/ERROR]: #!#! java.lang.NoSuchMethodError: ch.njol.skript.log.SkriptLogger.logAll(Ljava/util/Collection;)V
[15:02:36] [Server thread/ERROR]: #!#!     at com.github.tukenuke.tuske.util.EffectSection.stopLog(EffectSection.java:200)
[15:02:36] [Server thread/ERROR]: #!#!     at com.github.tukenuke.tuske.util.EffectSection.loadSection(EffectSection.java:89)
[15:02:36] [Server thread/ERROR]: #!#!     at com.github.tukenuke.tuske.util.EffectSection.loadSection(EffectSection.java:113)
[15:02:36] [Server thread/ERROR]: #!#!     at com.github.tukenuke.tuske.sections.gui.EffFormatGUI.init(EffFormatGUI.java:65)
[15:02:36] [Server thread/ERROR]: #!#!     at ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:812)
[15:02:36] [Server thread/ERROR]: #!#!     at ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:153)
[15:02:36] [Server thread/ERROR]: #!#!     at ch.njol.skript.lang.Condition.parse(Condition.java:50)
[15:02:36] [Server thread/ERROR]: #!#!     at ch.njol.skript.ScriptLoader.loadItems(ScriptLoader.java:885)
[15:02:36] [Server thread/ERROR]: #!#!     at ch.njol.skript.command.Commands.loadCommand(Commands.java:531)
[15:02:36] [Server thread/ERROR]: #!#!     at ch.njol.skript.ScriptLoader.loadScript(ScriptLoader.java:588)
[15:02:36] [Server thread/ERROR]: #!#!     at ch.njol.skript.ScriptLoader.loadScripts(ScriptLoader.java:267)
[15:02:36] [Server thread/ERROR]: #!#!     at ch.njol.skript.ScriptLoader.loadScripts(ScriptLoader.java:225)
[15:02:36] [Server thread/ERROR]: #!#!     at ch.njol.skript.Skript.lambda$19(Skript.java:2111)
[15:02:36] [Server thread/ERROR]: #!#!     at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59)
[15:02:36] [Server thread/ERROR]: #!#!     at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:352)
[15:02:36] [Server thread/ERROR]: #!#!     at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:783)
[15:02:36] [Server thread/ERROR]: #!#!     at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378)
[15:02:36] [Server thread/ERROR]: #!#!     at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713)
[15:02:36] [Server thread/ERROR]: #!#!     at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616)
[15:02:36] [Server thread/ERROR]: #!#!     at java.lang.Thread.run(Unknown Source)
[15:02:36] [Server thread/ERROR]: #!#! 
[15:02:36] [Server thread/ERROR]: #!#! Version Information:
[15:02:36] [Server thread/ERROR]: #!#!   Skript: 2.2.16-beta2 (latest)
[15:02:36] [Server thread/ERROR]: #!#!   Bukkit: 1.8.8-R0.1-SNAPSHOT (git-PaperSpigot-"4c7641d" (MC: 1.8.8))
[15:02:36] [Server thread/ERROR]: #!#!   Minecraft: 1.8.8
[15:02:36] [Server thread/ERROR]: #!#!   Java: 1.8.0_211 (Java HotSpot(TM) 64-Bit Server VM 25.211-b12)
[15:02:36] [Server thread/ERROR]: #!#!   OS: Windows Server 2012 R2 amd64 6.3 (64-bit)
[15:02:36] [Server thread/ERROR]: #!#! 
[15:02:36] [Server thread/ERROR]: #!#! Server platform: Paper
[15:02:36] [Server thread/ERROR]: #!#! 
[15:02:36] [Server thread/ERROR]: #!#! Current node: make gui slot 9 of player with grass named "<censored> " with lore "<censored>" to run)
[15:02:36] [Server thread/ERROR]: #!#! Current item: not available
[15:02:36] [Server thread/ERROR]: #!#! Current trigger: no trigger
[15:02:36] [Server thread/ERROR]: #!#! 
[15:02:36] [Server thread/ERROR]: #!#! Thread: Server thread
[15:02:36] [Server thread/ERROR]: #!#! 
[15:02:36] [Server thread/ERROR]: #!#! Language: English (system: EN-US)
[15:02:36] [Server thread/ERROR]: #!#! Encoding: file = UTF-8 , jnu = UTF-8 , stderr = UTF-8 , stdout = UTF-8
[15:02:36] [Server thread/ERROR]: #!#! 
[15:02:36] [Server thread/ERROR]: #!#! Skript Addons: Skellett v1.9.6b, Reqn v1.2.5-SNAPSHOT, skRayFall v1.9.12, SkQuery v3.6.0-Lime, TuSKe v1.8.3-v2, WildSkript v1.8
[15:02:36] [Server thread/ERROR]: #!#! 
[15:02:36] [Server thread/ERROR]: #!#! End of Error.
[15:02:36] [Server thread/ERROR]: #!#! 

To Reproduce

  1. Use Skript v2.2.16-beta2 without the fix

  2. Use TuSKe, version does not have a impact

  3. But make sure you're actually using a TuSKe syntax, otherwise the error will not happen, becuase TuSKe won't call the missing log method.

Expected behavior
Expected no errors.

Screenshots
N/A

Version information:

  • Minecraft Version: 1.8.8
  • Skript Version: 2.2.16-beta2 (development build)

Additional information
This should be fixed before the release of 2.2.16-beta2. Or the 2.2.16 at least, because this is a critical error.

Give warnings when using execute console command for things already Skript have

Is your feature request related to a problem? Please describe.
Give warnings when using execute console command for things already Skript have. For example, execute console command "eco give %player% 1000" can be replaced with a more readable and idiomatic way: add 1000 to player's money. This also has better performance.

Describe the solution you'd like
Giving warnings should be fine. However, in future, we might add an auto fixer for small tasks, that fixes a given warning, e.g the newly added redundant string conversion warning. It is easy to fix, but if we have lots of script, it might take time. It might be great to have IDE like features like this.

Describe alternatives you've considered
Not only Vault - Give command and some other things can be replaced. But most laggy version is economy. Because economy transactions are already slow, running them from a Bukkit command through main server thread makes it more slow.

Additionally everyone knows executing a command generates a overhead, since it triggers events, and plugins listen to them. Directly using Skript's Vault Hook functions is the more performance friendly and idiomatic way.

Additional information
As said above - In future, we also might be interested to implement an optimizer and/or quick fixer for most common warnings and/or errors.

Error in Minecraft 1.7

Describe the bug
Skript gives a NoSuchMethodError for a method in Minecraft 1.7 (or lower, i think).

To Reproduce
Possibly happens when looping entities in a range.

Expected behavior
Expected no errors at all.

Screenshots
N/A

Version information:

  • Minecraft Version: 1.7.10
  • Skript Version: 2.2-Fixes-V10c

Additional information

[20:29:52] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to Skript v2.2-Fixes-V10c
java.lang.NoSuchMethodError: org.bukkit.World.getNearbyEntities(Lorg/bukkit/Location;DDD)Ljava/util/Collection;
	at ch.njol.skript.expressions.ExprEntities.iterator(ExprEntities.java:194) ~[Skript.jar:?]
	at ch.njol.skript.lang.Loop.walk(Loop.java:81) ~[Skript.jar:?]
	at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:91) ~[Skript.jar:?]
	at ch.njol.skript.lang.Trigger.execute(Trigger.java:58) ~[Skript.jar:?]
	at ch.njol.skript.SkriptEventHandler.check(SkriptEventHandler.java:149) ~[Skript.jar:?]
	at ch.njol.skript.SkriptEventHandler$2.execute(SkriptEventHandler.java:110) ~[Skript.jar:?]
	at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:51) ~[LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:509) [LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:494) [LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:243) [LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:213) [LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:717) [LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at net.minecraft.server.v1_7_R4.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:50) [LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at net.minecraft.server.v1_7_R4.PacketPlayInBlockPlace.handle(PacketPlayInBlockPlace.java:86) [LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:204) [LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:915) [LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:313) [LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:655) [LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:556) [LifeSpigot.jar:git-LifeSpigot-bf3d5f0]
	at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [LifeSpigot.jar:git-LifeSpigot-bf3d5f0]

Updater bug

Describe the bug
The latest version of the Skript Fixes is V10 and updater shows a "... V10 is out" style warning even in V10.

To Reproduce
Just open server with V10 version. Updater shows a "... V10 is out" style warning.

Expected behavior
The V10 is already the latest version for now. Updater should show a "... you are running latest version ..." style message.

Screenshots
Skipped (N/A)

Version information:

  • Minecraft Version: Any
  • Skript Version: 2.2-Fixes-V10

Additional information
The updater outputs after server initialization is below.

[05:13:41] [Craft Scheduler Thread - 0/INFO]: [Skript] A new version of Skript has been found. Skript 2.2-Fixes-V10 has been released. It's highly recommended to upgrade to the latest skript version.
[05:13:41] [Craft Scheduler Thread - 0/INFO]: [Skript] You can download the latest Skript version here: https://github.com/LifeMC/LifeSkript/releases/latest/

Strange argument bug, arguments won't reset

Describe the bug
Arguments don't reset after executing the command.

To Reproduce

  1. Use Skript 2.2.14 or 2.2.15 development build without the fix
  2. Load this script:
command /test [<text>]:
	trigger:
		if arg-1 is not set:
			send "&cPlease enter an argument"
		else:
                        send "&aYou entered&f: &b%arg-1%"
  1. Execute /test, it should say "Please enter an argument"
  2. Execute /test 1, it should say "You entered: 1"
  3. Re-execute /test without arguments, it should say "Please enter an argument", but it says "You entered: 1"

So, arguments not reset after executing commands. This bug affects V13b, 2.2.14 and the 2.2.15. This should be fixed before the release of 2.2.15 and notes like "This version contains strange bugs, please use 2.2.15 instead!" should be added to V13b and 2.2.14 versions.

Expected behavior
Expected arguments to reset after executing the command.

Screenshots
N/A

Version information:

  • Minecraft Version: 1.7.10
  • Skript Version: 2.2.15

Additional information
This should be fixed before the release of 2.2.15.

Another random error when stopping the server

Describe the bug
A random InterruptedException error occurs when stopping the server.

To Reproduce
Error is random. But it occurs when stopping the server.

Expected behavior
Expected no errors. Just a clean shutdown.

Screenshots
N/A

Version information:

  • Minecraft Version: 1.8.8
  • Skript Version: 2.2-Fixes-V12

Additional information

[14:12:52] [Server thread/INFO]: [Skript] Disabling Skript v2.2-Fixes-V12
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! 
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! [Skript] Severe Error:
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! An error occured when resolving offline player UUID's in a background thread. Skipping, but maybe this error printed several times if your server is problematic. Anyway, please report this error to ensure the problem.
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! 
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! If you're developing a java add-on for Skript this likely means that you have done something wrong.
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! If you're a server admin however please go to https://github.com/LifeMC/LifeSkript/issues/
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! and check whether this issue has already been reported.
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! If not please create a new issue with a meaningful title, copy & paste this whole error into it,
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! and describe what you did before it happened and/or what you think caused the error.
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! If you think that it's a trigger that's causing the error please post the trigger as well.
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! By following this guide fixing the error should be easy and done fast.
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! 
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! Stack trace:
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! java.lang.InterruptedException
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#!     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#!     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2048)
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#!     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#!     at ch.njol.skript.bukkitutil.UnresolvedOfflinePlayer$1.run(UnresolvedOfflinePlayer.java:64)
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#!     at java.lang.Thread.run(Thread.java:748)
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! 
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! Version Information:
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#!   Skript: 2.2-Fixes-V12 (latest)
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#!   Bukkit: 1.8.8-R0.1-SNAPSHOT (git-Spigot-21fe707-e1ebe52 (MC: 1.8.8))
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#!   Minecraft: 1.8.8
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#!   Java: 1.8.0_192 (OpenJDK 64-Bit Server VM 25.192-b12)
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#!   OS: Linux amd64 4.15.0-43-generic
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! 
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! Running CraftBukkit: false
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! 
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! Current node: null
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! Current item: not available
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! Current trigger: no trigger
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! 
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! Thread: Skript offline player resolver thread
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! 
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! Language: English
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! 
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! End of Error.
[14:12:52] [Skript offline player resolver thread/ERROR]: #!#! 

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

github-actions
.github/workflows/maven.yml
  • actions/cache v3.0.5
  • actions/checkout v3.0.2
  • actions/setup-java v3.4.1
  • actions/cache v3.0.5
  • actions/cache v3.0.5
  • actions/upload-artifact v3.1.0
  • ludeeus/action-shellcheck 1.1.0
maven
pom.xml
  • org.spigotmc:spigot-api ${api.version}-R0.1-SNAPSHOT
  • co.aikar:timings 1.8.8
  • org.fusesource.jansi:jansi 2.4.0
  • patpeter:sqlibrary 7.1
  • fr.neatmonster:nocheatplus 3.16.1-SNAPSHOT
  • net.milkbowl.vault:vault-plugin 1.5.6
  • com.sk89q:worldguard 6.1.2
  • com.sk89q:worldedit 6.1.9
  • me.ryanhamshire:griefprevention 13.9.1
  • com.google.guava:guava 31.1-jre
  • org.eclipse.jdt:org.eclipse.jdt.annotation 1.2.0
  • com.github.spotbugs:spotbugs-annotations 4.7.1
  • com.google.code.findbugs:jsr305 3.0.2
  • javax.annotation:javax.annotation-api 1.3.2
  • org.jetbrains:annotations 23.0.0
  • org.jetbrains.kotlin:kotlin-stdlib-jdk8 1.7.10
  • org.jetbrains.kotlin:kotlin-stdlib 1.7.10
  • org.junit.jupiter:junit-jupiter-engine 5.9.0
  • org.junit.platform:junit-platform-launcher 1.9.0
  • org.junit.platform:junit-platform-runner 1.9.0
  • org.easymock:easymock 4.3
  • org.jetbrains.kotlin:kotlin-test-junit 1.7.10
  • org.apache.maven.plugins:maven-enforcer-plugin 3.1.0
  • org.codehaus.mojo:extra-enforcer-rules 1.6.1
  • org.codehaus.plexus:plexus-utils 3.4.2
  • org.apache.maven.plugins:maven-clean-plugin 3.2.0
  • org.apache.maven.plugins:maven-install-plugin 3.0.1
  • org.jetbrains.kotlin:kotlin-maven-plugin 1.7.10
  • org.apache.maven.plugins:maven-compiler-plugin 3.10.1
  • org.codehaus.plexus:plexus-compiler-eclipse 2.12.1
  • org.codehaus.plexus:plexus-utils 3.4.2
  • org.eclipse.jdt:ecj 3.30.0
  • org.codehaus.mojo:build-helper-maven-plugin 3.3.0
  • org.apache.maven.plugins:maven-shade-plugin 3.3.0
  • org.apache.maven.plugins:maven-jar-plugin 3.2.2
  • org.apache.maven.plugins:maven-resources-plugin 3.3.0
  • org.apache.maven.plugins:maven-surefire-plugin 3.0.0-SNAPSHOT
  • org.apache.maven.plugins:maven-deploy-plugin 3.0.0
  • org.apache.maven.plugins:maven-site-plugin 3.12.0
  • org.eclipse.m2e:lifecycle-mapping 1.0.0

  • Check this box to trigger a request for Renovate to run again on this repository

Method 'loadScript' is too complex to analyze by data flow algorithm

Describe the bug
IntelliJ gives warning "Method 'loadScript' is too complex to analyze by data flow algorithm" in the ScriptLoader#loadScript method.

To Reproduce
Open ScriptLoader and navigate to loadScript method in IntelliJ (tested on IntelliJ IDEA Ultimate Edition 2019.2)

Expected behavior
Expected no warning. Method should be splitted to other methods to reduce its code complexity.

Screenshots
N/A

Version information:

  • Minecraft Version: N/A
  • Skript Version: 2.2.18 Development Build (master)

Additional information
N/A

Skript prevents server from stopping

Is your feature request related to a problem? Please describe.
Skript prevents server from stopping, since it saves all variables only on server stop, when variable count is high, server don't respond and can't close.

Describe the solution you'd like
Two things:

  1. Improve the performance of the variable save system. Variable save system is like the skript parser, it recursively calls itself. That's freezes a lot.

  2. Other than that, adding a tracker is more easier than fixing the slow save system. Just add a tracker like we use in loading variables, e.g: "Loaded x variables so far..", just change it to "Saved x variables so far.."

Describe alternatives you've considered
We use many software to fix shitty performance of Skript, but we can't. It's just so slow.

  1. Eclipse Java Compiler
  2. ProGuard with Tail Recursion Optimization and Other Optimizations (+ Shrinking)
  3. OpenJ9 with Tail Recursion Optimization and other bunch of JVM arguments

Still the parser and the variable save system at the server stop is very very slow.

Additional information
We may consider rewriting the variables and the parser, but it's a long time term. We better of just implement the 2nd solution and report how many variables we saved frequently.

Also - I tested this on my computer. Since an actual server hardware is better, this maybe slow because of my shitty computer. But anyway; it's slow.

Provide minimized & shaded and optimized artifacts

Is your feature request related to a problem? Please describe.
No, but maybe fixes the issue #24, because optimized artifact may improve performance since it uses popular ProGuard tool, a tool that optimizes, obfuscates or shrinks JAR files. We (should) only use optimization, though.

Describe the solution you'd like
A suggestion: Providing minimized & shaded and optimized artifacts as separate JAR files in GitHub releases.

Describe alternatives you've considered
Current approach is also right. Multiple JAR files in releases may confuse people.

Additional information
This issue suggests adding more JAR files to GitHub releases.

  • Normal artifact: Skript.jar provided by Maven build, or the IntelliJ IDEA.
  • Minimized artifact: Same as Normal artifact, but with maximum compression, by WinRAR or 7zip.
  • Shaded artifact: Same as Normal artifact, but with extra dependencies, e.g: annotation dependencies. These dependencies are not required, but anyways, it's "shaded".
  • Optimized artifact: Same as Normal artifact but optimized by ProGuard, we don't shrink or obfuscate, only optimize. ProGuard offers a lot of optimizations.

Optionally we may also provide optimized and shaded or minimized artifacts. Shaded can be achieved by adding optional dependencies (e.g eclipse annotations) to optimized jar file. Minimized can also easily achieved by compressing the JAR file, either by using WinRAR or 7zip, or any other zip / compression program.

We should not use minimized, shaded or optimized artifacts as default JARs though, because they are unstable, since ProGuard may break some things, even shaded and minimized JARs are technically same, we should only use the original JAR file generated by Maven build, or the IntelliJ IDEA.

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Error type: undefined. Note: this is a nested preset so please contact the preset author if you are unable to fix it yourself.

Another critical error that should be fixed

Describe the bug
Since Skript enables the timings by default now, it gives errors.

[15:02:46] [Server thread/ERROR]: Could not pass event CreatureSpawnEvent to Skript v2.2.16-beta2
java.lang.NoSuchMethodError: co.aikar.timings.Timing.startTimingIfSync()Lco/aikar/timings/Timing;
	at ch.njol.skript.timings.SkriptTimings.start(SkriptTimings.kt:42) ~[?:?]
	at ch.njol.skript.SkriptEventHandler.check(SkriptEventHandler.java:161) ~[?:?]
	at ch.njol.skript.SkriptEventHandler.lambda$0(SkriptEventHandler.java:69) ~[?:?]
	at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[server-1.8.8.jar:git-PaperSpigot-"4c7641d"]
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[server-1.8.8.jar:git-PaperSpigot-"4c7641d"]
	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [server-1.8.8.jar:git-PaperSpigot-"4c7641d"]
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [server-1.8.8.jar:git-PaperSpigot-"4c7641d"]
	at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callCreatureSpawnEvent(CraftEventFactory.java:277) [server-1.8.8.jar:git-PaperSpigot-"4c7641d"]
	at net.minecraft.server.v1_8_R3.World.addEntity(World.java:1019) [server-1.8.8.jar:git-PaperSpigot-"4c7641d"]
	at net.citizensnpcs.npc.CitizensNPC.spawn(CitizensNPC.java:189) [Citizens.jar:?]
	at net.citizensnpcs.npc.CitizensNPC.load(CitizensNPC.java:132) [Citizens.jar:?]
	at net.citizensnpcs.api.npc.SimpleNPCDataStore.loadInto(SimpleNPCDataStore.java:59) [Citizens.jar:?]
	at net.citizensnpcs.Citizens$2.run(Citizens.java:297) [Citizens.jar:?]
	at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59) [server-1.8.8.jar:git-PaperSpigot-"4c7641d"]
	at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:352) [server-1.8.8.jar:git-PaperSpigot-"4c7641d"]
	at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:783) [server-1.8.8.jar:git-PaperSpigot-"4c7641d"]
	at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [server-1.8.8.jar:git-PaperSpigot-"4c7641d"]
	at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [server-1.8.8.jar:git-PaperSpigot-"4c7641d"]
	at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [server-1.8.8.jar:git-PaperSpigot-"4c7641d"]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_211]

To Reproduce
Not sure.

Expected behavior
Expected no errors.

Screenshots
N/A

Version information:

  • Minecraft Version: 1.8.8
  • Skript Version: 2.2.16-beta2 (development build)

Additional information
N/A

Very slow variable saving and shutdown because of offline player serializer

Describe the bug
Very slow variable saving and shutdown because of offline player serializer

To Reproduce
Try with a database with very high variable count, mainly by offline player variables

Expected behavior
Expected variable save to be fast as possible and not to block shutdown

Screenshots
N/A

Version information:

  • Minecraft Version: 1.7.10
  • Skript Version: 2.2.17

Additional information

Don't put name to fields in BukkitClasses$11.serialize(BukkitClasses.java:495), if UUIDs are supported UUID is already put. This slows down saving and shutdown.

[13:01:26] [Skript spike detector/WARN]: The server has not responded for 530 seconds! Creating thread dump...
[13:01:26] [Skript spike detector/WARN]: Bukkit: git-LifeSpigot-e3e2954 (MC: 1.7.10) | Java: 1.8.0_222 (Eclipse OpenJ9 VM openj9-0.15.1) | OS: Windows 10 amd64 10.0 (x64) | Cores: 2 | Host: <censored IP address>
[13:01:26] [Skript spike detector/WARN]: ------------------------------
[13:01:26] [Skript spike detector/WARN]: Server thread dump:
[13:01:26] [Skript spike detector/WARN]: ------------------------------
[13:01:26] [Skript spike detector/WARN]: Current Thread: Server thread
[13:01:26] [Skript spike detector/WARN]: 	PID: 23 | Suspended: false | Native: true | Daemon: false | State: RUNNABLE | Priority: 10
[13:01:26] [Skript spike detector/WARN]: 	Stack:
[13:01:26] [Skript spike detector/WARN]: 		java.io.FileInputStream.read0(Native Method)
[13:01:26] [Skript spike detector/WARN]: 		java.io.FileInputStream.read(FileInputStream.java:207)
[13:01:26] [Skript spike detector/WARN]: 		java.util.zip.CheckedInputStream.read(CheckedInputStream.java:59)
[13:01:26] [Skript spike detector/WARN]: 		java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:266)
[13:01:26] [Skript spike detector/WARN]: 		java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:258)
[13:01:26] [Skript spike detector/WARN]: 		java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:164)
[13:01:26] [Skript spike detector/WARN]: 		java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:79)
[13:01:26] [Skript spike detector/WARN]: 		java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:91)
[13:01:26] [Skript spike detector/WARN]: 		net.minecraft.server.v1_7_R4.NBTCompressedStreamTools.a(NBTCompressedStreamTools.java:22)
[13:01:26] [Skript spike detector/WARN]: 		net.minecraft.server.v1_7_R4.WorldNBTStorage.getPlayerData(WorldNBTStorage.java:240)
[13:01:26] [Skript spike detector/WARN]: 		org.bukkit.craftbukkit.v1_7_R4.CraftOfflinePlayer.getData(CraftOfflinePlayer.java:174)
[13:01:26] [Skript spike detector/WARN]: 		org.bukkit.craftbukkit.v1_7_R4.CraftOfflinePlayer.getBukkitData(CraftOfflinePlayer.java:178)
[13:01:26] [Skript spike detector/WARN]: 		org.bukkit.craftbukkit.v1_7_R4.CraftOfflinePlayer.getName(CraftOfflinePlayer.java:56)
[13:01:26] [Skript spike detector/WARN]: 		ch.njol.skript.classes.data.BukkitClasses$11.serialize(BukkitClasses.java:495)
[13:01:26] [Skript spike detector/WARN]: 		ch.njol.skript.classes.data.BukkitClasses$11.serialize(BukkitClasses.java:1)
[13:01:26] [Skript spike detector/WARN]: 		ch.njol.yggdrasil.YggdrasilOutputStream.writeGenericObject(YggdrasilOutputStream.java:180)
[13:01:26] [Skript spike detector/WARN]: 		ch.njol.yggdrasil.YggdrasilOutputStream.writeObject(YggdrasilOutputStream.java:250)
[13:01:26] [Skript spike detector/WARN]: 		ch.njol.skript.registrations.Classes.serialize(Classes.java:756)
[13:01:26] [Skript spike detector/WARN]: 		ch.njol.skript.variables.FlatFileStorage.save(FlatFileStorage.java:502)
[13:01:26] [Skript spike detector/WARN]: 		ch.njol.skript.variables.FlatFileStorage.save(FlatFileStorage.java:496)
[13:01:26] [Skript spike detector/WARN]: 		ch.njol.skript.variables.FlatFileStorage.save(FlatFileStorage.java:496)
[13:01:26] [Skript spike detector/WARN]: 		ch.njol.skript.variables.FlatFileStorage.saveVariables(FlatFileStorage.java:438)
[13:01:26] [Skript spike detector/WARN]: 		ch.njol.skript.variables.FlatFileStorage.close(FlatFileStorage.java:340)
[13:01:26] [Skript spike detector/WARN]: 		ch.njol.skript.Skript.onDisable(Skript.java:3327)
[13:01:26] [Skript spike detector/WARN]: 		org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:317)
[13:01:26] [Skript spike detector/WARN]: 		org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:354)
[13:01:26] [Skript spike detector/WARN]: 		org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:422)
[13:01:26] [Skript spike detector/WARN]: 		org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:415)
[13:01:26] [Skript spike detector/WARN]: 		org.bukkit.craftbukkit.v1_7_R4.CraftServer.disablePlugins(CraftServer.java:412)
[13:01:26] [Skript spike detector/WARN]: 		net.minecraft.server.v1_7_R4.MinecraftServer.stop(MinecraftServer.java:381)
[13:01:26] [Skript spike detector/WARN]: 		net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:575)
[13:01:26] [Skript spike detector/WARN]: 		net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628)
[13:01:26] [Skript spike detector/WARN]: ------------------------------
[13:01:27] [Server thread/INFO]: [Skript] Saved total of 721551 variables in 8 minutes and 49.5 seconds```

Secure Random & Better Hashing Algorithm Support

Is your feature request related to a problem? Please describe.
Generating randomness with the random source of new java.util.Random() is not secure. MD5 or SHA-256 as a hashing algorithm is also not secure.

Describe the solution you'd like
It should be kept like that for compatibility reasons and the performance penalty of new java.security.SecureRandom(), but there should be a config option to switch over to new java.security.SecureRandom().

For the hashing; the default hashing algorithm should also be kept like that, but there should be warnings and a config option to switch over to a new algorithm, like Argon2 (for auth scripts, resource intensive and may be hard to implement but it will be secure)

Describe alternatives you've considered
N/A

Additional information
N/A

Getting arguments in on command event

Is your feature request related to a problem? Please describe.
We can't get arguments used in on command event, unless we do it yourself by splitting the full command, and then accessting arguments.

Describe the solution you'd like
Change the arg expression to accept on command events.

Describe alternatives you've considered
Maybe we add separate expressions, but it's only an alternative.

Additional information
N/A

Add server IP and port expression

Is your feature request related to a problem? Please describe.
We can't get the server IP and port, that can be used in for example licensed/paid scripts.

Describe the solution you'd like
We already make a request to the amazon's whatismyip domain at server startup in the static block, on the main Skript class. For my knowledge and research, the external public IP can't be gotten without making a request to a remote service with plain Java.

But for IP, Bukkit has a method and we also already read the server.properties file in the main Skript class, on the JavaPlugin#onLoad method we override to make work arounds.

Describe alternatives you've considered
N/A

Additional information
N/A

Boolean condition and reversed boolean expression

Is your feature request related to a problem? Please describe.
Writing conditions like true is true # for representing literal true condition or false is true # for representing literal false condition is pointless. We should can be able to use things like while true and if false: # unreachable directly.

Also we can't use some not patterns in some conditions. Like for example if message not contains "a" does not work, doesn't contain instead of not contains works, though.

Describe the solution you'd like
Add a long waited CondBoolean and a reversed boolean expression that returns boolean and can be used as a condition.

Describe alternatives you've considered
N/A

Additional information
Pattern recommendations:

%boolean% # for while true: etc.
(!|inversed|reversed|not)%boolean% # for if message not contains "x" etc.

Note that the second one should return a boolean and should be an expression, not a condition. The CondBoolean will wrap it anyway, so we can also use it as a condition.

This way, we can make all conditions expressions that returns booleans, but we have many expressions and I'm not going to do so since expressions are taking more time to parse and we have many expressions.

We should also undeprecate the shortcut boolean condition from SkQuery, it is deprecated in an internal SkriptParser code that I'm forgotten. We can maybe try to override SkQuery's, since it is maybe bugged, if it is not already overridden.

Also if we make all conditions expressions, the result of condition %condition% # result of (condition|boolean) (<.+>[,]|%boolean%) pattern that used by ExprResultOfCondition and the Effect Commands will be useless, but we don't have any plans to remove conditions to make all of them expressions, so they can be last for a long time.

Error when stopping server

Describe the bug
If you instantly stop the server after it opens, the Skript will give this error.

[15:28:53 WARN]: Exception in thread "Craft Scheduler Thread - 0" 
[15:28:53 WARN]: org.apache.commons.lang.UnhandledException: Plugin Skript v2.2-Fixes-V11 generated an exception while executing task 4
    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.bukkit.plugin.IllegalPluginAccessException: Plugin attempted to register task while disabled
    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.validate(CraftScheduler.java:398)
    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:123)
    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.runTaskLater(CraftScheduler.java:106)
    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.runTask(CraftScheduler.java:89)
    at ch.njol.skript.Skript$4.run(Skript.java:545)
    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59)
    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
    ... 3 more

To Reproduce

  1. Create a clean server.
  2. Put Skript.jar to plugins directory.
  3. Start the server and send the "stop" command.

Expected behavior
Expected no errors, just a clean boot.

Screenshots
N/A

Version information:

  • Minecraft Version: 1.8.8 (Error occurs in all versions)
  • Skript Version: 2.2-Fixes-V11

Additional information
N/A

Add more hashing algorithms other than MD5

Is your feature request related to a problem? Please describe.
We can't use algorithms other than MD5 in hash expression.

Describe the solution you'd like
Adding SHA1 and possibly more hashing algorithms will be great.

Describe alternatives you've considered
N/A

Additional information
Resolves recently added todo comment:

/* FIXME Actually support new algorithms, SHA1 for now will be great,

Add a configuration section, like Java's manifest

Is your feature request related to a problem? Please describe.
Add a section (like variables, options etc.) that specifies the required skript version, required add-ons (plugins maybe better), etc. (also minecraft version will be great)

Describe the solution you'd like
Implement a configuration section, something like java's manifest file.

Describe alternatives you've considered
No alternative i think instead of this.

Additional information
Real-world example:

configuration:
 # The Skript version this script is written - this maybe useful when applying optimizations, or ignoring newly added warnings when this lower than the version that warning is added etc. in future.
 source: 2.2.14
 # The minimum Skript version that this script works - scripts should only go higher on this value if they use newly added expressions etc., source handles other case.
 target: 2.2.14
 
 # This maybe useful if we're using items, particles etc. only available on a specific minecraft version.
 requires minecraft: 1.8.8

 # This section may be duplicated to require more than one plugin. It's great to fail-fast instead of giving strange errors to end-users when a add-on that script requires is missing.
 requires plugin: TuSKe
 requires plugin: Reqn

on load:
 # Here we guarantee we have an environment with Skript 2.2.14+, Minecraft 1.8.8+, TUSKe and Reqn, so we can use syntaxes, particles etc. from these, without causing any syntax errors
 [do something with Skript 2.2.14+, Minecraft 1.8.8+, TuSKe and Reqn]

How it works:

Since the configuration is on top of the file, we first read the configuration. If any of the conditions is not met, we're stop parsing the script. So only one "end-user friendly" error is printed. If all conditions are met, we continue parsing.

This not just for specifying requirements - the source attribute can also be used in future for example applying optimizations, or ignoring newly added warnings when this lower than the version that warning is added.

Of course the warning disabling etc. should can be disabled. Warnings are useful and let's you see / spot bugs and enchance your script, but it's not that case in perspective of an end-user that downloads / uses scripts from internet.

Other suggestions:

Maybe customizable messages can also be added (e.g, "The %x script requires the add-on %x to work correctly. Please download %x add-on from %x"), but it's not the point. Also, one critical note, don't give an error like "Unknown configuration key: %x" for the configuration section, so when a new Skript version adds a new configuration option, scripts that use these new configuration options will still work without giving errors on older versions (of course that key does nothing on older versions)

Default values:

The default value of the configuration keys other than source should not be present (e.g not requiring anything by default). But source should be the current major.minor.%one digit revision number% version by default, and can should be configurable from the config (e.g: user may want to use the current latest version by default).

For example, if we are using the Skript version 2.2.14, the source by default should be 2.2.1. This way, we guarantee the source compatibility (e.g: a script works on 2.2.10 should not give errors or warnings up to 2.2.19) at least ten revision releases, e.g the default source value should not be changed inbetween 2.2.10-2.2.19, but it should be changed in 2.2.20 to 2.2.2.

For the above parapgraph, the following assumptions were true:

If skript version is …… Then default source version is this

2.2.14 ……………………………………. 2.2.1
2.2.19 ……………………………………. 2.2.1

2.2.20 ……………………………………. 2.2.2
2.2.29 ……………………………………. 2.2.2

2.2.30 ……………………………………. 2.2.3
2.2.40 ……………………………………. 2.2.4

2.2.100 ……………………………………. 2.2.10

2.3.0 ……………………………………. 2.3.0
2.3.20 ……………………………………. 2.3.2

2.3.100 ……………………………………. 2.3.10

And so on. It continues like that. even when i don't plan releasing a 2.3 or 3.0 version and planning to continue from 2.2.x, i added 2.3.x to the graph for more simple understanding.

As you see, we should also take care for version numbers like 2.2.100 and handle it correctly. We only remove the last digit, so everything works correctly.

Allow getting group of a player

Is your feature request related to a problem? Please describe.
Add a player's group expression for getting the group of a player.

Describe the solution you'd like
Implement a permission plugin hook with the Vault bridge.

Describe alternatives you've considered
Using prefixes for getting group of a player is a bad idea.

Additional information
N/A

Allow disabling of documentation generation

Is your feature request related to a problem? Please describe.
The documentation is always generated on startup.

Describe the solution you'd like
Allow disabling generation of documentation via config file.

Describe alternatives you've considered
The Njol's TODO tag states: "Move to test classes"

Additional information
N/A

Enchance effect commands to print output of expressions and conditions

Is your feature request related to a problem? Please describe.
No.

Describe the solution you'd like
All info can be found in Additional information section.

Describe alternatives you've considered
We can use send "%expression or condition%" to me but this feature is already a shortcut for this.

Additional information
Effect commands only accepts effects (as name suggests) but we can just use send effect to get result of a specific expression or condition. Suggestion is: adding this to Skript.

If we can't find the effect, it's probably an expression or condition. Using send "%expression or condition%" to me syntax, we can send result of the expression or condition to sender.

This maybe useful, e.g instead of writing send property "java.version" to me, we write property "java.home" and it detects it's a expression and sends result of the expression.

Error with property expression

Describe the bug
This error occurs when trying to get system property from an empty key

To Reproduce

  1. Start server with Skript v2.2.14.
  2. Write this to console: !property ""

Expected behavior
Expected no errors

Screenshots
N/A

Version information:

  • Minecraft Version: 1.8.8
  • Skript Version: 2.2.14

Additional information

[13:41:46 WARN]: Parse log wasn't instructed to print anything at ch.njol.skript.lang.SkriptParser.parseSingleExpr(SkriptParser.java:838)
[13:41:46 WARN]: Parse log wasn't instructed to print anything at ch.njol.skript.lang.SkriptParser.parseExpression(SkriptParser.java:1030)
[13:41:46 WARN]: Parse log wasn't instructed to print anything at ch.njol.skript.lang.SkriptParser.parse_i(SkriptParser.java:1242)
[13:41:46 WARN]: Parse log wasn't instructed to print anything at ch.njol.skript.lang.SkriptParser.parse_i(SkriptParser.java:1284)
[13:41:46 WARN]: Parse log wasn't instructed to print anything at ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:743)
[13:41:46 WARN]: Parse log wasn't instructed to print anything at ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:161)
[13:41:46 WARN]: Retaining log wasn't instructed to print anything at ch.njol.skript.command.Commands.handleEffectCommand(Commands.java:369)
[13:41:46 ERROR]: #!#!
[13:41:46 ERROR]: #!#! [Skript] Severe Error:
[13:41:46 ERROR]: #!#! Unexpected error while executing effect command 'property ""' by 'CONSOLE'
[13:41:46 ERROR]: #!#!
[13:41:46 ERROR]: #!#! Something went horribly wrong with Skript.
[13:41:46 ERROR]: #!#! This issue is NOT your fault! You probably can't fix it yourself, either.
[13:41:46 ERROR]: #!#!
[13:41:46 ERROR]: #!#! If you're a server admin please go to https://github.com/LifeMC/LifeSkript/issues
[13:41:46 ERROR]: #!#! and check this issue has already been reported.
[13:41:46 ERROR]: #!#!
[13:41:46 ERROR]: #!#! If not please create a new issue with a meaningful title, copy & paste this whole error into it,
[13:41:46 ERROR]: #!#! and describe what you did before it happened and/or what you think caused the error.
[13:41:46 ERROR]: #!#!
[13:41:46 ERROR]: #!#! If you think that it's a code that's causing the error please post the code as well.
[13:41:46 ERROR]: #!#! By following this guide fixing the error should be easy and done fast.
[13:41:46 ERROR]: #!#!
[13:41:46 ERROR]: #!#! Also removing the -ea java argument, lowering the verbosity or removing the problematic addons may help.
[13:41:46 ERROR]: #!#!
[13:41:46 ERROR]: #!#! Stack trace:
[13:41:46 ERROR]: #!#! java.lang.IllegalArgumentException
[13:41:46 ERROR]: #!#!     at java.lang.System.getProperty(System.java:446)
[13:41:46 ERROR]: #!#!     at java.lang.System.getProperty(System.java:433)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.expressions.ExprProperty.get(ExprProperty.java:93)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.expressions.ExprProperty.toString(ExprProperty.java:83)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.lang.VariableString.newInstance(VariableString.java:240)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.lang.VariableString.newInstance(VariableString.java:95)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.lang.SkriptParser.parseSingleExpr(SkriptParser.java:785)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.lang.SkriptParser.parseExpression(SkriptParser.java:874)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.lang.SkriptParser.parse_i(SkriptParser.java:1314)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.lang.SkriptParser.parse_i(SkriptParser.java:1235)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.lang.SkriptParser.parse_i(SkriptParser.java:1267)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:702)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:153)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.lang.Effect.parse(Effect.java:64)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.command.Commands.handleEffectCommand(Commands.java:342)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.command.Commands.onServerCommand(Commands.java:237)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.command.Commands.lambda$4(Commands.java:624)
[13:41:46 ERROR]: #!#!     at ch.njol.skript.command.Commands$$Lambda$64.000000001239F200.execute(Unknown Source)
[13:41:46 ERROR]: #!#!     at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78)
[13:41:46 ERROR]: #!#!     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
[13:41:46 ERROR]: #!#!     at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501)
[13:41:46 ERROR]: #!#!     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486)
[13:41:46 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.DedicatedServer.aO(DedicatedServer.java:411)
[13:41:46 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:379)
[13:41:46 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:715)
[13:41:46 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:618)
[13:41:46 ERROR]: #!#!     at java.lang.Thread.run(Thread.java:813)
[13:41:46 ERROR]: #!#!
[13:41:46 ERROR]: #!#! Version Information:
[13:41:46 ERROR]: #!#!   Skript: 2.2.14 (latest)
[13:41:46 ERROR]: #!#!   Bukkit: 1.8.8-R0.2-SNAPSHOT (git-TacoSpigot-"95870a93" (MC: 1.8.8))
[13:41:46 ERROR]: #!#!   Minecraft: 1.8.8
[13:41:46 ERROR]: #!#!   Java: 1.8.0_212 (Eclipse OpenJ9 VM openj9-0.14.0)
[13:41:46 ERROR]: #!#!   OS: Windows 10 amd64 10.0 (64-bit)
[13:41:46 ERROR]: #!#!
[13:41:46 ERROR]: #!#! Server platform: Taco
[13:41:46 ERROR]: #!#!
[13:41:46 ERROR]: #!#! Current item: not available
[13:41:46 ERROR]: #!#! Current trigger: no trigger
[13:41:46 ERROR]: #!#!
[13:41:46 ERROR]: #!#! Thread: Server thread
[13:41:46 ERROR]: #!#!
[13:41:46 ERROR]: #!#! Language: English (system: en-US)
[13:41:46 ERROR]: #!#! Encoding: file = UTF-8 , jnu = UTF-8 , stderr = UTF-8 , stdout = UTF-8
[13:41:46 ERROR]: #!#!
[13:41:46 ERROR]: #!#!
[13:41:46 ERROR]: #!#! End of Error.
[13:41:46 ERROR]: #!#!
[13:41:46 INFO]: An internal error occurred while executing this effect. Please refer to the server log for details.```

Add Timings support to Skript

Is your feature request related to a problem? Please describe.
Skript sometimes make lag, and all we see in timings report was the delay class.

Describe the solution you'd like
Add timings (v2) support to Skript (backport it), bensku's fork already includes this, for reference.

Describe alternatives you've considered
Debugger agents are not timers; they are special trackers. Timings support should be added in anyway, so no alternative.

Additional information
N/A

Standard Base64 Encoder and Decoder

Is your feature request related to a problem? Please describe.
Provide a standard Base64 encoder and decoder for Skript. The Base64 class is added in Java 8, since we are already requiring Java 8, this should be fine.

Describe the solution you'd like
Implement a [base64][ ](0¦encoded|1¦decoded) %string% expression. It might be good for some things (not for passwords though since it can be decoded) Java provides this in Java 8 or above.

Describe alternatives you've considered
N/A

Additional information
N/A

Error when matching too long strings

Describe the bug
Skript gives StackOverflowError when using contains with very long set of strings.

To Reproduce
N/A

Expected behavior
Expected no errors.

Screenshots
N/A

Version information:

  • Minecraft Version: 1.8.8
  • Skript Version: 2.2-Fixes-V12

Additional information

[12:49:06] [Server thread/ERROR]: #!#! 
[12:49:06] [Server thread/ERROR]: #!#! [Skript] Severe Error:
[12:49:06] [Server thread/ERROR]: #!#! Could not load removed-for-privacy.sk
[12:49:06] [Server thread/ERROR]: #!#! 
[12:49:06] [Server thread/ERROR]: #!#! If you're developing a java add-on for Skript this likely means that you have done something wrong.
[12:49:06] [Server thread/ERROR]: #!#! If you're a server admin however please go to https://github.com/LifeMC/LifeSkript/issues/
[12:49:06] [Server thread/ERROR]: #!#! and check whether this issue has already been reported.
[12:49:06] [Server thread/ERROR]: #!#! If not please create a new issue with a meaningful title, copy & paste this whole error into it,
[12:49:06] [Server thread/ERROR]: #!#! and describe what you did before it happened and/or what you think caused the error.
[12:49:06] [Server thread/ERROR]: #!#! If you think that it's a trigger that's causing the error please post the trigger as well.
[12:49:06] [Server thread/ERROR]: #!#! By following this guide fixing the error should be easy and done fast.
[12:49:06] [Server thread/ERROR]: #!#! 
[12:49:06] [Server thread/ERROR]: #!#! Stack trace:
[12:49:06] [Server thread/ERROR]: #!#! java.lang.StackOverflowError
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$Loop.match(Pattern.java:4787)
[12:49:06] [Server thread/ERROR]: #!#!     at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
[12:49:06] [Server thread/ERROR]: #!#! 
[12:49:06] [Server thread/ERROR]: #!#! Version Information:
[12:49:06] [Server thread/ERROR]: #!#!   Skript: 2.2-Fixes-V12 (latest)
[12:49:06] [Server thread/ERROR]: #!#!   Bukkit: 1.8.8-R0.1-SNAPSHOT (git-Spigot-21fe707-e1ebe52 (MC: 1.8.8))
[12:49:06] [Server thread/ERROR]: #!#!   Minecraft: 1.8.8
[12:49:06] [Server thread/ERROR]: #!#!   Java: 1.8.0_192 (OpenJDK 64-Bit Server VM 25.192-b12)
[12:49:06] [Server thread/ERROR]: #!#!   OS: Linux amd64 4.15.0-43-generic
[12:49:06] [Server thread/ERROR]: #!#! 
[12:49:06] [Server thread/ERROR]: #!#! Running CraftBukkit: false
[12:49:06] [Server thread/ERROR]: #!#! 
[12:49:06] [Server thread/ERROR]: #!#! Current node: on chat: (removed-for-privacy.sk, line 93)
[12:49:06] [Server thread/ERROR]: #!#! Current item: not available
[12:49:06] [Server thread/ERROR]: #!#! Current trigger: no trigger
[12:49:06] [Server thread/ERROR]: #!#! 
[12:49:06] [Server thread/ERROR]: #!#! Thread: Server thread
[12:49:06] [Server thread/ERROR]: #!#! 
[12:49:06] [Server thread/ERROR]: #!#! Language: English
[12:49:06] [Server thread/ERROR]: #!#! 
[12:49:06] [Server thread/ERROR]: #!#! End of Error.
[12:49:06] [Server thread/ERROR]: #!#! 

Fix server jar patcher

Describe the bug
The server JAR patcher, first introduced in version v2.2.16-pre1, causes the server to interrupt on first startup. We must fix this error before the full release of v2.2.16.

To Reproduce
1- Download Skript v2.2.16-pre1
2- Download a fresh Spigot copy, no matter what fork
3- Server will give random NoClassDefFoundErrors and shutdown
at load time, it says "Patching the server JAR..." before that happens if you have debug enabled.

Expected behavior
Expected no errors.

Screenshots
N/A

Version information:

  • Minecraft Version: 1.8.8
  • Skript Version: 2.2.16-pre1

Additional information
N/A

Skript AuthMe hook

Is your feature request related to a problem? Please describe.
We do not have any authentication plugin support in Skript. A general authentication API like Vault does not exist, so we should only support AuthMe at first, and add other auth plugins later if requested by a separate issue.

Describe the solution you'd like
Add AuthMe hook to Skript. Some syntax recommendations:

%player% is logged in
(%string% is password of player|%player%'s password is %string%|password of %player% is %string%) # obviously just a condition, not an event-value or expression since the password is not reversible (crypted/hashed), only can be checked

# other things that I don't know if it exists in the AuthMe API, but will be nice additions if it.
on logon: # when player logs in using password, or automatically logged-in by registering
on register: # when player registers
on unregister: # when player un-registers
on password change: # when player's password is changed

The first one can be used when e.g sending something to operators/server admins that should not be displayed when not logged-in as it contains sensitive information, the second one is obviously not for cracking passwords, only for writing security scripts, e.g the script below will prevent the player from sending his password into the public chat.

on chat:
 if message is player's password: # or player's password is message or password of player is message
  cancel event
  send "&cYou can't send your password into public chat."

The last one could be used for e.g warning the user, or doing some security things. For example I can code a script that disables deleting the ASkyBlock island of the player if the password is changed in the last 10 minutes, etc., or if I have a e-mail script, I can send an email to the player's email address when password is changed.

Another recommendation

Also adding a country/locale system to Skript would be great. For example, we can add a locale type that wraps java.util.Locale, or a country type that wraps an enum that contains country codes and names.

We should can also be able to get the player's country, from their IP address. It would be great for example if I'm a high-security admin that writes a script that asks security questions or block changing password for some minutes if player is logged on from another country, combining it with the on logon event.

Describe alternatives you've considered
Some add-ons exist for this purpose, but adding it into vanilla Skript would be great, since it is easy.

Additional information
N/A

JSON chat support

Is your feature request related to a problem? Please describe.
The skQuery's JSON expression is great, but it has problems and not directly integrated into Skript. There is a JSON-chat system in the new Skript eco-system, in the SkriptLang fork, dev27+ versions.

Describe the solution you'd like
Perhaps we can also integrate it to the LifeSkript, we are currently using skQuery's system but the JSON-chat one is directly integrated into Skript, and it works flawlessly.

Describe alternatives you've considered
We can also use skQuery's thing or copy it into our fork and fix its problems.

Additional information
I don't want to create a non-backward compatible Skript version, so it should NOT include the latest security fix where if the message contains an expression, variable, chat color or JSON it must be externally "colored" via the colo[u]red %strings% syntax.

The JSON one, of course, a security risk because the user can add a command to a message and this dangerous, but the color ones don't. We can always use the uncolored expression to remove colors.

So we should use another effect or mark pattern (e.g send JSON) that overrides skQuery's thing.

Add condition to check if it is a skript command in on command

Is your feature request related to a problem? Please describe.
After #33 is implemented, a condition like "if command is a skript command:" also should be implemented.

Describe the solution you'd like
Implement a condition like "if command is a skript command:".

Describe alternatives you've considered
N/A

Additional information
Resolves Njol's todo comment:

public final class EvtCommand extends SkriptEvent { // TODO condition to check whether a given command exists, & a conditon to check whether it's a custom skript command

StringIndexOutOfBoundsException when upgrading to V12

Describe the bug
StringIndexOutOfBoundsException occurs when upgrading to V12

To Reproduce
Install legacy / older versions (like 2.1.2) and update to V12.

Expected behavior
Expected no errors at all.

Screenshots
N/A

Version information:

  • Minecraft Version: 1.8.8
  • Skript Version: 2.2-V12

Additional information

[16:44:19] [Server thread/INFO]: [Skript] Enabling Skript v2.2-Fixes-V12
--
2 | [16:44:19] [Server thread/ERROR]: #!#!
3 | [16:44:19] [Server thread/ERROR]: #!#! [Skript] Severe Error:
4 | [16:44:19] [Server thread/ERROR]: #!#! An error occurred while loading the config
5 | [16:44:19] [Server thread/ERROR]: #!#!
6 | [16:44:19] [Server thread/ERROR]: #!#! If you're developing a java add-on for Skript this likely means that you have done something wrong.
7 | [16:44:19] [Server thread/ERROR]: #!#! If you're a server admin however please go to https://github.com/LifeMC/LifeSkript/issues/
8 | [16:44:19] [Server thread/ERROR]: #!#! and check whether this issue has already been reported.
9 | [16:44:19] [Server thread/ERROR]: #!#! If not please create a new issue with a meaningful title, copy & paste this whole error into it,
10 | [16:44:19] [Server thread/ERROR]: #!#! and describe what you did before it happened and/or what you think caused the error.
11 | [16:44:19] [Server thread/ERROR]: #!#! If you think that it's a trigger that's causing the error please post the trigger as well.
12 | [16:44:19] [Server thread/ERROR]: #!#! By following this guide fixing the error should be easy and done fast.
13 | [16:44:19] [Server thread/ERROR]: #!#!
14 | [16:44:19] [Server thread/ERROR]: #!#! Stack trace:
15 | [16:44:19] [Server thread/ERROR]: #!#! java.lang.StringIndexOutOfBoundsException: String index out of range: -1
16 | [16:44:19] [Server thread/ERROR]: #!#!     at java.lang.String.substring(String.java:1931)
17 | [16:44:19] [Server thread/ERROR]: #!#!     at ch.njol.skript.util.FileUtils.backup(FileUtils.java:73)
18 | [16:44:19] [Server thread/ERROR]: #!#!     at ch.njol.skript.SkriptConfig.load(SkriptConfig.java:258)
19 | [16:44:19] [Server thread/ERROR]: #!#!     at ch.njol.skript.Skript.onEnable(Skript.java:304)
20 | [16:44:19] [Server thread/ERROR]: #!#!     at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321)
21 | [16:44:19] [Server thread/ERROR]: #!#!     at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332)
22 | [16:44:19] [Server thread/ERROR]: #!#!     at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404)
23 | [16:44:19] [Server thread/ERROR]: #!#!     at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:359)
24 | [16:44:19] [Server thread/ERROR]: #!#!     at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:318)
25 | [16:44:19] [Server thread/ERROR]: #!#!     at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:408)
26 | [16:44:19] [Server thread/ERROR]: #!#!     at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:372)
27 | [16:44:19] [Server thread/ERROR]: #!#!     at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:327)
28 | [16:44:19] [Server thread/ERROR]: #!#!     at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:267)
29 | [16:44:19] [Server thread/ERROR]: #!#!     at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:563)
30 | [16:44:19] [Server thread/ERROR]: #!#!     at java.lang.Thread.run(Thread.java:748)
31 | [16:44:19] [Server thread/ERROR]: #!#!
32 | [16:44:19] [Server thread/ERROR]: #!#! Version Information:
33 | [16:44:19] [Server thread/ERROR]: #!#!   Skript: 2.2-Fixes-V12 (latest)
34 | [16:44:19] [Server thread/ERROR]: #!#!   Bukkit: 1.8.8-R0.2-SNAPSHOT (git-TacoSpigot-"95870a93" (MC: 1.8.8))
35 | [16:44:19] [Server thread/ERROR]: #!#!   Minecraft: 1.8.8
36 | [16:44:19] [Server thread/ERROR]: #!#!   Java: 1.8.0_201 (OpenJDK 64-Bit Server VM 25.201-b09)
37 | [16:44:19] [Server thread/ERROR]: #!#!   OS: Linux amd64 2.6.32-754.11.1.el6.x86_64
38 | [16:44:19] [Server thread/ERROR]: #!#!
39 | [16:44:19] [Server thread/ERROR]: #!#! Running CraftBukkit: false
40 | [16:44:19] [Server thread/ERROR]: #!#!
41 | [16:44:19] [Server thread/ERROR]: #!#! Current node: null
42 | [16:44:19] [Server thread/ERROR]: #!#! Current item: not available
43 | [16:44:19] [Server thread/ERROR]: #!#! Current trigger: no trigger
44 | [16:44:19] [Server thread/ERROR]: #!#!
45 | [16:44:19] [Server thread/ERROR]: #!#! Thread: Server thread
46 | [16:44:19] [Server thread/ERROR]: #!#!
47 | [16:44:19] [Server thread/ERROR]: #!#! Language: English
48 | [16:44:19] [Server thread/ERROR]: #!#!
49 | [16:44:19] [Server thread/ERROR]: #!#! End of Error.
50 | [16:44:19] [Server thread/ERROR]: #!#!
``

Rewrite the update notifier

Is your feature request related to a problem? Please describe.
Rewrite the update notifier to use github for checking updates, also modularize the updater, currently it only uses a single method, using oop and a more modularized system will be great.

Describe the solution you'd like
Rewrite the update notifier to use oop and a more modularized system.

Describe alternatives you've considered
Current updater may broke anytime, we use our site for checking updates, our site uses cloudflare, etc.

Additional information
This should be done before releasing the new stable release, the 2.2.15.

Error with EffPush

Describe the bug
If we try to push entities with a high power, it gives errors.

To Reproduce
Try to push entities with a high power.

Expected behavior
Expected no errors.

Screenshots
N/A

Version information:

  • Minecraft Version: 1.8.8
  • Skript Version: 2.2-Fixes-V12

Additional information

[WARNING] Excessive velocity set detected: tried to set velocity of entity #90 to (-0.27161136342574327,6.465722702417743,-7.9768513681972975).

[WARNING] java.lang.Exception: Stack trace
[WARNING] at java.lang.Thread.dumpStack(Thread.java:1336)
[WARNING] at org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity.setVelocity(CraftEntity.java:213)
[WARNING] at ch.njol.skript.effects.EffPush.execute(EffPush.java:83)
[WARNING] at ch.njol.skript.lang.Effect.run(Effect.java:55)
[WARNING] at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:65)
[WARNING] at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:93)
[WARNING] at ch.njol.skript.effects.Delay$1.run(Delay.java:94)
[WARNING] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59)
[WARNING] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:349)
[WARNING] at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:785)
[WARNING] at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378)
[WARNING] at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:715)
[WARNING] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:618)
[WARNING] at java.lang.Thread.run(Thread.java:748)

Note: This may be a Bukkit problem caused by server version, or it probably a user error, trying to push entities with high values is expected to not work.

Trigger on command also for skript commands

Is your feature request related to a problem? Please describe.
Skript does not trigger on command event when using skript commands.

Describe the solution you'd like
Triggering on command also for skript commands would simply fix this. But it may break some scripts since it changes existing behaviour. This also may be called as a bug.

Describe alternatives you've considered
Adding a separate event is also a solution and does not break anything (with the fact that this event is only usable in this skript fork) but i'm uncertain.

Additional information
I'm more close to first solution - It is why the second one is listed as an alternative. It changes existing behaviour, but it should not break anything, and also no code changes or duplicate event listeners required for the first solution. So, I'm more close to the first solution.

Maybe when the issue is here - I might try to decide whatever to do, and implement before a new release. Oh, lastly: It may generate little more overhead because of the event. I might add a config option for this feature, then everyone will be happy.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.