SA-MP Forums

Go Back   SA-MP Forums > SA-MP Scripting and Plugins > Plugin Development

Reply
 
Thread Tools Display Modes
Old 06/12/2012, 04:19 PM   #1
mk124
Huge Clucker
 
mk124's Avatar
 
Join Date: Jul 2007
Location: Nanning, China
Posts: 321
Reputation: 59
Default Shoebill 1.1 - SA-MP Java Development Kit

We are looking for people that want to make Shoebill greater. If you interested in taking part of Shoebill's development, please contact me.





Join us on Slack!




Shoebill provides multiple ways to run your server. You can simply download our full server package for SA-MP 0.3.7 R2. In this package, everything you need is included (except java). We also provide a simple package, without the server executable, you might want to download this when you want to use a custom version of the SA-MP server. We also provide a wrapper for Mac OS X. You just need to simply double-click it, and shoebill will run on your Mac!
  • Full server package (0.3.7 R2): Download
  • Basic server package (compatible with 0.3.7 R2): Download
  • Mac wrapper (everything included, 0.3.7 R2): Download





Shoebill is a project, which allows you to write your filterscripts and gamemodes in Java. You have full-access to all
Java libraries and functions and even some more. Thanks to Shoebill's great inbuilt data about SA-MP and GTA:SA,
you won't have to search for vehicle or interior ids, because everything is built in, and also available at runtime.
Shoebill also provides a great way to handle Dialogs and many other utility functions.



  • Support the new features of Java 8
  • Object-Oriented
  • Event-Driven
  • Support Unicode/Codepage, client can have multiple encoding by setting codepage
  • Support Shoebill Plugin (Java) extension development
  • Provide service manager to support componentized development
  • Use slf4j as log interface, Use log4j as log implement
  • Use YAML as config and provide the appropriate tools
  • Provide launcher program to avoid BootStrap ClassLoader being polluted
  • Dependency Manager based on resources and libraries of Maven repository
  • Support SA-MP 0.3.7
  • Coexist with other Pawn-Gamemodes
  • Provide AMX interface




Shoebill is mainly lead by three people:
mk124: Started the Shoebill project and laid the foundation of the Shoebill you know today.
123marvin123: Joined in April 2014 the Shoebill project. Updated the Shoebill project since mk124 had no time anymore.
JingLin (inactive): Helped mk124 in the beginning.

Acknowledgement:
June, 258921, Shindo, Yiyin, ba2001, hitman249, Meta, Joe Zhao, 52_PLA, Zito, Julian
And those who are always supporting and using Shoebill.




Shoebill is using the Java Native Interface to enable you to build your gamemodes in Java. No client modification
is need for shoebill to run or players to play on your java flavored server. Everything is server-side.

Shoebill provides a dependency manager which is based on the Maven stock, it allows the automatic updating
of snapshot versions of the API / Runtimes / Related dependencies.

There is also a updater for the native plugin and the dependency-manger & launcher. If you want to use these,
please execute update-shoebill.bat / update-shoebill.sh and it will download the newest files.
Please make sure you update your resources.yml depending which files have been updated.

Introduction of projects:
ShoebillPlugin - Native plugin for sa-mp server
shoebill-launcher - Boot program
shoebill-dependency-manager - Dependency management based on Maven repository
shoebill-utilities - Misc. utility library (Internal use)
util-event - Event library developed for Shoebill
shoebill-api - Shoebill API interface
shoebill-runtime - Shoebill runtime library
shoebill-common - Common tool library
example-vehicle-manager-plugin - Example of Shoebill Plugin for developers
example-lvdm - Example of Shoebill Gamemode for developers

Introduction of the folder / file structure:
plugins/Shoebill.dll - SA-MP Native Plugin for Windows
plugins/Shoebill - SA-MP Native Plugin for Linux
gamemodes/Shoebill.amx - AMX entry for Shoebill
filterscripts/ShoebillFS.amx - Empty FS for solving the problem of malfunction of RCON commands
shoebill/bootstrap - Here are the jars located that are needed to start Shoebill
shoebill/repository - Here are the downloaded artifacts from dependency manager located
shoebill/libraries - Here you can paste custom libs that are not in maven repo
shoebill/gamemodes - Here you can paste your gamemode
shoebill/plugins - Here you can paste additional plugins to make your server more awesome
shoebill/shoebill.yml - Shoebill configuration file (with comments inside)
shoebill/resources.yml - In this file you can specify your gamemode, plugins and runtimes (with comments inside)
shoebill/jvm_options - The parameters for the JVM
shoebill/codepages.txt - A List of Windows codepages, which need to be used in Linux




