Setting Up Picket - Z5T1/Picket GitHub Wiki

IMPORTANT: Picket is designed to run on Linux an Unix like OSes only. As such, it will not work on Windows or OS X.

Getting the Files

Currently, the only way to get Picket is to compile it from source. A page explaining how to do that will be written sometime in the nearish future. If you're familiar with C and makefiles, you should be able to figure this out.

Configuring Picket

Once you have the binaries for Picket, there are a few additional steps required to configure it. First, it will probably be necessary to edit the config. The main config for Picket is stored in the file picket.config, which has the following fields:

  • plugins - A comma separated list of plugins to load. Only plugins listed here will be loaded. Each plugin name should be the name of the .so file in the plugins directory, without the extension (e.g. to load "plugins/foo.so", you would add "foo" to the list of plugins).
  • max_players - The maximum number of players allowed to connect. This should be the same as max-players in server.properties.
  • port - The port the Minecraft server is set to run on. This tells Picket what port to listen on.
  • screen - The screen to run the Minecraft server in. If you are running multiple instances of picket, make sure each instance is set to run in a different screen.
  • interface - The interface to listen for packets on. In most cases, this should be set to your primary network interface.
  • server_command - The command to use to start the Minecraft server. For a vanilla server, java -jar -Xmx512M minecraft_server.1.7.9.jar nogui should be sufficient.

It is important to note that Picket does not provide a Minecraft server jar file. You must provide the jar file yourself. Additionally, you must set your server to offline mode. Otherwise, the packets will be encrypted and Picket won't be able to listen.

Once you've edited the config to meet your needs, one final step of is required: you must run ./picket_runscript setup as root. This gives Picket permission to monitor network traffic. Otherwise, only root could monitor the traffic, and I have a feeling you don't want to run Picket as root ;).

Starting Picket

Once that is all done, we use the convenient picket_runscript.sh to start and stop the server and Picket. To start Picket and the server, run ./picket_runscript.sh start. This starts both Picket and the Minecraft server. To stop Picket, kill the process (^c is your friend). To stop the Minecraft server, run ./picket_runscript.sh stop. To start Picket without starting the Minecraft server, run ./picket_runscript.sh start-picket.

If that was a bit much to digest, then take away the following:

  • To start Picket, run ./picket_runscript.sh start.
  • To stop Picket, press ^C and then run ./picket_runscript.sh stop.