[DISCONTINUED] EssentialCmds [v8.1.14]

Hello,
everytime i launch it on a nodecraft server with the 1263 version of sponge i get thiserror : (i use the 8.0.7 version)
[12:13:07] [Server thread/INFO] [io.github.hsyyid.essentialcmds]: EssentialCmds loading... [12:13:07] [Server thread/INFO] [STDERR]: [org.sqlite.SQLiteJDBCLoader:loadNativeLibrary:230]: java.lang.UnsatisfiedLinkError: /tmp/sqlite-3.8.11.2-9bdd4057-d306-4001-ba1d-a8388a6f9df3-libsqlitejdbc.so: /tmp/sqlite-3.8.11.2-9bdd4057-d306-4001-ba1d-a8388a6f9df3-libsqlitejdbc.so: failed to map segment from shared object: Operation not permitted [12:13:07] [Server thread/ERROR] [Sponge]: Could not pass FMLInitializationEvent to org.spongepowered.mod.plugin.SpongeModPluginContainer@1d9928bd java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open(Ljava/lang/String;I)V at org.sqlite.core.NativeDB._open(Native Method) ~[NativeDB.class:1.8.9-1808-4.1.0-BETA-1263] at org.sqlite.core.DB.open(DB.java:161) ~[DB.class:1.8.9-1808-4.1.0-BETA-1263] at org.sqlite.core.CoreConnection.open(CoreConnection.java:220) ~[CoreConnection.class:1.8.9-1808-4.1.0-BETA-1263] at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:76) ~[CoreConnection.class:1.8.9-1808-4.1.0-BETA-1263] at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:24) ~[JDBC3Connection.class:1.8.9-1808-4.1.0-BETA-1263] at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:23) ~[JDBC4Connection.class:1.8.9-1808-4.1.0-BETA-1263] at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:45) ~[SQLiteConnection.class:1.8.9-1808-4.1.0-BETA-1263] at org.sqlite.JDBC.createConnection(JDBC.java:114) ~[JDBC.class:1.8.9-1808-4.1.0-BETA-1263] at org.sqlite.JDBC.connect(JDBC.java:88) ~[JDBC.class:1.8.9-1808-4.1.0-BETA-1263] at java.sql.DriverManager.getConnection(DriverManager.java:664) ~[?:1.8.0_45] at java.sql.DriverManager.getConnection(DriverManager.java:270) ~[?:1.8.0_45] at io.github.hsyyid.essentialcmds.utils.Utils.readMutes(Utils.java:554) ~[Utils.class:8.0.7] at io.github.hsyyid.essentialcmds.EssentialCmds.onServerInit(EssentialCmds.java:186) ~[EssentialCmds.class:8.0.7] at org.spongepowered.common.event.listener.GameInitializationEventListener_EssentialCmds_onServerInit2.handle(Unknown Source) ~[?:?] at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:86) ~[RegisteredListener.class:1.8.9-1808-4.1.0-BETA-1263] at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:238) [SpongeModEventManager.class:1.8.9-1808-4.1.0-BETA-1263] at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:282) [SpongeModEventManager.class:1.8.9-1808-4.1.0-BETA-1263] at org.spongepowered.mod.SpongeMod.onStateEvent(SpongeMod.java:183) [SpongeMod.class:1.8.9-1808-4.1.0-BETA-1263] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_45] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45] at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.8.9.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.8.9.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.8.9.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.8.9.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.8.9.jar:?] at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:211) [LoadController.class:?] at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:189) [LoadController.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_45] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45] at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.8.9.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.8.9.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.8.9.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.8.9.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.8.9.jar:?] at net.minecraftforge.fml.common.LoadController.redirect$onPost$0(LoadController.java:53) [LoadController.class:?] at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:118) [LoadController.class:?] at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:737) [Loader.class:?] at net.minecraftforge.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:97) [FMLServerHandler.class:?] at net.minecraftforge.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:325) [FMLCommonHandler.class:?] at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:205) [ko.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:441) [MinecraftServer.class:?] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]

Do you know why ?

Nodecraft (any many other hosts) don’t support sqlite, mostly due to it being one of the worst long-life database types (as opposed to to newer ones like mongo)

Right, that’s why I said:

Note: if possible

I am on a heavily old version of EssentialsCmds (due to conflict with Polis as mentioned elsewhere) and currently have the issue of world settings not sticking after a restart (difficulty, gamerule). Is it no longer the case in the latest version of EssentialsCmds with its Forge?

If that’s the case, then I’d be moving quickly onto it, once the Polis issue is sorted.

I think both of those issues were related to Sponge, and it should be fixed in more recent versions.

1 Like

For some reason the set spawn does not allow a block above the head or it will spawn you on top of the highest block (first join only) does not happen with /spawn. This scares some players off since our spawn is under water inside a dome and first join players spawn drowning outside the dome

I’ll look into it, might be related to safe login bugs

I believe it’s a Minecraft thing, it will always spawn you on the highest block available at the spawn point on first join, which in your case is above water. It’s not an EssentialsCmds bug, it’s intended vanilla behaviour.

1 Like

Ahhh I see, that explains a lot of things. Is there a way around this though?

I don’t know. I’ve added a “first spawn” function to Nucleus, but I don’t know how it would work in your situation. You could create a chimney up from your dome’s spawn point to the water level, so that the highest non-air block becomes your spawn point.

@HassanS6000 - What could be tried by a plugin is if the player logs in for the first time, just set their location to spawn via a plugin, in effect, sending them to spawn twice on the first login. No need to bother creating a “first spawn” for this, just set their location on first login. Relevant code below:

https://github.com/NucleusPowered/Nucleus/blob/master/src/main/java/io/github/nucleuspowered/nucleus/modules/spawn/listeners/SpawnListener.java

What do you mean by “Stick with SQLite” ?
Sorry, i’m french.

Is it possible tu use MySQL instead of SQLite ?

I do that, that’s why it doesn’t make sense

Alright, so difficulty works @HassanS6000 - but I can’t seem to be able to set a gamerule to a specific world - namely, the mobGriefing one. The command /gamerule mobGriefing false applies this to the ‘main’ world. Is there a way with the world settings to have it apply to other worlds, similar to the /world difficulty <difficulty> <world> command?

EDIT: The restriction on mobs works wonderfully - would it be possible for the settings to also apply to the world? I am trying to have a Pixelmon-only world, and setting it to Peaceful leaves pigs, bunnies, horses, etc.

@Rasgnarok I’ll look into it later today

1 Like

Yeah that would be nice, let them immediately automatically do /spawn on join. Is that possible to implement

I have this error after connecting the plugin to my mysql database:
[STDERR]: [io.github.hsyyid.essentialcmds.utils.Utils:execute:505]: java.sql.SQLSyntaxErrorException: BLOB/TEXT column 'UUID' used in key specification without a key length

Maybe an error in the server connection collation ?
I put utf8mb4_unicode_ci

I’ll fix that issue today

do you need the full logs ?

No that bit is enough :wink:

Release v8.0.8:

Tested on SpongeForge 1279

Changes:

  • Fixes issues with EssentialCmds not detecting a player’s first join.

Enjoy this Update! :smile:

1 Like