Shoebill is being developed on GitHub: GitHub
Our CI Jenkins server can be found here (for manual jar download): Jenkins
Our Website can be found here: Shoebill
Our API-Documentation can be found here: Shoebill API-Documentation
Our Shoebill Common-API Documentation can be found here: Shoebill Common API-Doc




Watch our ******* Instruction Videos:
Take a look at our development examples:
Look at our Wiki and use our project generator:
__________________

Last edited by mk124; 15/10/2016 at 04:22 PM.
mk124 is offline   Reply With Quote
Old 06/12/2012, 05:52 PM   #2
Yiin
Banned
 
Join Date: Aug 2012
Location: Lithuania
Posts: 168
Reputation: 20
Default Re: [DP] Project Shoebill Milestone2 - SA-MP Java Development Kit - SNAPSHOT

Why creating gamemode with this API is better than do it in pawn? Speed? Posibilities? Just for fun? I really dont know, can somebody explain it?
Yiin is offline   Reply With Quote
Old 07/12/2012, 04:15 AM   #3
Fenky
Big Clucker
 
Fenky's Avatar
 
Join Date: Nov 2012
Location: Wenzhou, China (GMT+8)
Posts: 59
Reputation: 8
Default Re: [DP] Project Shoebill Milestone2 - SA-MP Java Development Kit - SNAPSHOT

Nice, Make 124.
Fenky is offline   Reply With Quote
Old 07/12/2012, 05:33 AM   #4
hitman249
Little Clucker
 
Join Date: Jun 2012
Posts: 4
Reputation: 1
Default Re: [DP] Project Shoebill Milestone2 - SA-MP Java Development Kit - SNAPSHOT

Quote:
Originally Posted by Yiin View Post
Why creating gamemode with this API is better than do it in pawn? Speed? Posibilities? Just for fun? I really dont know, can somebody explain it?
amenities and features
and the speed
hitman249 is offline   Reply With Quote
Old 07/12/2012, 09:52 AM   #5
ikkentim
High-roller
 
ikkentim's Avatar
 
Join Date: Jan 2010
Location: Kampen, The Netherlands
Posts: 1,078
Reputation: 199
Default Re: [DP] Project Shoebill Milestone2 - SA-MP Java Development Kit - SNAPSHOT

edit: Changed my mind. Useful like pancakes in an empty mouth.
__________________
Greetings,
Tim Potze

Projects
GAMEDEV | Part-time developer working on Parkitect. | Steampage
LSRES | A SA:MP server from the past, and hopefully, back in the future.
SampSharp | Plugin for writing SA:MP gamemodes in C#. | Topic Website Github
SanMap | San Andreas in G00GLE MAPS! | Topic Github Sample

Last edited by ikkentim; 23/04/2014 at 09:06 PM.
ikkentim is offline   Reply With Quote
Old 07/12/2012, 02:56 PM   #6
mk124
Huge Clucker
 
mk124's Avatar
 
Join Date: Jul 2007
Location: Nanning, China
Posts: 321
Reputation: 59
Default Re: [DP] Project Shoebill Milestone2 - SA-MP Java Development Kit - SNAPSHOT

Quote:
Originally Posted by ikkentim View Post
Same response from me as on the .NET sa-mp coding.

It can't trigger custom natives(plugins, etc) properly.
Im 99% sure it can't be efficient.
However, since I think it is unnecessary, Shoebill doesn't provide the support of accessing AMX now.
If I implement the feature of accessing AMX in Shoebill, it seems like this:

Code:
AmxFunction func = amxInstance.getNative("print");
int ret = func.call("test");
// ...
amxInstance.registerNative("SendClientMessageWithShoebill", func);

