Segregate out code of conduct; commit temporary changes for preview
This commit is contained in:
parent
486c628019
commit
71bf0ed084
2 changed files with 34 additions and 80 deletions
111
README.md
111
README.md
|
|
@ -15,10 +15,12 @@ TShock is a toolbox for Terraria servers and communities. That toolbox is jam pa
|
|||
## Table of Contents
|
||||
|
||||
* [New to TShock?](#new-to-tshock)
|
||||
* [Code of Conduct](#code-of-conduct)
|
||||
* [Developer's Guide](#developers-guide)
|
||||
|
||||
## New to TShock?
|
||||
|
||||
_These instructions assume Windows. If you're setting up on Linux or macOS, please refer to [the in-depth guide](https://tshock.readme.io/docs/getting-started) (and don't forget to install the *latest version* of `mono-complete` on Linux)._
|
||||
|
||||
1. Download [the latest stable version](https://github.com/TShock/TShock/releases) and `unzip` the folder using your favorite unzip tool. Make sure that all of the files in the zip get into one folder. This is where your server will be stored. The file structure looks like this:
|
||||
|
||||
|
||||
|
|
@ -41,100 +43,49 @@ TShock is a toolbox for Terraria servers and communities. That toolbox is jam pa
|
|||
|
||||
1. Look at the server console for the _auth code_. Type `/auth [code]` (example: `/auth 12345`), then a space, then the code you see in the console in your game chat. Instead of chatting, you'll run a command on the server. This one makes you temporary admin. All commands are prefixed with `/` or `!` (to make them silent).
|
||||
|
||||
1. Use the in-game command `/user add [username] [password] owner` (example: `/user add shank ashes owner`) to create an account. This gives you owner rights on your server, which you can configure more to your liking later.
|
||||
1. Use the in-game command `/register [password]` (example: `/register lovely-ashes`) to create an account. This gives you owner rights on your server, which you can configure more to your liking later. Your `character name` is your `account name`.
|
||||
|
||||
1. Login to your newly created account with `/login [username] [password]` (example: `/login shank ashes`). You should see a login success message.
|
||||
|
||||
1. Turn off the backdoor with `/auth` and your server is setup for initial use!
|
||||
1. Turn off the backdoor with `/auth-verify` and your server is setup for initial use. TShock also created several files inside a new `tshock` folder. These files include `config.json` (our big configuration file), `sscconfig.json` (the server side characters configuration file), and `tshock.sqlite`. Don't lose your `tshock.sqlite` or you'll have to re-setup TShock all over again.
|
||||
|
||||
## Community
|
||||
1. You can now [customize your configuration](https://tshock.readme.io/docs/config-settings), build groups, ban items, and install more plugins.
|
||||
|
||||
Feeling like helping out? Want to find an awesome server? Some awesome plugins?
|
||||
## Developer's Guide
|
||||
|
||||
* [Website & Forums](https://tshock.co/xf/)
|
||||
* [Contribute to our docs on readme.io](https://tshock.readme.io/)
|
||||
* [Join our Discord chat (supports Android, iOS, Web, Mac, and Windows)](https://discord.gg/XUJdH58)
|
||||
Whether you want to contribute to TShock by sending a pull request, customize it to suit your own elfish desires, or want to build your own plugin, this is the best starting point. By the end of this, you'll be able to build TShock from source, start to finish. More than that, though, you'll know how to start on the path of becoming an expert TShock developer.
|
||||
|
||||
### Code of Conduct
|
||||
But first, you need some background.
|
||||
|
||||
> By participating in the TShock for Terraria community, all members will adhere to maintaining decorum with respect to all humans, in and out of the community. Members will not engage in discussion that inappropriately disparages or marginalizes any group of people or any individual. Members will not attempt to further or advance an agenda to the point of being overbearing or close minded (such as through spreading FUD). Members will not abuse services provided to them and will follow the guidance of community leaders on a situational basis about what abuse consists of. Members will adhere to United States and international law. If members notice a violation of this code of conduct, they will not engage but will instead contact the leadership team on either the forums or Discord.
|
||||
### Background
|
||||
|
||||
> Do not attempt to circumvent or bypass the code of conduct by using clever logic or reasoning (e.g., insulting Facepunch members, because they weren't directly mentioned here).
|
||||
Terraria is a C# application written on the .NET framework using the XNA game framework. TShock is a mod for Terraria's server, which is also written in C# on the .NET framework. Some might compare TShock to hMod in the Minecraft world (the precursor to Bukkit and its server, CraftBukkit). This is a good comparison to make in how the underlying build process works. When the project started, TShock was injected directly into the decompiled source code for Terraria. Unlike Minecraft, Terraria is not obfuscated, which means that many variable names and inner workings are sanely-named out of the box. Now, TShock uses advanced techniques to operate.
|
||||
|
||||
Please see the contributing file before sending pull requests.
|
||||
TShock is, first and foremost, a plugin written for the server variant of the Terraria API, an unofficial construct originally built by `bladecoding`. `TShock` has been colloquially used to refer to both the plugin as well as the server and plugin together. Similarly, the Terraria API's client version was abandoned long ago, and development of the `Server` API led to the abbreviation `TSAPI`, for `Terraria Server API`. The plugin `TShock` is executed by the [Terraria Server API](https://github.com/Pryaxis/TerrariaAPI-Server), which is in turn bound to the `Open Terraria API`, more commonly `OTAPI`. The [Open Terraria API](https://github.com/DeathCradle/Open-Terraria-API) is maintained by [DeathCradle](https://github.com/DeathCradle).
|
||||
|
||||
## Download
|
||||
Now, the way that `TShock` runs on `TSAPI` through `OTAPI` can be summarized as the following:
|
||||
|
||||
* [Development Builds](https://travis.tshock.co/)
|
||||
* [Plugins](https://tshock.co/xf/index.php?resources/)
|
||||
* [Very, very old versions of TShock](https://github.com/TShock/TShock/downloads)
|
||||
1. The Open Terraria API deeply integrates with Terraria by modifying the official server's binary directly. This is done through rewriting the Terraria bytecode, the [CIL code](https://en.wikipedia.org/wiki/Common_Intermediate_Language), using a patching tool designed by DeathCradle and tools from the Mono project. For `TSAPI`, additional modifications are done to support TSAPI specific features. This done through the `TShock Mintaka Patcher`.
|
||||
2. The `Terraria Server API` uses hooks provided by `OTAPI` to provide higher level hooks as well as legacy hooks for existing TSAPI applications.
|
||||
3. `TShock` is executed by `TSAPI`, uses hooks provided by both `TSAPI` and `OTAPI`, and provides even higher level hooks and support tools to other `TSAPI` plugins.
|
||||
|
||||
## Backers
|
||||
With all of this in mind, the primary goal when compiling TShock is to remember that only the second and third layers are required to be interacted with. The first layer, `OTAPI`, is provided pre-compiled through NuGet. The second layer, `TSAPI`, is provided in the `TShock` repository through a git submodule.
|
||||
|
||||
Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/tshock#backer)]
|
||||
Let's get started.
|
||||
|
||||
<a href="https://opencollective.com/tshock/backer/0/website" target="_blank"><img src="https://opencollective.com/tshock/backer/0/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/1/website" target="_blank"><img src="https://opencollective.com/tshock/backer/1/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/2/website" target="_blank"><img src="https://opencollective.com/tshock/backer/2/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/3/website" target="_blank"><img src="https://opencollective.com/tshock/backer/3/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/4/website" target="_blank"><img src="https://opencollective.com/tshock/backer/4/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/5/website" target="_blank"><img src="https://opencollective.com/tshock/backer/5/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/6/website" target="_blank"><img src="https://opencollective.com/tshock/backer/6/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/7/website" target="_blank"><img src="https://opencollective.com/tshock/backer/7/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/8/website" target="_blank"><img src="https://opencollective.com/tshock/backer/8/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/9/website" target="_blank"><img src="https://opencollective.com/tshock/backer/9/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/10/website" target="_blank"><img src="https://opencollective.com/tshock/backer/10/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/11/website" target="_blank"><img src="https://opencollective.com/tshock/backer/11/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/12/website" target="_blank"><img src="https://opencollective.com/tshock/backer/12/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/13/website" target="_blank"><img src="https://opencollective.com/tshock/backer/13/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/14/website" target="_blank"><img src="https://opencollective.com/tshock/backer/14/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/15/website" target="_blank"><img src="https://opencollective.com/tshock/backer/15/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/16/website" target="_blank"><img src="https://opencollective.com/tshock/backer/16/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/17/website" target="_blank"><img src="https://opencollective.com/tshock/backer/17/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/18/website" target="_blank"><img src="https://opencollective.com/tshock/backer/18/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/19/website" target="_blank"><img src="https://opencollective.com/tshock/backer/19/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/20/website" target="_blank"><img src="https://opencollective.com/tshock/backer/20/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/21/website" target="_blank"><img src="https://opencollective.com/tshock/backer/21/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/22/website" target="_blank"><img src="https://opencollective.com/tshock/backer/22/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/23/website" target="_blank"><img src="https://opencollective.com/tshock/backer/23/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/24/website" target="_blank"><img src="https://opencollective.com/tshock/backer/24/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/25/website" target="_blank"><img src="https://opencollective.com/tshock/backer/25/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/26/website" target="_blank"><img src="https://opencollective.com/tshock/backer/26/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/27/website" target="_blank"><img src="https://opencollective.com/tshock/backer/27/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/28/website" target="_blank"><img src="https://opencollective.com/tshock/backer/28/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/backer/29/website" target="_blank"><img src="https://opencollective.com/tshock/backer/29/avatar.svg"></a>
|
||||
## Building
|
||||
|
||||
## Sponsors
|
||||
You need to get the source code. Using git, [clone this repository](https://help.github.com/articles/cloning-a-repository/).
|
||||
|
||||
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/tshock#sponsor)]
|
||||
The next set of instructions are the technical details to setup both the Terraria Server API and TShock. More importantly, the Terraria API steps here are written under the assumption that you are building TShock primarily. Before you start, you need to **initialize the git submodules** and then **update them**. You can do this in a graphical git client, or use the following commands.
|
||||
|
||||
<a href="https://opencollective.com/tshock/sponsor/0/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/0/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/1/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/1/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/2/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/2/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/3/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/3/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/4/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/4/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/5/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/5/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/6/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/6/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/7/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/7/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/8/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/8/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/9/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/9/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/10/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/10/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/11/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/11/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/12/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/12/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/13/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/13/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/14/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/14/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/15/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/15/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/16/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/16/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/17/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/17/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/18/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/18/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/19/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/19/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/20/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/20/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/21/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/21/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/22/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/22/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/23/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/23/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/24/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/24/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/25/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/25/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/26/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/26/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/27/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/27/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/28/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/28/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/tshock/sponsor/29/website" target="_blank"><img src="https://opencollective.com/tshock/sponsor/29/avatar.svg"></a>
|
||||
$ git submodule init
|
||||
$ git submodule update
|
||||
|
||||
### On Windows
|
||||
|
||||
#### The Terraria Server API
|
||||
|
||||
|
||||
|
||||
####
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue