AdSky

AdSky

622 Downloads

AdSky


 

Introduction

AdSky is a way for you, as a Minecraft server owner, to monetize your server. Currently, there are two kinds of ads : Title ads and Chat ads. Advertisers choose the type of ad they want to broadcast on your server, customize it (Title / subtitle, duration, display per day, ...), pay it according to the price you set up and voilĂ  !

There are two parts : Server and Plugin.

Server part

The server part is a PHP + MySQL application that you install on your own web server, it is where advertisers will register and broadcast their ads. To see how to install it and the requirements, please check the Installation section of the server branch's README.

Here is a screenshot of the administration panel.

Plugin part

The plugin part is a simple Bukkit / Sponge plugin that is going to link up with the server part. To see how to install it and the requirements, please check the Installation section.

Features

AdSky is built to be lightweight, but it still has a lot of features :

  • Free and open-source.
  • Can be run on almost any server that as PHP + MySQL installed.
  • Everything is configurable.
  • Lightweight.
  • Android application. Coming soon !

Installation

To install the server part, please check the Installation section of the server branch's README.

To install the Bukkit plugin, you have to download the JAR and put it inside the plugins folder located in your server directory.

You need either Bukkit or Spigot. Any version above 1.8 should work.

Configuration

The configuration file is plugins/AdSky/config.yml. Open it and configure it as you want :

Depth 0 Depth 1 Description
enable updater Whether the updater should be enabled (Skyupdater).
   metrics Whether bStats Metrics should be enabled.
server url AdSky's root URL on your server.
   plugin-key The key given at the end of the installation. If you don't remember it, it is available in core/settings/PluginSettings.php.
   event-scheduler Whether you have scheduled the MySQL event (downloadable here). If you did not, please turn on this option; then the plugin is going to clear expired ads each day at midnight.
ads preferred-hour The preferred hour to broadcast ads to players. 24 hours format. For example, if you want 3PM, put 15.
   worlds-blacklist Ads are not going to be broadcasted in these worlds.
   min-hour Ads are not going to be broadcasted before this hour.
   max-hour Ads are not going to be broadcasted after this hour.
   distribution-function Here's how it works. The h will be replaced by the preferred hour, the n by the number of ads of the day and x by an hour. The function will be evaluated with these parameters with a rounding mode of UP at each hour; first h, then h-1, then h+1, ... The process will be repeated while all ads are not scheduled.
Another good distribution function could be ((-1/n) * (x-h)^2) + (log(n)/log(10)).

Important : If you cannot see the ads, it means you have the permission adsky.bypass (which is granted to ops by default). If you want to see the ads, please turn off the permission for yourself.

Services included in the plugin

This plugin utilizes bstats.org metrics system, which means that the following information is collected and sent to bstats.org :

  • A unique identifier.
  • The server's version of Java.
  • Whether the server is in offline or online mode.
  • The plugin's version.
  • The server's version.
  • The OS version/name and architecture.
  • The core count for the CPU.
  • The number of players online.
  • The bStats version.

This plugin uses the Skyupdater, which means that the following may occur :

  • Connection to curseforge.com.
  • Plugin version compared against version on curseforge.com.
  • Downloading of the plugin from curseforge.com if a new version is found.

Every third party service can be disabled in the configuration file (see above).

Contributing

It's easy to contribute to AdSky ! If you are a developer, first, you have to create a fork and make your changes. Then make a pull request describing what are the improvements.

If you are not a developer, well, you can contribute as well ! Report bugs, problems and improvements in the Issues section. You can also contribute by making a donation.

Anyway, help is greatly appreciated under any form !

Support

If you want to report a bug / suggest an improvement / anything else, do not hesitate to open an issue.