[Plugin] Shoebill 1.1 - SA-MP Java Development Kit

After long pause in development I've updated Shoebill and tried to launch server, but It show me this:
Код:
----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3.7, ©2005-2015 SA-MP Team

filterscripts = ""  (string)

Server Plugins
--------------
 Loading plugin: Shoebill
  > Shoebill 1.1 NativePlugin for SA-MP 0.3.7 by MK124, JoJLlmAn & 123marvin123
  > Java VM has been created.
Shoebill Dependency Manager 1.0-SNAPSHOT (for net.gtaun:shoebill-api:1.1)
Build date: 2015-05-04 16:25:57 MESZ (+0200)
Resolving dependencies...
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further detail
s.
Checking for internal updates (plugin, dependency-manager, launcher)...
Added shoebill\bootstrap\shoebill-dependency-manager-1.0-SNAPSHOT.jar for update
 queue.
Added shoebill\bootstrap\shoebill-launcher-1.1-SNAPSHOT.jar for update queue.
Added plugins\Shoebill.dll for update queue.

All files are up-to-date!
Skipped artifact example-lvdm-1.0-SNAPSHOT (Gamemode)
Resolved artifact net.gtaun:shoebill-runtime:jar:1.1-20150609.140644-9 from gtau
n-public-repo
Resolved artifact net.gtaun:shoebill-api:jar:1.1-20150609.140537-15 from gtaun-p
ublic-repo
Resolved artifact net.gtaun:util-event:jar:1.0-20150503.135149-1 from gtaun-publ
ic-repo
Resolved artifact org.apache.commons:commons-lang3:jar:3.3.1 from central
Resolved artifact org.slf4j:slf4j-api:jar:1.7.7 from central
Resolved artifact net.gtaun:shoebill-utilities:jar:1.0-20150503.134400-1 from gt
aun-public-repo
Resolved artifact org.yaml:snakeyaml:jar:1.13 from central
Resolved artifact org.slf4j:slf4j-log4j12:jar:1.7.7 from central
Resolved artifact log4j:log4j:jar:1.2.17 from central
Resolved artifact net.gtaun:shoebill-common:jar:1.0-20150604.160816-10 from gtau
n-public-repo
[01:05:28][INFO][ShoebillImpl] Could not find shoebill\log4j.xml file. The defau
lt configuration will be used.
[01:05:28][INFO][ShoebillImpl] Shoebill Runtime 1.1-SNAPSHOT (for SA-MP 0.3.7)
[01:05:28][INFO][ShoebillImpl] Build date: 2015-06-09 16:06:39 MESZ (+0200)
[01:05:28][INFO][ShoebillImpl] System environment: Windows 7 (x86, 6.1)
[01:05:28][INFO][ShoebillImpl] JVM: Java HotSpot™ Server VM 25.45-b02
[01:05:28][INFO][ShoebillImpl] Java: Java Platform API Specification 1.8
  > Shoebill has been initialized.
  Loaded.
 Loaded 1 plugins.


Started server on port: 7777, with maxplayers: 500 lanmode is OFF.


Filterscripts
---------------
  Loaded 0 filterscripts.

