Jump to content
Jab

[Java] Sledgehammer Server 2.05_04

Recommended Posts

10 hours ago, Jab said:

Working on the issues mentioned above. I'm not sure what to say about the workshop extension mod though. Works fine for Terminus.

 

Yup, I joined Terminus and everything works as expected there. Let's see what happens when you release the fixes for the other issues!

Share this post


Link to post
Share on other sites

Going to post another update sometime soon. 

 

The big thing is that I added a new plug-in for Discord (https://discordapp.com/) , allowing a public global chat channel, and a private staff channel for a feed of server stuff, and the ability to use commands.

 

Edited by Jab

Share this post


Link to post
Share on other sites

This last update seemed to fix the faction bug I had with "common" players. Still getting the same errors with the permissions plugin and server time stamps. Is it possible to release a jdk7 compilation for testing purposes?

Share this post


Link to post
Share on other sites
6 hours ago, Madruga said:

This last update seemed to fix the faction bug I had with "common" players. Still getting the same errors with the permissions plugin and server time stamps. Is it possible to release a jdk7 compilation for testing purposes?

 

The compilations should be in JDK7. The game is compiled with JDK7. Strange, though, that permissions and timestamps are an issue. Factions now runs commands if no permissions interface is present. I'm still not sure why timestamps is not working for you.

Share this post


Link to post
Share on other sites

Just found out that I was being stupid enough to not include the SledgeHammerExtension item number in the server's config file. Timestamps are now working as expected!

 

Permissions...well.... this is the last console log:

 

Spoiler

64-bit java detected
pzexe: about to run java hack to locate libjvm.so...
pzexe: executing "java -classpath pzexe.jar -Djava.library.path=. zombie.pzexe"
pzexe.java: loading shared library "pzexe_jni64"
JVM=/home/oitis61/serverfiles/jre64/lib/amd64/server/libjvm.so
pzexe config file: /home/oitis61/serverfiles/ProjectZomboid64.json
pzexe: mainClass: zombie/network/GameServer
pzexe: classpath: -Djava.class.path=java/:java/jinput.jar:java/lwjgl.jar:java/lwjgl_util.jar:java/sqlite-jdbc-3.8.10.1.jar:java/uncommons-maths-1.2.3.jar
pzexe: vmArg (json) 1: -Xms7168m
pzexe: vmArg (json) 2: -Xmx7168m
pzexe: vmArg (json) 3: -Dzomboid.steam=1
pzexe: vmArg (json) 4: -Dzomboid.znetlog=1
pzexe: vmArg (json) 5: -Djava.library.path=linux64/:natives/
pzexe: vmArg (json) 6: -XX:-UseSplitVerifier
pzexe: vmArg (json) 7: -Djava.security.egd=file:/dev/urandom
pzexe: using jvm "/home/oitis61/serverfiles/jre64/lib/amd64/server/libjvm.so"
SVN REVISION 964
versionNumber=34.28 demo=false
server name is "servertest"
Loading networking libraries...
Loading steam_api...
Loading RakNet64...
Loading ZNetJNI64...
znet: ZNet loaded
znet: Compiled with SERVER_STEAMAPI == 0
znet: Starting with bServer == true
znet: SteamAPI initialised successfully
SteamUtils initialised successfully
reading /home/oitis61/Zomboid/Server/servertest.ini
writing /home/oitis61/Zomboid/Server/servertest.ini
znet: Java_zombie_core_znet_SteamGameServer_Init
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 108600
znet: SteamGameServer seems to be initialized
znet: Java_zombie_core_znet_SteamGameServer_SetProduct
znet: Java_zombie_core_znet_SteamGameServer_SetGameDescription
znet: Java_zombie_core_znet_SteamGameServer_SetModDir
znet: Java_zombie_core_znet_SteamGameServer_SetDedicatedServer
znet: Java_zombie_core_znet_SteamGameServer_SetMaxPlayerCount
znet: Java_zombie_core_znet_SteamGameServer_SetServerName 'Servidor do Madruga'
znet: Java_zombie_core_znet_SteamGameServer_SetMapName 'Muldraugh, KY'
znet: Java_zombie_core_znet_SteamGameServer_SetGameTags 'hidden'
znet: Java_zombie_core_znet_SteamGameServer_SetKeyValue key='description' value='Servidor brasileiro de Project Zomboid.'
znet: Java_zombie_core_znet_SteamGameServer_SetKeyValue key='version' value='34.28'
znet: Java_zombie_core_znet_SteamGameServer_SetKeyValue key='open' value='1'
znet: Java_zombie_core_znet_SteamGameServer_SetKeyValue key='public' value='0'
znet: Java_zombie_core_znet_SteamWorkshop_n_1Init
znet: Java_zombie_core_znet_SteamGameServer_LogOnAnonymous
znet: Java_zombie_core_znet_SteamGameServer_EnableHeartBeats
Waiting for response from Steam servers
znet: OnSteamServersConnected
znet: Public IP: 179.218.56.157
Workshop: GetItemState()=Installed ID=684018943
Workshop: item state CheckItemState -> Ready ID=684018943
Workshop: GetItemState()=Installed ID=644422089
Workshop: item state CheckItemState -> Ready ID=644422089
znet: Java_zombie_core_znet_SteamWorkshop_n_1GetItemInstallFolder
Workshop: 684018943 installed to /home/oitis61/serverfiles/steamapps/workshop/content/108600/684018943
znet: Java_zombie_core_znet_SteamWorkshop_n_1GetItemInstallTimeStamp
znet: Java_zombie_core_znet_SteamWorkshop_n_1GetItemInstallFolder
Workshop: 644422089 installed to /home/oitis61/serverfiles/steamapps/workshop/content/108600/644422089
znet: Java_zombie_core_znet_SteamWorkshop_n_1GetItemInstallTimeStamp
user database "/home/oitis61/Zomboid/db/servertest.db"
Initialising Server Systems...
MOD: loading TerminusAdminTools
MOD: loading SledgeHammerExtension
translator: language is EN
WARNING: module "farming" may have forgot to import module Base
require("timedactionshelper") failed
require("NPCs/SadisticAIDirector/SadisticAIDirector") failed
new event system
require("TrapSystem") failed
Loading world...
tiledef: loading media/tiledefinitions.tiles
tiledef: loading media/newtiledefinitions.tiles
tiledef: loading media/tiledefinitions_erosion.tiles
tiledef: loading media/tiledefinitions_apcom.tiles
erosion: reading /home/oitis61/Zomboid/Saves/Multiplayer/servertest/erosion.ini
ALARMS: 73/1008 buildings have alarms
MAX #ZONES is 7
reanimate: loaded 0 zombies
Initialising RakNet...
znet: Java_zombie_core_raknet_RakNetPeerInterface_Init
znet: Java_zombie_core_raknet_RakNetPeerInterface_SetMaximumIncomingConnections
znet: Java_zombie_core_raknet_RakNetPeerInterface_SetServerPort
znet: Java_zombie_core_raknet_RakNetPeerInterface_SetIncomingPassword
znet: Java_zombie_core_raknet_RakNetPeerInterface_SetOccasionalPing
znet: Java_zombie_core_raknet_RakNetPeerInterface_Startup
znet: Zomboid Steam Server started, ports 8766 and 16261 must be open on the router
znet: OnRakPeerStartup
znet: RakNet-through-Steam mode activated
RakNet.Startup() return code: 0 (0 means success)
SledgeHammer: Loading settings..
Exception in thread "main" java.lang.UnsupportedClassVersionError: sledgehammer/modules/PermissionsCommandHandler : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at sledgehammer.ModuleManager.loadPlugin(ModuleManager.java:328)
    at sledgehammer.ModuleManager.loadModules(ModuleManager.java:103)
    at sledgehammer.ModuleManager.start(ModuleManager.java:133)
    at sledgehammer.SledgeHammer.init(SledgeHammer.java:105)
    at zombie.network.GameServer.startServer(GameServer.java:1067)
    at zombie.network.GameServer.main(GameServer.java:674)

 

 

Share this post


Link to post
Share on other sites
3 minutes ago, Madruga said:

Just found out that I was being stupid enough to not include the SledgeHammerExtension item number in the server's config file. Timestamps are now working as expected!

 

Permissions...well.... this is the last console log:

 

  Hide contents

64-bit java detected
pzexe: about to run java hack to locate libjvm.so...
pzexe: executing "java -classpath pzexe.jar -Djava.library.path=. zombie.pzexe"
pzexe.java: loading shared library "pzexe_jni64"
JVM=/home/oitis61/serverfiles/jre64/lib/amd64/server/libjvm.so
pzexe config file: /home/oitis61/serverfiles/ProjectZomboid64.json
pzexe: mainClass: zombie/network/GameServer
pzexe: classpath: -Djava.class.path=java/:java/jinput.jar:java/lwjgl.jar:java/lwjgl_util.jar:java/sqlite-jdbc-3.8.10.1.jar:java/uncommons-maths-1.2.3.jar
pzexe: vmArg (json) 1: -Xms7168m
pzexe: vmArg (json) 2: -Xmx7168m
pzexe: vmArg (json) 3: -Dzomboid.steam=1
pzexe: vmArg (json) 4: -Dzomboid.znetlog=1
pzexe: vmArg (json) 5: -Djava.library.path=linux64/:natives/
pzexe: vmArg (json) 6: -XX:-UseSplitVerifier
pzexe: vmArg (json) 7: -Djava.security.egd=file:/dev/urandom
pzexe: using jvm "/home/oitis61/serverfiles/jre64/lib/amd64/server/libjvm.so"
SVN REVISION 964
versionNumber=34.28 demo=false
server name is "servertest"
Loading networking libraries...
Loading steam_api...
Loading RakNet64...
Loading ZNetJNI64...
znet: ZNet loaded
znet: Compiled with SERVER_STEAMAPI == 0
znet: Starting with bServer == true
znet: SteamAPI initialised successfully
SteamUtils initialised successfully
reading /home/oitis61/Zomboid/Server/servertest.ini
writing /home/oitis61/Zomboid/Server/servertest.ini
znet: Java_zombie_core_znet_SteamGameServer_Init
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 108600
znet: SteamGameServer seems to be initialized
znet: Java_zombie_core_znet_SteamGameServer_SetProduct
znet: Java_zombie_core_znet_SteamGameServer_SetGameDescription
znet: Java_zombie_core_znet_SteamGameServer_SetModDir
znet: Java_zombie_core_znet_SteamGameServer_SetDedicatedServer
znet: Java_zombie_core_znet_SteamGameServer_SetMaxPlayerCount
znet: Java_zombie_core_znet_SteamGameServer_SetServerName 'Servidor do Madruga'
znet: Java_zombie_core_znet_SteamGameServer_SetMapName 'Muldraugh, KY'
znet: Java_zombie_core_znet_SteamGameServer_SetGameTags 'hidden'
znet: Java_zombie_core_znet_SteamGameServer_SetKeyValue key='description' value='Servidor brasileiro de Project Zomboid.'
znet: Java_zombie_core_znet_SteamGameServer_SetKeyValue key='version' value='34.28'
znet: Java_zombie_core_znet_SteamGameServer_SetKeyValue key='open' value='1'
znet: Java_zombie_core_znet_SteamGameServer_SetKeyValue key='public' value='0'
znet: Java_zombie_core_znet_SteamWorkshop_n_1Init
znet: Java_zombie_core_znet_SteamGameServer_LogOnAnonymous
znet: Java_zombie_core_znet_SteamGameServer_EnableHeartBeats
Waiting for response from Steam servers
znet: OnSteamServersConnected
znet: Public IP: 179.218.56.157
Workshop: GetItemState()=Installed ID=684018943
Workshop: item state CheckItemState -> Ready ID=684018943
Workshop: GetItemState()=Installed ID=644422089
Workshop: item state CheckItemState -> Ready ID=644422089
znet: Java_zombie_core_znet_SteamWorkshop_n_1GetItemInstallFolder
Workshop: 684018943 installed to /home/oitis61/serverfiles/steamapps/workshop/content/108600/684018943
znet: Java_zombie_core_znet_SteamWorkshop_n_1GetItemInstallTimeStamp
znet: Java_zombie_core_znet_SteamWorkshop_n_1GetItemInstallFolder
Workshop: 644422089 installed to /home/oitis61/serverfiles/steamapps/workshop/content/108600/644422089
znet: Java_zombie_core_znet_SteamWorkshop_n_1GetItemInstallTimeStamp
user database "/home/oitis61/Zomboid/db/servertest.db"
Initialising Server Systems...
MOD: loading TerminusAdminTools
MOD: loading SledgeHammerExtension
translator: language is EN
WARNING: module "farming" may have forgot to import module Base
require("timedactionshelper") failed
require("NPCs/SadisticAIDirector/SadisticAIDirector") failed
new event system
require("TrapSystem") failed
Loading world...
tiledef: loading media/tiledefinitions.tiles
tiledef: loading media/newtiledefinitions.tiles
tiledef: loading media/tiledefinitions_erosion.tiles
tiledef: loading media/tiledefinitions_apcom.tiles
erosion: reading /home/oitis61/Zomboid/Saves/Multiplayer/servertest/erosion.ini
ALARMS: 73/1008 buildings have alarms
MAX #ZONES is 7
reanimate: loaded 0 zombies
Initialising RakNet...
znet: Java_zombie_core_raknet_RakNetPeerInterface_Init
znet: Java_zombie_core_raknet_RakNetPeerInterface_SetMaximumIncomingConnections
znet: Java_zombie_core_raknet_RakNetPeerInterface_SetServerPort
znet: Java_zombie_core_raknet_RakNetPeerInterface_SetIncomingPassword
znet: Java_zombie_core_raknet_RakNetPeerInterface_SetOccasionalPing
znet: Java_zombie_core_raknet_RakNetPeerInterface_Startup
znet: Zomboid Steam Server started, ports 8766 and 16261 must be open on the router
znet: OnRakPeerStartup
znet: RakNet-through-Steam mode activated
RakNet.Startup() return code: 0 (0 means success)
SledgeHammer: Loading settings..
Exception in thread "main" java.lang.UnsupportedClassVersionError: sledgehammer/modules/PermissionsCommandHandler : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at sledgehammer.ModuleManager.loadPlugin(ModuleManager.java:328)
    at sledgehammer.ModuleManager.loadModules(ModuleManager.java:103)
    at sledgehammer.ModuleManager.start(ModuleManager.java:133)
    at sledgehammer.SledgeHammer.init(SledgeHammer.java:105)
    at zombie.network.GameServer.startServer(GameServer.java:1067)
    at zombie.network.GameServer.main(GameServer.java:674)

 

 

 

I may have compiled it in JDK 8 by accident. Uploading fix...

Share this post


Link to post
Share on other sites

Updated to 2.04

 

- Various bug fixes

- Added 'unregister(...)' methods. This fixed a certain bug with duplicate event handles. 

- Added Discord-Bot module.

 

I'll need to sit down and write documentation, instructions, etc.

 

The discord-bot requires someone to go to discordapp.com and create an Application, with a bot. You take the bot's generated token, put it in the discord-bot.ini (after running the server once, generating the ini), then add the application to your server. Then set the public (global) channel, and then the private moderated channel. The permissions, roles, etc is up to the user after that point. 

 

The Sledgehammer support channel is here: https://discord.gg/013Fu5xFGsgyBrFSe

Share this post


Link to post
Share on other sites

How do I get InviteURL?

 

discord-bot.ini

[GENERAL]
Debug=true

; Stored after first login. Remove this to log in with email and password.
Token=MTksdyNjAyMDMzM457jg5ODsqwq12IyMjA5.CkLOHw.iLKMOD7TDww12fMRLmFw7 #(example)

; Used to invite the bot to a server. Generated on successful log-in with token.
InviteURL=https://discord.gg/014hOeT9tmX29COeT


[SERVER]
; The public channel on the server to broadcast.
PublicChannel=pz

; The private channel for moderators to view commands, events, warnings, errors, etc.
ModeratorChannel=test

Is this the right?

Share this post


Link to post
Share on other sites
3 hours ago, Sky_Orc_Mm said:

How do I get InviteURL?

 

discord-bot.ini


[GENERAL]
Debug=true

; Stored after first login. Remove this to log in with email and password.
Token=MTksdyNjAyMDMzM457jg5ODsqwq12IyMjA5.CkLOHw.iLKMOD7TDww12fMRLmFw7 #(example)

; Used to invite the bot to a server. Generated on successful log-in with token.
InviteURL=https://discord.gg/014hOeT9tmX29COeT


[SERVER]
; The public channel on the server to broadcast.
PublicChannel=pz

; The private channel for moderators to view commands, events, warnings, errors, etc.
ModeratorChannel=test

Is this the right?

 

https://discordapp.com/oauth2/authorize?client_id=<APPLICATION_ID_HERE>&scope=bot&permissions=0

 

Share this post


Link to post
Share on other sites
15 hours ago, Sky_Orc_Mm said:

Thanks Jab

 

Can you achieve "A server" players read the "B server" chat message?

 

Just like ingame Cross-servers chat.

 

It is possible, if you write a module that connects the two in some fashion. I did think a bit about cross-server or multi-world server support.

Share this post


Link to post
Share on other sites

 

On 2016/5/1 at 6:40 PM, Jab said:

These are the current permission contexts for ZIRC and the plugins I wrote thus far:


zirc.factions
zirc.factions.help
zirc.factions.create
zirc.factions.disband
zirc.factions.join
zirc.factions.leave
zirc.factions.invite
zirc.factions.accept
zirc.factions.reject
zirc.factions.kick
zirc.factions.change
zirc.factions.change.tag
zirc.factions.change.name
zirc.factions.change.color
zirc.factions.change.password

zirc.ircbot
zirc.ircbot.start
zirc.ircbot.stop

zirc.permissions
zirc.permissions.group
zirc.permissions.group.create
zirc.permissions.group.delete
zirc.permissions.group.rename
zirc.permissions.group.set
zirc.permissions.group.set.context
zirc.permissions.group.set.parent
zirc.permissions.user
zirc.permissions.user.create
zirc.permissions.user.delete
zirc.permissions.user.set
zirc.permissions.user.set.context
zirc.permissions.user.set.group

zirc.core
zirc.core.basic
zirc.core.basic.pm
zirc.core.basic.colors
zirc.core.basic.muteglobal
zirc.core.basic.commitsuicide

zirc.core.moderation
zirc.core.moderation.ban
zirc.core.moderation.warn
zirc.core.moderation.unban
zirc.core.moderation.broadcast

 

 

Zirc is not valid

Now all use "sledgehammer" to take over

"sledgehammer.factions.create"
"sledgehammer.factions.help"
"sledgehammer.factions"
"sledgehammer.factions.disband"
"sledgehammer.factions.join"
"sledgehammer.factions.leave"
"sledgehammer.factions.invite"
"sledgehammer.factions.accept"
"sledgehammer.factions.reject"
"sledgehammer.factions.kick"
"sledgehammer.factions.change"
"sledgehammer.factions.change.tag"
"sledgehammer.factions.change.name"
"sledgehammer.factions.change.color"
"sledgehammer.factions.change.password"
"sledgehammer.permissions"
"sledgehammer.permissions.group"
"sledgehammer.permissions.group.create"
"sledgehammer.permissions.group.delete"
"sledgehammer.permissions.group.rename"
"sledgehammer.permissions.group.set"
"sledgehammer.permissions.group.set.context"
"sledgehammer.permissions.group.set.parent"
"sledgehammer.permissions.user"
"sledgehammer.permissions.user.create"
"sledgehammer.permissions.user.delete"
"sledgehammer.permissions.user.set"
"sledgehammer.permissions.user.set.context"
"sledgehammer.permissions.user.set.group"
"sledgehammer.core"
"sledgehammer.core.basic"
"sledgehammer.core.basic.pm"
"sledgehammer.core.basic.colors"
"sledgehammer.core.basic.muteglobal"
"sledgehammer.core.basic.commitsuicide"
"sledgehammer.core.moderation"
"sledgehammer.core.moderation.ban"
"sledgehammer.core.moderation.warn"
"sledgehammer.core.moderation.unban"
"sledgehammer.core.moderation.broadcast"

 

Share this post


Link to post
Share on other sites

Updated to 2.04.

 

V2.04_01:

- Fixed NPC spawner infinite loop.

- Organized Manager classes. 

- Moved Manager classes into sledgehammer.managers package.

- Documented SledgeHammer.java & manager classes.

- Updated Factions & Discord plug-ins due to API changes in the core.

 

 

I'll get to updating the OP / post under OP later today, explaining each plug-in, and giving their version lists.

Share this post


Link to post
Share on other sites

Updated to V2.05.

 

V2.05:

- Fixed various small bugs.

- Fixed 'getSettings()' nullpointerexception

- NPC's Behavior & Action API is more mature, but still needs some more framework development to become solid.

- Discord-bot's '!z <command>' component did not respond when used. This is now fixed.

- Players now show modified names.

- Factions now uses Local chat & Player list.

- Workshop extension updated.

 

I know about the menu being bugged for banning people. I'll be looking into modifying it to support the new commands. I'd also like a confirmation dialog-box to go with them. This may also give room for faction command-buttons, too.

Share this post


Link to post
Share on other sites

Updated to 2.05_02.

 

V2.05_02:

- Various bug fixes.

- Added wild-card functionality to player names.

- Fixed scoreboard (Players menu) not updating properly on login.

- Updated SledgeHammerExtension Lua mod to fix the admin buttons on the players menu.

- Added another PRNG, replacing the uncommons math PRNG, removing some time between update ticks.

 

V2.05_01:

- Various bug fixes.

- Added player nickname support for plug-ins (Factions uses this).

 

 

the /pm [username] [message] command now uses wildcard names, and sends it to the first matchable playername. The message no longer needs quotation marks, too.

E.G: /pm Ja hey man, nice shot.

If i was the only one on the server with "JA" in my name, Sledgehammer would send it to me. Be careful though, this is a wildcard search, and more characters should be used to reduce sending the message t another player. Wildcard searches only occur if the name given isn't exactly the name of the player being P.M.'d. 

 

I'm considering moving up the task of re-coding the chat-box GUI on my to-do-list. The chat system given in-game is very awkward, and there are several features in Sledgehammer that would work better with a better GUI.

 

Share this post


Link to post
Share on other sites

I've spent a bit of time this weekend, optimizing various bits of both SledgeHammer code, and vanilla. The Discord-bot was using way more CPU than it ever needed to, with a calculation glitch on thread sleep time. The console has also been cleaned up a bit (Both SledgeHammer & Vanilla.) A 'ScriptEvent' is now listenable as a Event in the EventListener, which forwards Lua events you'd normally hook into when writing Lua mods. I figured this would be very useful in time. 

 

There are also a few issues with player-related commands, since the nick-name system has been implemented. I'll be looking into getting more of those fixes before the next version.

 

I'll look to push these updates tonight, too.

Share this post


Link to post
Share on other sites

 

Updated to 2.05_04.

 

V2.05_04:

- Fixed the teleport command.

- Fixed the addxp command.

 

V2.05_03:

- Started implementing PlayerManager.

- Added Sledgehammer shutdown call when Co-Op disconnects.

- Migrated Player search API to the PlayerManager class.

- Changed Player search methods to use the context "IsoPlayer' in method names, for future Player methods.

- Removed the NPC class from the source. (This does not affect the Behavior / Action API. This allows sensitive code to be used in the NPC class.

- Added nick-name support to more of the Player API.

- Added a ScriptEvent object, allowing plug-ins to hook into Lua events.

- Added a LuaListener class that outlines how to interpret ScriptEvents.

- Fixed a vanilla crash from an ArrayIndexOutOfBoundsException, when looking up cell information on an invalid or nonexistent chunk.

Cleaned up console on startup. (This does not include Steam mod prints)

- Vanilla optimizations to consume less cpu time when the server is empty.

- Added PeriodicMessage class, that will allow plug-ins to push periodic messages to players. This is planned in a future version.

 

There was an issue wth the Discord MessageDispatcher not sleeping properly, consuming way more CPU than it would ever need to. This has been fixed.

 

In the next versions, I plan on maturing the Player wrapper API, and modifying the chat system in-game.

 

I also will focus more on the staff system, finalizing the permissions implementation I wrote for the permissions API, and Staff / Moderation tools. This is now a priority.

Share this post


Link to post
Share on other sites

With the fixes out for the current version of Sledgehammer, I'm going to be spending the next few days building exclusive content & plug-ins for Sledgehammer's official server, Terminus. 

 

In the meantime though, expect an update from Discord-bot. I've noticed there are some issues with executing commands, and have looked into them. I have some issues with multi-line commands (Such as !z players, and !z help), and have made it so that multiple lines will be chunked in 2000 characters (or less), instead of one message per-line. 

 

The Player object-wrapper for the Sledgehammer API will be re-organized so that the core grabs players from a list, rather than creating objects on the fly. This will speed up Sledgehammer, although this won't make too much of a difference.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...


×
×
  • Create New...