As a consequence, though Shoebill doesn't provide this feature (maybe never), it can be implemented if I want.
What's more, You can also make a native plugin and call the native / public functions you need in it, and then provide Java Plugin the native methods by JNI.
__________________

Last edited by mk124; 07/12/2012 at 06:11 PM.
mk124 is offline   Reply With Quote
Old 13/12/2012, 05:53 PM   #7
mk124
Huge Clucker
 
mk124's Avatar
 
Join Date: Jul 2007
Location: Nanning, China
Posts: 321
Reputation: 59
Default Re: [DP] Project Shoebill Milestone2 - SA-MP Java Development Kit - SNAPSHOT

I don't know why the topic has few replies. That makes me frustrated. Could someone told me the reason why
__________________
mk124 is offline   Reply With Quote
Old 13/12/2012, 06:01 PM   #8
TheDeadlyDutchi
Big Clucker
 
Join Date: Sep 2012
Location: The Netherlands
Posts: 221
Reputation: 72
Default Re: [DP] Project Shoebill Milestone2 - SA-MP Java Development Kit - SNAPSHOT

It's probably because not much users want to program in Java....
TheDeadlyDutchi is offline   Reply With Quote
Old 13/12/2012, 07:28 PM   #9
zgintasz
Huge Clucker
 
Join Date: Oct 2011
Posts: 379
Reputation: 11
Default Re: [DP] Project Shoebill Milestone2 - SA-MP Java Development Kit - SNAPSHOT

It's really awesome to have ability to program in other languages. I would certainly use it, but... I hate Java, it looks very messy for me. I don't like pawn very much, it hasn't got great features, like pointers. I prefer C(pawn and C are very similar), if there would be ability to program using C, I would certainly use it.
And what is the reason for only a few comments? Look at the scripting help section... People are trying to script something, they think they can. They think they can script server even if they don't have programming skills, they think they are strong enough. And there aren't many people who knows a lot of Java in this community and if they use it, there won't be many people who will try to help.
Anyway, great job. I haven't used Java a lot, is memory hacking possible with this? Is it possible to use it in this(just asking)?
zgintasz is offline   Reply With Quote
Old 14/12/2012, 11:57 AM   #10
mk124
Huge Clucker
 
mk124's Avatar
 
Join Date: Jul 2007
Location: Nanning, China
Posts: 321
Reputation: 59
Default Re: [DP] Project Shoebill Milestone2 - SA-MP Java Development Kit - SNAPSHOT

Quote:
Originally Posted by zgintasz View Post
It's really awesome to have ability to program in other languages. I would certainly use it, but... I hate Java, it looks very messy for me. I don't like pawn very much, it hasn't got great features, like pointers. I prefer C(pawn and C are very similar), if there would be ability to program using C, I would certainly use it.
And what is the reason for only a few comments? Look at the scripting help section... People are trying to script something, they think they can. They think they can script server even if they don't have programming skills, they think they are strong enough. And there aren't many people who knows a lot of Java in this community and if they use it, there won't be many people who will try to help.
Anyway, great job. I haven't used Java a lot, is memory hacking possible with this? Is it possible to use it in this(just asking)?
I think i knew the reason, thank you.
But i'm sorry to say, this Development Kit can't use on memory hacking.
Method proxy just design for its own Java API.

If you want to program in C, you may check Zeex's remarkable project:
https://github.com/Zeex/sampgdk

BTW: I do like C, but Java is cool as well, for example:
VehicleDialog.java
VehicleListDialog.java
__________________
mk124 is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[FilterScript] [SHOEBILL] Gamemode Reloader mk124 Tools and Files 10 16/05/2016 07:29 PM
[Plugin] [ALPHA] Project Shoebill - Java for SA:MP Development Kit - Milestone 1 (20110701) mk124 Plugin Development 58 05/04/2016 09:23 PM
[GameMode] [Java] PROJECT NEW WL-World (Based on Shoebill, WIP) mk124 Gamemode Scripts 12 02/11/2014 12:16 AM
[FilterScript] Dealership plugin for shoebill (Java) 123marvin123 Filterscripts 4 08/06/2014 03:17 PM


All times are GMT. The time now is 10:01 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.