[01:05:28][INFO][ResourceManagerImpl] Load gamemode: Ventura's DM~MG (Shoebill M
ilestone2 Example)
[01:05:28][ERROR][err] java.lang.NoSuchMethodError: net.gtaun.shoebill.common.co
mmand.PlayerCommandManager.registerCommands(Ljava/lang/Object;)V
[01:05:28][ERROR][err]  at net.gtaun.shoebill.example.lvdm.PlayerManager.<init>(
PlayerManager.java:80)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.example.lvdm.LvdmGamemode.onEnable
(LvdmGamemode.java:71)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.resource.Resource.enable(Resource.
java:92)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.resource.ResourceManagerImpl.loadG
amemode(ResourceManagerImpl.java:181)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.resource.ResourceManagerImpl.loadA
llResource(ResourceManagerImpl.java:62)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.ShoebillImpl.loadPluginsAndGamemod
e(ShoebillImpl.java:290)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.ShoebillImpl.access$200(ShoebillIm
pl.java:47)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.ShoebillImpl$1.onAmxLoad(ShoebillI
mpl.java:234)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.samp.SampCallbackManagerImpl$1.lam
bda$null$37(SampCallbackManagerImpl.java:52)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.samp.SampCallbackManagerImpl$1$$La
mbda$30/6779715.call(Unknown Source)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.util.TryUtils.tryTo(TryUtils.java:
21)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.util.TryUtils.tryTo(TryUtils.java:
14)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.samp.SampCallbackManagerImpl$1.lam
bda$onAmxLoad$38(SampCallbackManagerImpl.java:52)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.samp.SampCallbackManagerImpl$1$$La
mbda$29/18262729.accept(Unknown Source)
[01:05:28][ERROR][err]  at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Fo
rEachOps.java:184)
[01:05:28][ERROR][err]  at java.util.stream.ReferencePipeline$2$1.accept(Referen
cePipeline.java:175)
[01:05:28][ERROR][err]  at java.util.concurrent.ConcurrentLinkedQueue$CLQSpliter
ator.forEachRemaining(ConcurrentLinkedQueue.java:851)
[01:05:28][ERROR][err]  at java.util.stream.AbstractPipeline.copyInto(AbstractPi
peline.java:512)
[01:05:28][ERROR][err]  at java.util.stream.AbstractPipeline.wrapAndCopyInto(Abs
tractPipeline.java:502)
[01:05:28][ERROR][err]  at java.util.stream.ForEachOps$ForEachOp.evaluateSequent
ial(ForEachOps.java:151)
[01:05:28][ERROR][err]  at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateS
equential(ForEachOps.java:174)
[01:05:28][ERROR][err]  at java.util.stream.AbstractPipeline.evaluate(AbstractPi
peline.java:234)
[01:05:28][ERROR][err]  at java.util.stream.ReferencePipeline.forEach(ReferenceP
ipeline.java:418)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.samp.SampCallbackManagerImpl$1.onA
mxLoad(SampCallbackManagerImpl.java:52)

----------------------------------
  Bare Script

----------------------------------

