Skip to content

Commit

Permalink
Index and getting started pages
Browse files Browse the repository at this point in the history
  • Loading branch information
aramperes committed Apr 15, 2018
1 parent 7455599 commit bd66582
Show file tree
Hide file tree
Showing 6 changed files with 400 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
_build/
156 changes: 156 additions & 0 deletions Getting_Started/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
Getting Started
#######################

Glowstone Installation
************************

Installing Glowstone is as easy as installing any other server software.

Install Java
===============

Install `Oracle Java 8`_ (recommended).
If you're running a Linux distro, look into installing Oracle Java through your package manager before using these downloads.
But, if you really don't want Oracle Java, you can use OpenJDK_.

.. note::

**We require Java 8 update 101 or greater.**

Our Maven repository uses a Let's Encrypt HTTPS certificate, and Let's Encrypt was added to the Java truststore in update 101.

Without this truststore, our library manager fails to pull dependencies from our server, due to an SSL security error.

Confirm that you have Java 8 by running :code:`java -version` in your system's command prompt/terminal.
You should see something like :code:`java version "1.8.0_121"` at the top. As long as it includes :code:`1.8`, and the number after the :code:`_` is more than 101, you're good.


.. note::
If you installed Java 8 on **macOS**, but :code:`java -version` is showing an older version, run

.. code-block:: sh
sudo mv /usr/bin/java /usr/bin/java-1.6
sudo ln -s '/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java' /usr/bin/java
For more details, see `this guide`_.


.. _Oracle Java 8: http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
.. _OpenJDK: http://openjdk.java.net/install/
.. _this guide: https://gist.github.com/johan/10590467


Install Glowstone
====================

1. Download the latest build of Glowstone_.
2. Move the jar file to your server folder. If you drop and run the jar in your current server folder, it will automatically migrate most settings to Glowstone.
3. Follow the instructions for your operating system below.

.. _Glowstone: https://glowstone.net/#downloads

Windows
--------

Using a text editor like Notepad, create a new start script named :code:`start.bat` to launch the jar file:

.. code-block:: bat
@echo off
java -Xms768M -XX:+UseG1GC -jar glowstone.jar
pause
Make sure you select :code:`All Files` as the file type in the save window.

Finally, double click the :code:`start.bat` file.

GNU/Linux
----------

Using a text editor like gedit, mousepad, Atom, Sublime Text, nano, (Neo)vi(m), Kate or emacs, create a new start script named :code:`start.sh` to launch the jar file:

.. code-block:: sh
#!/bin/sh
BINDIR=$(dirname "$(readlink -fn "$0")")
cd "$BINDIR"
java -Xms768M -XX:+UseG1GC -jar glowstone.jar
Open terminal, go to your Glowstone folder and enter this command to give the script execute permissions:

.. code-block:: sh
chmod +x start.sh
Enter this command in the terminal to start the server:

.. code-block:: sh
./start.sh
macOS
------

Using a text editor like TextEdit, create a new start script named :code:`start.command` to launch the jar file:

.. code-block:: sh
#!/bin/bash
cd '$( dirname "$0" )'
java -Xms768M -XX:+UseG1GC -jar glowstone.jar
Open terminal, change current directory by typing :code:`cd` and dragging and dropping the Glowstone folder into terminal window.

At this point it should look like this:

.. code-block:: sh
cd /Users/YourName/YourGlowstoneFolder/Glowstone
If you think that is correct press enter and move to the next step.

Just **type** (do not enter!) this command to give the script execute permissions:

.. code-block:: sh
chmod a+x
Drag start.command into the Terminal window. Confirm there is a space between :code:`chmod a+x` and the :code:`start.command` path, and then enter.
Finally, double click the :code:`start.command` file to start the server.


After Thoughts
================

If you have any trouble setting up, we would be happy to help you on the forums_
or Discord_. Otherwise, congratulations! You've just installed Glowstone!

* If you can't access your server from your public IP, make sure you have `port forwarded`_ or used a UPnP port mapper to allow incoming connections to your server.
* For server issues or suggestions, create an issue on Github.
* By default, all configuration files are in the :code:`config` folder.

.. _forums: https://forums.glowstone.net/
.. _Discord: https://discord.gg/TFJqhsC
.. _port forwarded: http://portforward.com/english/applications/port_forwarding/Minecraft_Server/

Plugins
************

Most Bukkit_, Spigot_ and Paper_ plugins will work on Glowstone.

.. warning::

Plugins that use internals for Paper, Spigot, CraftBukkit, or Minecraft will not work, unless they are designed to fail gracefully.

This includes plugins that use "*NMS*" reflectively.

.. _Bukkit: http://dev.bukkit.org/bukkit-plugins/
.. _Spigot: https://www.spigotmc.org/resources/categories/bukkit.4/
.. _Paper: https://aquifermc.org/resources/categories/server-plugins.2/

20 changes: 20 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SPHINXPROJ = Glowstone
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
159 changes: 159 additions & 0 deletions conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
# -*- coding: utf-8 -*-
#
# Configuration file for the Sphinx documentation builder.
#
# This file does only contain a selection of the most common options. For a
# full list see the documentation:
# http://www.sphinx-doc.org/en/stable/config

# -- Path setup --------------------------------------------------------------

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))


# -- Project information -----------------------------------------------------

project = 'Glowstone'
copyright = '2018, The Glowstone Project'
author = 'The Glowstone Project'

# The short X.Y version
version = ''
# The full version, including alpha/beta/rc tags
release = '2018.4.0'


# -- General configuration ---------------------------------------------------

# If your documentation needs a minimal Sphinx version, state it here.
#
# needs_sphinx = '1.0'

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.autodoc',
]

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
# source_suffix = ['.rst', '.md']
source_suffix = '.rst'

# The master toctree document.
master_doc = 'index'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path .
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']

# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'


# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'

# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
# html_theme_options = {}

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']

# Custom sidebar templates, must be a dictionary that maps document names
# to template names.
#
# The default sidebars (for documents that don't match any pattern) are
# defined by theme itself. Builtin themes are using these templates by
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
# 'searchbox.html']``.
#
# html_sidebars = {}


# -- Options for HTMLHelp output ---------------------------------------------

# Output file base name for HTML help builder.
htmlhelp_basename = 'Glowstonedoc'


# -- Options for LaTeX output ------------------------------------------------

latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#
# 'papersize': 'letterpaper',

# The font size ('10pt', '11pt' or '12pt').
#
# 'pointsize': '10pt',

# Additional stuff for the LaTeX preamble.
#
# 'preamble': '',

# Latex figure (float) alignment
#
# 'figure_align': 'htbp',
}

# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'Glowstone.tex', 'Glowstone Documentation',
'The Glowstone Project', 'manual'),
]


# -- Options for manual page output ------------------------------------------

# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, 'glowstone', 'Glowstone Documentation',
[author], 1)
]


# -- Options for Texinfo output ----------------------------------------------

# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, 'Glowstone', 'Glowstone Documentation',
author, 'Glowstone', 'One line description of project.',
'Miscellaneous'),
]


# -- Extension configuration -------------------------------------------------
28 changes: 28 additions & 0 deletions index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Home
*********************

Welcome to the Glowstone documentation!

Glowstone is a fast, customizable and compatible open source Minecraft_ server written in Java that supports plugins for Bukkit_, as continued by Spigot_ and Paper_.
Glowstone's code is completely from scratch, so some Bukkit plugins that use Mojang code will not work, though.

This documentation introduces Glowstone for server owners and developers. If you are someone that plays on a server powered by Glowstone, you may find `our website`_ more interesting.

If you need help with something or if the documentation can't answer your question, you can chat with us via `our Discord server`_.

.. _Minecraft: https://minecraft.net
.. _Bukkit: https://bukkit.org
.. _Spigot: https://spigotmc.org
.. _Paper: https://github.com/PaperMC/Paper

.. _our website: https://glowstone.net
.. _our Discord server: https://discord.gg/TFJqhsC

Table of Contents
==================

.. toctree::
:maxdepth: 3
:caption: Contents:

Getting_Started/index

0 comments on commit bd66582

Please sign in to comment.