|
Welcome to the BukkitWiki!
|
BukkitDev:Project Submission Guidelines
From BukkitWiki
To ensure that projects on BukkitDev are given the exposure and attention they deserve, as well as make it easier for people to find what they are looking for, we are actively enforcing a set of rules and guidelines that we expect and require every project using our service to adhere to.
Contents |
Required Information/Responsibilities:
Release binaries uploaded to your project should follow the requirements outlined below.
- Your project's name should contain the name of your project.
- Your project's description should contain a sales pitch within the first 500 or so characters, as this will be displayed on the projects listings.
- Your project's description should also contain detailed information on what your project has to offer, how to install it and use it, and so on.
- Your project should be associated with the most relevant categories to your project, with one main category and up to 4 sub-categories.
- You are expected to actively maintain your project as detailed below.
- A changelog and known issues list should be provided for every binary you upload to BukkitDev, if at all possible.
- Please be sure to read through the rest of these guidelines to make sure you understand what's expected of you.
File Upload Names and Game Versions
In order to make it easier for everyone to find your project on BukkitDev, there are some guidelines we enforce to provide people with important information about your project at a glance.
For Bukkit projects:
When uploading files to your project you'll be asked to give the file you are uploading a name (note: this is different from the name of the *actual* file you are uploading), this name should follow the format shown below as this is how the system works. On top of the name you give the file, you need to be sure to select the appropriate game version that the file is developed against. For Bukkit projects this should be the RB that your file has been tested with. Please note: the RB number should be within the LAST THREE Recommended Builds of CraftBukkit UNLESS there are API breakages occurring between them or a Recommended Build has been promoted pertaining to a Minecraft update.
v0.1
Where 0.1 is the version of the file you are uploading.
For Non-Bukkit Server projects:
When uploading files to your project you'll be asked to give the file you are uploading a name (note: this is different from the name of the *actual* file you are uploading), this name should follow the format shown below as this is how the system works. On top of the name you give the file, you need to be sure to select the appropriate game version that the file is developed against. For Non-Bukkit server projects, this is simply the Minecraft version the file was developed against.
v0.1
Where 0.1 is the version of the file you are uploading.
For Client projects:
When uploading files to your project you'll be asked to give the file you are uploading a name (note: this is different from the name of the *actual* file you are uploading), this name should follow the format shown below as this is how the system works. On top of the name you give the file, you need to be sure to select the appropriate game version that the file is developed against. For Client projects, this is simply the Minecraft version the file was developed against.
v0.1
Where 0.1 is the version of the file you are uploading.
Project Setup
There are several aspects of your project that you should pay attention to in order to best present it to prospective users. Taking the extra time needed to make sure your project is setup properly will make all the difference in terms of the amount of attention your project receives, the amount of support calls you'll have to manage and so on.
Project Description:
The most important part of a project is your project's description. It is the first thing people will see when looking for and at your project. The project description should be well written, properly formatted and detailed. On BukkitDev, we pull the first 500 characters or so from your project description and display them in the project listings. As such, it is important that you include a well-written description or sales pitch within that limit so that people can see, at a glance, what your project has to offer them.
Once you have the 'sales pitch' portion of your description done, we need to focus on other important pieces of information you should be providing prospective users of your project with: what your project has to offer (a feature list), how to install and use your project's binaries, and so on. Without this information, you'll be getting a lot of un-needed support calls as people won't know how to properly make use of your work or understand what your project does.
On top of your project description, you'll want to upload a "default image" which will be displayed as a thumbnail on the searchable list of projects. Having a "default image" could very well be the element that sets your project apart from a similar one, as it shows that you take your project seriously and don't mind spending extra time and care on the presentation of your project.
Categories and What Tools You Plan On Using:
You need to decide if you want to make use of BukkitDev's provided issue trackers, wiki and forums, or if you want to offload that to something like GitHub, an external Redmine or MediaWiki installation, bearing in mind that it is more likely people will have an account on BukkitDev than any other service you want to use. You also need to decide if you want to make use of the built-in BukkitDev repository or use something like GitHub.
Whatever you decide, please be sure to set it up accordingly: some things need to be enabled on your project. So, for example, if you want to make use of the forums or issue tracker, you'll need to turn that on and set it up within your project's settings before it becomes available to anyone.
Lastly, you need to decide what main category and up to 4 sub-categories best describe your project. When deciding on this, you should take into consideration a weighting of each category in terms of how much it relates to your project and pick accordingly. Proper category choice is another aspect of the project setup we enforce to ensure everyone can find your project with ease.
Maintaining Your Project
On top of actively supporting your project, providing updates and - hopefully - adding cool new things, we expect and require that developers take a few minutes to test their binaries and name them appropriately as they upload them. As per above, we expect that the latest Recommended Build # (for Bukkit plugins) or the Minecraft version (for everything else) be added to the end of your file name within square brackets.
Every so often staff will go around cleaning up the Projects List and your project might get hit and marked as inactive or unsupported if you haven't updated it within a reasonable amount of time.
Any project not adhering to these guidelines (within reason) will be unapproved until they've been updated to follow these Project Submission Guidelines.
Changelogs
BukkitDev provides developers with the facility to provide relevant, useful information for each binary they upload - effectively having a changelog and known issues list per binary version. We expect and require that people take advantage of this system to provide people with an idea as to what has changed between binary versions, as well as what issues you are already aware of so your issue tracker and forums are not filled with un-needed bug reports.
To get an idea of what we're looking for in terms of setting up a project properly, you can take a look at a few of these already established projects:
Multiverse: http://dev.bukkit.org/server-mods/multiverse-core/
TikiToolkit: http://dev.bukkit.org/server-mods/tikitoolkit/