Number of vehicle models: 0
What did I do wrong?
(It's default Shoebill LVDM)
Reply

Quote:
Originally Posted by DrumYum
Посмотреть сообщение
After long pause in development I've updated Shoebill and tried to launch server, but It show me this:
Код:
----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3.7, ©2005-2015 SA-MP Team

filterscripts = ""  (string)

Server Plugins
--------------
 Loading plugin: Shoebill
  > Shoebill 1.1 NativePlugin for SA-MP 0.3.7 by MK124, JoJLlmAn & 123marvin123
  > Java VM has been created.
Shoebill Dependency Manager 1.0-SNAPSHOT (for net.gtaun:shoebill-api:1.1)
Build date: 2015-05-04 16:25:57 MESZ (+0200)
Resolving dependencies...
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further detail
s.
Checking for internal updates (plugin, dependency-manager, launcher)...
Added shoebill\bootstrap\shoebill-dependency-manager-1.0-SNAPSHOT.jar for update
 queue.
Added shoebill\bootstrap\shoebill-launcher-1.1-SNAPSHOT.jar for update queue.
Added plugins\Shoebill.dll for update queue.

All files are up-to-date!
Skipped artifact example-lvdm-1.0-SNAPSHOT (Gamemode)
Resolved artifact net.gtaun:shoebill-runtime:jar:1.1-20150609.140644-9 from gtau
n-public-repo
Resolved artifact net.gtaun:shoebill-api:jar:1.1-20150609.140537-15 from gtaun-p
ublic-repo
Resolved artifact net.gtaun:util-event:jar:1.0-20150503.135149-1 from gtaun-publ
ic-repo
Resolved artifact org.apache.commons:commons-lang3:jar:3.3.1 from central
Resolved artifact org.slf4j:slf4j-api:jar:1.7.7 from central
Resolved artifact net.gtaun:shoebill-utilities:jar:1.0-20150503.134400-1 from gt
aun-public-repo
Resolved artifact org.yaml:snakeyaml:jar:1.13 from central
Resolved artifact org.slf4j:slf4j-log4j12:jar:1.7.7 from central
Resolved artifact log4j:log4j:jar:1.2.17 from central
Resolved artifact net.gtaun:shoebill-common:jar:1.0-20150604.160816-10 from gtau
n-public-repo
[01:05:28][INFO][ShoebillImpl] Could not find shoebill\log4j.xml file. The defau
lt configuration will be used.
[01:05:28][INFO][ShoebillImpl] Shoebill Runtime 1.1-SNAPSHOT (for SA-MP 0.3.7)
[01:05:28][INFO][ShoebillImpl] Build date: 2015-06-09 16:06:39 MESZ (+0200)
[01:05:28][INFO][ShoebillImpl] System environment: Windows 7 (x86, 6.1)
[01:05:28][INFO][ShoebillImpl] JVM: Java HotSpot™ Server VM 25.45-b02
[01:05:28][INFO][ShoebillImpl] Java: Java Platform API Specification 1.8
  > Shoebill has been initialized.
  Loaded.
 Loaded 1 plugins.


Started server on port: 7777, with maxplayers: 500 lanmode is OFF.


Filterscripts
---------------
  Loaded 0 filterscripts.

[01:05:28][INFO][ResourceManagerImpl] Load gamemode: Ventura's DM~MG (Shoebill M
ilestone2 Example)
[01:05:28][ERROR][err] java.lang.NoSuchMethodError: net.gtaun.shoebill.common.co
mmand.PlayerCommandManager.registerCommands(Ljava/lang/Object;)V
[01:05:28][ERROR][err]  at net.gtaun.shoebill.example.lvdm.PlayerManager.<init>(
PlayerManager.java:80)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.example.lvdm.LvdmGamemode.onEnable
(LvdmGamemode.java:71)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.resource.Resource.enable(Resource.
java:92)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.resource.ResourceManagerImpl.loadG
amemode(ResourceManagerImpl.java:181)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.resource.ResourceManagerImpl.loadA
llResource(ResourceManagerImpl.java:62)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.ShoebillImpl.loadPluginsAndGamemod
e(ShoebillImpl.java:290)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.ShoebillImpl.access$200(ShoebillIm
pl.java:47)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.ShoebillImpl$1.onAmxLoad(ShoebillI
mpl.java:234)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.samp.SampCallbackManagerImpl$1.lam
bda$null$37(SampCallbackManagerImpl.java:52)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.samp.SampCallbackManagerImpl$1$$La
mbda$30/6779715.call(Unknown Source)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.util.TryUtils.tryTo(TryUtils.java:
21)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.util.TryUtils.tryTo(TryUtils.java:
14)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.samp.SampCallbackManagerImpl$1.lam
bda$onAmxLoad$38(SampCallbackManagerImpl.java:52)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.samp.SampCallbackManagerImpl$1$$La
mbda$29/18262729.accept(Unknown Source)
[01:05:28][ERROR][err]  at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Fo
rEachOps.java:184)
[01:05:28][ERROR][err]  at java.util.stream.ReferencePipeline$2$1.accept(Referen
cePipeline.java:175)
[01:05:28][ERROR][err]  at java.util.concurrent.ConcurrentLinkedQueue$CLQSpliter
ator.forEachRemaining(ConcurrentLinkedQueue.java:851)
[01:05:28][ERROR][err]  at java.util.stream.AbstractPipeline.copyInto(AbstractPi
peline.java:512)
[01:05:28][ERROR][err]  at java.util.stream.AbstractPipeline.wrapAndCopyInto(Abs
tractPipeline.java:502)
[01:05:28][ERROR][err]  at java.util.stream.ForEachOps$ForEachOp.evaluateSequent
ial(ForEachOps.java:151)
[01:05:28][ERROR][err]  at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateS
equential(ForEachOps.java:174)
[01:05:28][ERROR][err]  at java.util.stream.AbstractPipeline.evaluate(AbstractPi
peline.java:234)
[01:05:28][ERROR][err]  at java.util.stream.ReferencePipeline.forEach(ReferenceP
ipeline.java:418)
[01:05:28][ERROR][err]  at net.gtaun.shoebill.samp.SampCallbackManagerImpl$1.onA
mxLoad(SampCallbackManagerImpl.java:52)

----------------------------------
  Bare Script

----------------------------------

Number of vehicle models: 0
What did I do wrong?
(It's default Shoebill LVDM)
Try updating your shoebill files by launching "update-shoebill.bat".

Also show me your resources.yml located in server/shoebill.
Reply

"All files are up-to-date!"

resources are standard:
Код:
repositories:
  - id: central
    url: http://repo1.maven.org/maven2/nl6747388a...4.84185356  - id: gtaun-public-repo
    url: http://repo.gtaun.net/content/groups/pub...4.84185356  - id: sonatype-oss-snapshots
    url: https://oss.sonatype.org/content/reposit...4.84185356# When to update cache?
# Options: always / daily / interval:[minutes]
cacheUpdatePolicy: always

# If Maven checks for Updates or use old artifacts
offlineMode: false

# Your needed runtimes
runtimes:
  - net.gtaun:shoebill-runtime:1.1-SNAPSHOT
  - net.gtaun:shoebill-common:1.0-SNAPSHOT

# Additional plugins
plugins:

# Your gamemode
gamemode: example-lvdm-1.0-SNAPSHOT
Reply

Hmm the gamemode you use seems old... I'm looking at the example gamemode(here) and I can't see the classes mentioned in your backtrace PlayerManager for example.

Try re-downloading the LVDM gamemode.
Reply

I didn't download anything, I downloaded only Shoebill 1.1 server and just launched it.
I can't find LVDM 1.1 .jar file, only sources. I must build it by my own?
Reply

@DrumYum: It might be possible that the included example-lvdm gamemode is outdated. I will replace it soon.
You can download the newest version here: http://ci.gtaun.net/view/examples/jo...0-SNAPSHOT.jar

You just need to replace the downloaded file with the file in the shoebill/gamemode directory.
Reply

Yep, it works.
Thanks, mk124 and dusk!
Reply

When I add BeforeCheck to commands class other commands class don't process commands, why?

In PlayerManager:
Код:
commandManager.registerCommands(new AdminCommands(playerLifecycleHolder));
commandManager.registerCommands(new TDMCommands(playerLifecycleHolder));
In AdminCommands class:
Код:
@BeforeCheck
public boolean beforeCheck(Player p, String cmd, String params)
{
	if(p.isAdmin()) return true;
		
	return false;
}
If I comment BeforeCheck block every commands works fine, otherwise work only commands from AdminCommands class.
Reply

@DrumYum: You need to make a CommandGroup and register the admin commands in it. Then you can register the CommandGroup and the player commands will still work.
Reply

BeforeCheck works for all commands classes in CommandGroup?
I need to add other commands classes to their own CommandGroups?
Reply

How do I use the new 0.3.7 dialog styles?
Reply

@DrumYum: Yes, there can only be one BeforeCheck in every CommandGroup.
@dusk: 0.3.7 Dialog styles can be used with player.showDialog(), it is currently not supported by shoebill-common.
Reply

Oh, thanks. Do you plan to add support for them in shoebil-commons? I just love that kind of dialog building.


Hmm I can't see the new styles in DialogStyle enum? Well atleast not on github.


EDIT: I think I found a spelling mistake. VehicleModel class method "isVaildId" instead of "isValidId".
Reply

@dusk:

Yes, the new dialog styles will probably be implemented in the near future. And thank you for the little mistake report, I fixed it in this commit:

https://github.com/Shoebill/shoebill...5514810da7fe63

You can redownload the maven dependencies and you should see the new changes (don't forget to update server's shoebill-api too).
Reply

What's the difference between registerGroup and registerChildGroup?
And why BeforeCheck don't works in code like this?
Код:
mainCommandGroup = new CommandGroup();
adminCommandGroup = new CommandGroup();
		
mainCommandGroup.registerCommands(new TDMCommands(playerLifecycleHolder));
adminCommandGroup.registerCommands(new AdminCommands(playerLifecycleHolder));
		
commandManager.registerGroup(mainCommandGroup);
commandManager.registerGroup(adminCommandGroup);
Reply

@DrumYum: If you register a child group, Shoebill will use a specific path to handle these commands. For example, if you register a CommandGroup with Admin-Commands, you can specific a prefix for them:

Код:
CommandGroup adminGroup = new CommandGroup();
adminGroup.registerCommands(new AdminCommands());
commandManager.registerChildGroup(adminGroup, "a");
Now, every admin command (e.g. kick, ban, set money) is reachable under the prefix "a":

/a kick
/a ban
/a ...

And please show me your BeforeCheck method, make sure that you add the @BeforeCheck Annotation on the method and make sure that your BeforeCheck-Method has the following parameters:
beforeCheck(Player p, String cmd, String params)
Reply

Commands in TDMCommands and AdminCommands available in game, but BeforeCheck doesn't process. (String haven't printed)

