aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Touhey <thomas@touhey.fr>2021-06-08 13:41:40 +0200
committerThomas Touhey <thomas@touhey.fr>2021-06-08 13:41:40 +0200
commitf7d82f7eea1541e874999287fc168bad9cf6f11f (patch)
treeb68d1b8bb4ffea0607c8da0c9a11d638f47fbe0b
parent17d5705030f91e03c94525e055b4cde183fc33b1 (diff)
Isolated players' information in a separate file, added lms
-rw-r--r--docs/explain/computers.rst11
-rw-r--r--docs/explain/modem-protocols.rst4
-rw-r--r--docs/explain/modem.rst10
-rw-r--r--docs/explain/modem/gollark.rst20
-rw-r--r--docs/explain/modem/gps.rst12
-rw-r--r--docs/explain/modem/jackmac.rst8
-rw-r--r--docs/explain/modem/ldd.rst5
-rw-r--r--docs/explain/modem/oneos.rst5
-rw-r--r--docs/explain/modem/opus.rst6
-rw-r--r--docs/glossary.rst2
-rw-r--r--docs/index.rst1
-rw-r--r--docs/libs/image.rst4
-rw-r--r--docs/people.rst117
13 files changed, 170 insertions, 35 deletions
diff --git a/docs/explain/computers.rst b/docs/explain/computers.rst
index 45780c7..ba89e49 100644
--- a/docs/explain/computers.rst
+++ b/docs/explain/computers.rst
@@ -14,14 +14,13 @@ projects:
.. note::
- While Daniel Ratcliffe a.k.a `dan200`_ started the original
- `ComputerCraft`_ mod in 2011, he officially released the source code to
- version 1.79 on May 1st, 2017 so he could "devote time to other projects";
+ While :ref:`player-dan200` started the original `ComputerCraft`_ mod in
+ 2011, he officially released the source code to version 1.79 on May 1st,
+ 2017 so he could "devote time to other projects";
see commit `ComputerCraft 1.79 initial upload`_.
It is now unmaintained, the community now mainly using CC:T,
- the fork made and maintained to this day by Jonathan Coates
- a.k.a `SquidDev`_.
+ the fork made and maintained to this day by :ref:`player-squiddev`.
Supported versions of Lua are versions 5.1 to 5.3.
This Lua runtime, with additional features specific to each computer, is
@@ -59,5 +58,3 @@ These different computers vary in the components they support; see
.. _CraftOS2-Lua: https://github.com/MCJack123/craftos2-lua
.. _OC-LuaJ: https://github.com/MightyPirates/OC-LuaJ
.. _ComputerCraft 1.79 initial upload: https://github.com/dan200/ComputerCraft/commit/e85cdacbc58dedacb7fcbb119efd2b44db4bcdd6
-.. _dan200: https://github.com/dan200
-.. _SquidDev: https://squiddev.cc/
diff --git a/docs/explain/modem-protocols.rst b/docs/explain/modem-protocols.rst
index 31c1e04..30a1523 100644
--- a/docs/explain/modem-protocols.rst
+++ b/docs/explain/modem-protocols.rst
@@ -258,6 +258,9 @@ Some known port protocols are the following:
* - 1294
- ``ldd-ldris``
- :ref:`modem-ldd-ldris`
+ * - 3636
+ - ``lms``
+ - :ref:`modem-gollark-lms`
* - 3773
- ``opus-neural-canvas``
-
@@ -362,6 +365,7 @@ In the following chapters, we'll go more in depth on port protocols.
modem/opus
modem/ldd
modem/jackmac
+ modem/gollark
.. _repeat command: https://github.com/SquidDev-CC/CC-Tweaked/blob/4be0b15afa9d81baf7859cf6c04c048896d7ccdf/src/main/resources/data/computercraft/lua/rom/programs/rednet/repeat.lua
.. _EtherTypes: https://fr.wikipedia.org/wiki/EtherType
diff --git a/docs/explain/modem.rst b/docs/explain/modem.rst
index 4240a14..24ee8d4 100644
--- a/docs/explain/modem.rst
+++ b/docs/explain/modem.rst
@@ -236,10 +236,9 @@ Skynet modems
- any string, number, boolean or table
`Skynet`_ is a virtual modem running on top of websockets. It is centralized,
-based on a server operated by the project's author, gollark,
-owner of `osmarks.net <https://osmarks.net>`_ (previously `osmarks.tk
-<https://osmarks.tk>`_). The project itself was started in 2018, and the
-current version as of March 22nd, 2021, is version 2.
+based on a server operated by the project's author, :ref:`player-gollark`.
+The project itself was started in 2018, and the current version as of
+March 22nd, 2021, is version 2.
The virtual modem is much like your typical ComputerCraft modem, except that:
@@ -331,7 +330,7 @@ rednoot modems
- any string, number, boolean or table
`rednoot`_ is a virtual modem running on top of websockets. The project was
-started in 2017 by `justync7`_; it is no longer maintained, and the
+started in 2017 by :ref:`player-justync7`; it is no longer maintained, and the
public instance recommended by the repo is no longer available, although
the source code for both the client and the server are published under MIT,
along with its `protocol specification <rednoot specification_>`_.
@@ -378,7 +377,6 @@ function`_ for reference.
.. _Skynet: https://forums.computercraft.cc/index.php?topic=71
.. _Skynet source: https://github.com/osmarks/skynet
.. _Lua-CBOR: https://www.zash.se/lua-cbor.html
-.. _justync7: http://www.computercraft.info/forums2/index.php?/user/1364-justync7/
.. _rednoot specification: https://github.com/Lustyn/rednoot/blob/master/SPECIFICATION.md
.. _rednoot message callback function: https://github.com/Lustyn/rednoot/blob/e29b30546d59ddda475509f5d272ed8eaa0b3396/app.js#L158
.. _rednoot client script: https://github.com/Lustyn/rednoot/blob/e29b30546d59ddda475509f5d272ed8eaa0b3396/client.lua
diff --git a/docs/explain/modem/gollark.rst b/docs/explain/modem/gollark.rst
new file mode 100644
index 0000000..a60fe2c
--- /dev/null
+++ b/docs/explain/modem/gollark.rst
@@ -0,0 +1,20 @@
+gollark's modem protocols
+=========================
+
+:ref:`player-gollark` has a few protocols of their own, either running on
+vanilla CraftOS or on own OS potatOS.
+
+.. _modem-gollark-lms:
+
+Lightweight Messaging System
+----------------------------
+
+`Lightweight Messaging System <lms.lua_>`_ is a modem protocol running on
+port 3636. It is an unauthenticated, unencrypted protocol to exchange simple
+messages between computers, usually players.
+
+.. todo::
+
+ Document the protocol.
+
+.. _lms.lua: https://pastebin.com/L0ZKLBRG
diff --git a/docs/explain/modem/gps.rst b/docs/explain/modem/gps.rst
index 669885c..91305aa 100644
--- a/docs/explain/modem/gps.rst
+++ b/docs/explain/modem/gps.rst
@@ -5,7 +5,7 @@ GPS protocol
The GPS protocol allows locating a device through mesuring its distance with
other wireless devices which already know their position. It was probably
-introduced on ComputerCraft by BigSHinyToys (see `the topic`_).
+introduced on ComputerCraft by :ref:`player-BigSHinyToys` (see `the topic`_).
On thox, this protocol is managed by :ref:`thox-gpsd`.
@@ -39,8 +39,8 @@ for Rednet.
The fact that the reply channel is usually the computer ID is
probably the reason why the dedicated page on the wiki of the
- ComputerCraft mod by dan200 incorrectly states that the PING
- message is sent over Rednet while the message format doesn't match.
+ ComputerCraft mod incorrectly states that the PING message is sent over
+ Rednet while the message format doesn't match.
See `this page <http://www.computercraft.info/wiki/Gps_(API)>`_
for reference.
@@ -49,9 +49,9 @@ The Client then proceeds to listen for a given timeframe (by default,
in the native API).
During this timeframe, all the Servers who have heard and process the
-ping message send a geogebra-exportmessage back on the reply channel given by the Client,
-defining the GPS channel as the reply channel, as a sequence of three numbers
-containing, in order, their x, y and z coordinates.
+ping message send a geogebra-exportmessage back on the reply channel given by
+the Client, defining the GPS channel as the reply channel, as a sequence of
+three numbers containing, in order, their x, y and z coordinates.
An example implementation of this iteration from the Server
on native CraftOS is the following:
diff --git a/docs/explain/modem/jackmac.rst b/docs/explain/modem/jackmac.rst
index 4bee1d2..3621ccf 100644
--- a/docs/explain/modem/jackmac.rst
+++ b/docs/explain/modem/jackmac.rst
@@ -1,8 +1,9 @@
JackMac's protocols
-=====================
+===================
-JackMacWindows_ is the author of the `CraftOS-PC`_ emulator, and a number of
-snippets and programs as proof of concepts which he publishes as gists_.
+:ref:`player-jackmacwindows` is the author of the `CraftOS-PC`_ emulator, and
+a number of snippets and programs as proof of concepts which he publishes
+as gists_.
In this document, we'll describe protocols of some of their software.
@@ -33,7 +34,6 @@ connections on any port provided to the server through the command-line.
Describe the protocol.
-.. _JackMacWindows: https://forums.computercraft.cc/index.php?action=profile;u=210
.. _CraftOS-PC: https://www.craftos-pc.cc/
.. _gists: https://gist.github.com/MCJack123
.. _rawshell: https://gist.github.com/MCJack123/8c8861e5e3082d2bed18d07641b5b2cc
diff --git a/docs/explain/modem/ldd.rst b/docs/explain/modem/ldd.rst
index bedb963..3ceccf4 100644
--- a/docs/explain/modem/ldd.rst
+++ b/docs/explain/modem/ldd.rst
@@ -1,7 +1,9 @@
+.. _modem-ldd:
+
LDDestroier's protocols
=======================
-`LDDestroier`_ is a member who has done notable programs such as:
+:ref:`player-lddestroier` is a member who has done notable programs such as:
* `PAIN`_, a picture editor supporting most formats known to ComputerCraft.
* `TRON`_, a Lua adaptation running on ComputerCraft computers of the
@@ -88,7 +90,6 @@ TRON protocol
See `tron.lua`_ for reference.
-.. _LDDestroier: https://forums.computercraft.cc/index.php?action=profile;u=84
.. _CraftBang: https://forums.computercraft.cc/index.php?topic=103.msg418
.. _TRON: https://forums.computercraft.cc/index.php?topic=84
.. _PAIN: https://www.computercraft.info/forums2/index.php?/topic/26418-pain-nfpnftbltgifucg-support-block-characters-undo-buffer-fill-tool-and-an-infinite-scrollable-canvas/
diff --git a/docs/explain/modem/oneos.rst b/docs/explain/modem/oneos.rst
index 580c2eb..ec809a5 100644
--- a/docs/explain/modem/oneos.rst
+++ b/docs/explain/modem/oneos.rst
@@ -1,8 +1,8 @@
OneOS protocols
===============
-`OneOS`_ is an operating system built by `oeed`_ around their programs,
-which are mostly built around the `Bedrock`_ GUI framework.
+`OneOS`_ is an operating system built by :ref:`player-oeed` around their
+programs, which are mostly built around the `Bedrock`_ GUI framework.
The protocols are not security-aware, for the most part. Apart from the
major security issues described below, message validation is poorly handled
@@ -570,7 +570,6 @@ either ``true`` if the door has been unlocked (whitelisted fingerprint and
pocket computer within range), ``false`` otherwise.
.. _OneOS: https://github.com/oeed/OneOS
-.. _oeed: http://www.computercraft.info/forums2/index.php?/user/12402-oeed/
.. _os.getComputerID: https://tweaked.cc/module/os.html#v:getComputerID
.. _os.getComputerLabel: https://tweaked.cc/module/os.html#v:getComputerLabel
.. _textutils.serialize: https://tweaked.cc/module/textutils.html#v:serialize
diff --git a/docs/explain/modem/opus.rst b/docs/explain/modem/opus.rst
index 1576fa1..e8db783 100644
--- a/docs/explain/modem/opus.rst
+++ b/docs/explain/modem/opus.rst
@@ -2,8 +2,8 @@ OPUS OS protocols
=================
`OPUS OS`_ (*the "OS" in the name is NOT optional*) is an operating system
-started by `kepler155c`_ in 2016, and maintained by `Anavrins`_ as of
-November 2020.
+started by :ref:`player-kepler155c` in 2016, and maintained by
+:ref:`player-anavrins` as of November 2020.
Network-wise, it has a high focus on security, providing up-to-date
encryption (using ChaCha20, ECC and SHA-2) and peer-to-peer trust facilities;
@@ -714,8 +714,6 @@ See the `OPUS OS proxy protocol server implementation`_ for reference, and
the ``turtle`` module).
.. _OPUS OS: https://github.com/kepler155c/opus
-.. _kepler155c: https://forums.computercraft.cc/index.php?action=profile;u=92
-.. _Anavrins: https://forums.computercraft.cc/index.php?action=profile;u=25
.. _demonstration: https://youtu.be/XAHeG1rDScg?t=78
.. _java.util.Random: https://docs.oracle.com/javase/8/docs/api/java/util/Random.html
.. _Cobalt implementation of math.random: https://github.com/SquidDev/Cobalt/blob/master/src/main/java/org/squiddev/cobalt/lib/MathLib.java#L191
diff --git a/docs/glossary.rst b/docs/glossary.rst
index ee25fac..f54e07c 100644
--- a/docs/glossary.rst
+++ b/docs/glossary.rst
@@ -16,7 +16,7 @@ used here are not true in other contexts.
See :ref:`explain-bus` for more information.
CC
- Refers to the original ComputerCraft mod by dan200.
+ Refers to the original ComputerCraft mod by :ref:`player-dan200`.
See :ref:`explain-computers` for more information.
diff --git a/docs/index.rst b/docs/index.rst
index c67e8a7..71197ca 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -34,6 +34,7 @@ You can either contact me by mail at thomas@touhey.fr or on the
environment
system
libs
+ people
glossary
.. _ComputerCraft: https://computercraft.cc/
diff --git a/docs/libs/image.rst b/docs/libs/image.rst
index 8d34227..f450d58 100644
--- a/docs/libs/image.rst
+++ b/docs/libs/image.rst
@@ -11,7 +11,8 @@ magick: manipulate pictures easier
Picture formats, mainly:
* NFT ("Nitrogen Fingers Text"), the name is from `npaintpro`_ creator
- `nitrogenfingers`_ from back in 2012. Described in the `COS 6`_ standard.
+ :ref:`player-nitrogenfingers` from back in 2012. Described in the
+ `COS 6`_ standard.
* NFP ("Nitrogen Fingers Paint"), name derived from NFT.
Described in the `COS 4`_ standard.
* ANFT (?), referenced in `NFT Extra`_.
@@ -21,7 +22,6 @@ magick: manipulate pictures easier
standard.
.. _npaintpro: http://www.computercraft.info/forums2/index.php?/topic/6923-gameutils-now-with-collision-detection/
-.. _nitrogenfingers: http://www.computercraft.info/forums2/index.php?/user/643-nitrogenfingers/
.. _COS 4: https://github.com/oeed/CraftOS-Standards/blob/2a92b286d981d2f06bec24f542e6dc6cbeaa3314/standards/4-paint.md
.. _COS 5: https://github.com/oeed/CraftOS-Standards/blob/2a92b286d981d2f06bec24f542e6dc6cbeaa3314/standards/5-ucg.md
.. _COS 6: https://github.com/oeed/CraftOS-Standards/blob/2a92b286d981d2f06bec24f542e6dc6cbeaa3314/standards/6-nft.md
diff --git a/docs/people.rst b/docs/people.rst
new file mode 100644
index 0000000..0de26bc
--- /dev/null
+++ b/docs/people.rst
@@ -0,0 +1,117 @@
+Notable people
+==============
+
+In this document, we will reference people who had notable roles in the
+development of environments in which thox runs, and/or in major projects
+thox interacts with and/or takes inspiration from.
+
+.. _player-dan200:
+
+.. rubric:: Daniel Ratcliffe (dan200)
+
+Creator of the original ComputerCraft mod.
+
+ * `dan200.net <http://www.dan200.net/>`_
+ * `dan200 on the CC forums <https://www.computercraft.info/forums2/index.php?/user/27-dan200/>`_
+ * `dan200 on Github <https://github.com/dan200>`_
+
+.. _player-squiddev:
+
+.. rubric:: Jonathan Coastes (SquidDev)
+
+Author of the CC:T fork.
+
+ * `squiddev.cc <https://squiddev.cc/>`_
+ * `SquidDev on CC:T forums <https://forums.computercraft.cc/index.php?action=profile;u=58>`_
+
+.. _player-lddestroier:
+
+.. rubric:: LDDestroier
+
+Author of a number of notable programs for native CraftOS; some protocols linked
+to their programs are documented in :ref:`modem-ldd`.
+
+ * `LDDestroier on CC:T forums <https://forums.computercraft.cc/index.php?action=profile;u=84>`_
+ * `LDDestroier on Github <https://github.com/LDDestroier>`_
+
+.. _player-oeed:
+
+.. rubric:: Oliver Cooper (oeed)
+
+Creator of Bedrock, one of the big GUI frameworks back in 2015, and of OneOS,
+an OS built on this framework.
+
+ * `olivercooper.me <http://olivercooper.me/>`_
+ * `oeed on CC forums <http://www.computercraft.info/forums2/index.php?/user/12402-oeed/>`_
+ * `oeed on Github <https://github.com/oeed>`_
+
+.. _player-MightyPirates:
+
+.. rubric:: MightyPirates
+
+OpenComputers creator.
+
+ * `MightyPirates on Github <https://github.com/MightyPirates>`_
+
+.. _player-bigshinytoys:
+
+.. rubric:: BigSHinyToys
+
+Creator of the GPS API in original ComputerCraft in 2012, using modem APIs
+and trilateration; see :ref:`modem-gps`.
+
+ * `BigSHinyToys on CC forums <http://www.computercraft.info/forums2/index.php?/user/932-bigshinytoys/>`_
+
+.. _player-nitrogenfingers:
+
+.. rubric:: nitrogenfingers
+
+Creator of npaintpro and the NFT format.
+
+ * `nitrogenfingers on CC forums <http://www.computercraft.info/forums2/index.php?/user/643-nitrogenfingers/>`_
+
+.. _player-justync7:
+
+.. rubric:: justync7
+
+Creator of Rednoot.
+
+ * `justync7 on CC forums <http://www.computercraft.info/forums2/index.php?/user/1364-justync7/>`_
+
+.. _player-kepler155c:
+
+.. rubric:: kepler155c
+
+Creator of OPUS OS.
+
+ * `kepler155c on CC:T forums <https://forums.computercraft.cc/index.php?action=profile;u=92>`_
+ * `kepler155c on Github <https://github.com/kepler155c>`_
+
+.. _player-anavrins:
+
+.. rubric:: Anavrins
+
+Maintainer of OPUS OS as of 2020.
+
+ * `Anavrins on CC:T forums <https://forums.computercraft.cc/index.php?action=profile;u=25>`_
+ * `xAnavrins on Github <https://github.com/xAnavrins>`_
+
+.. _player-jackmacwindows:
+
+.. rubric:: JackMacWindows
+
+Contributor to CC:T, author of a few programs.
+
+ * `JackMacWindows on CC:T forums <https://forums.computercraft.cc/index.php?action=profile;u=210>`_
+ * `MCJack123 on Github <https://github.com/MCJack123>`_
+
+.. _player-gollark:
+
+.. rubric:: gollark
+
+Author of Skynet and potatOS.
+
+ * `osmarks.net <https://osmarks.net>`_ (previously
+ `osmarks.tk <https://osmarks.tk>`_).
+ * `osmarks on Github <https://github.com/osmarks/>`_.
+ * `git.osmarks.net (own git forge) <https://git.osmarks.net/>`_.