BeforeCheck in AdminCommands:
Код:
@BeforeCheck
public boolean beforeCheck(Player p, String cmd, String params)
{
	System.out.println("BeforeCheck initialized in " + this.getClass().getName());
	...
Reply

So, it's my problem or what?..
Reply

@DrumYum: Sorry, I was not home for 2 weeks.
Can you show me your full code, how you register the commands?
You need to use CommandGroup for multiple commands with more than one BeforeChecker.
Reply



We are happy to announce, that Shoebill now supports the new 0.3.7 R2 Server Update. If you want to use the new features, you need to use the enclosed Shoebill-Updater. Just execute the update-shoebill.bat/.sh script (alternative -> java -jar shoebill-updater.jar) and all old files will be updated. In addition, you will need to replace the old 0.3.7 executable files with the new 0.3.7 R2 files. Simply download the 0.3.7 R2 server package for your environment and replace samp-server.exe, announce.exe and samp-npc.exe. After you updated, start the server, and shoebill will replace all old dependencies. If you want to know what has been changed in R2, you can take a look at the official post: https://sampforum.blast.hk/showthread.php?tid=581259

Commits:
API: https://github.com/Shoebill/shoebill...a2777c36bc9dd9
Runtime: https://github.com/Shoebill/shoebill...19a5acbfcad5b7
Launcher: https://github.com/Shoebill/shoebill...f2e2635413b7e2
Plugin: https://github.com/Shoebill/Shoebill...10fa6032410f61

Manual download:
API: http://ci.gtaun.net/job/shoebill-api...1-SNAPSHOT.jar
Runtime: http://ci.gtaun.net/job/shoebill-run...1-SNAPSHOT.jar
Launcher: http://ci.gtaun.net/job/shoebill-lau...1-SNAPSHOT.jar
Plugin:
- Windows: http://catboy5.bplaced.net/updater/b...s/Shoebill.dll
- Linux: http://catboy5.bplaced.net/updater/binaries/Shoebill

Usage:

PHP код:
Server server Server.get();
server.setStringVar("varname""value");
server.setIntVar("intvarname"15);
server.setFloatVar("floatvarname"13.56f);
String value server.getStringVar("varname"); //"value"
int intval server.getIntVar("intvarname"); //15
float floatval server.getFloatVar("floatvarname"); //13.56
server.deleteVar("varname"); //delete string
server.hashPassword("my-secreet-password""my-salt"); //hash passwords with SHA256_PassHash() Method 
Reply


Forum Jump:


Users browsing this thread: 23 Guest(s)