# pryaxis/tshock

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/pryaxis-tshock).**

2,739 stars · 407 forks · C# · gpl-3.0

## Links

- GitHub: https://github.com/Pryaxis/TShock
- awesome-repositories: https://awesome-repositories.com/repository/pryaxis-tshock.md

## Topics

`c-sharp` `otapi` `terraria` `terraria-api` `terraria-server` `terraria-servers` `tsapi` `tshock`

## Description

TShock is a server management tool and plugin framework for dedicated Terraria servers. It functions as an administrative suite and anti-cheat tool designed to control player permissions, monitor game integrity, and extend server functionality.

The project provides a framework for creating custom plugins that modify the game world and implement new commands. It enables internal state modification through bytecode injection, packet interception, and memory manipulation to bypass engine restrictions and alter live game environments.

Administrative capabilities include a hierarchical role-based access control system for managing user permissions and an item restriction system to enforce gameplay balance. The suite also includes tools for detecting and preventing player cheating through behavioral monitoring.

## Tags

### Game Development

- [Game Server Management Tools](https://awesome-repositories.com/f/game-development/game-server-management-tools.md) — Provides a comprehensive suite of administrative tools to control server behavior and moderate player interactions within a dedicated game environment. ([source](https://ikebukuro.tshock.co/Pryaxis/TShock))
- [Game Engine State Manipulators](https://awesome-repositories.com/f/game-development/game-engine-state-manipulators.md) — Provides capabilities to access and modify internal game data and network packets by interacting directly with server members. ([source](https://github.com/Pryaxis/TShock/blob/general-devel/README_cn.md))
- [Game State Manipulators](https://awesome-repositories.com/f/game-development/game-state-manipulators.md) — Allows accessing and changing internal server data and network packets to modify the live game environment.
- [Gameplay Moderation](https://awesome-repositories.com/f/game-development/gameplay-moderation.md) — Enforces gameplay balance by restricting prohibited objects and monitoring player behavior.
- [In-Game Item Restriction Systems](https://awesome-repositories.com/f/game-development/in-game-item-restriction-systems.md) — Provides a system to ban specific items from being used or spawned to maintain gameplay balance. ([source](https://cdn.jsdelivr.net/gh/pryaxis/tshock@general-devel/README.md))

### Programming Languages & Runtimes

- [C# Plugin Architectures](https://awesome-repositories.com/f/programming-languages-runtimes/high-performance-c-libraries/c-engine-extensions/c-plugin-architectures.md) — Provides a C#-based plugin architecture that loads external assemblies at runtime to extend server logic.

### Part of an Awesome List

- [Server Plugins](https://awesome-repositories.com/f/awesome-lists/devtools/server-plugins.md) — Implements a plugin framework for extending multiplayer server functionality and administrative control.

### Data & Databases

- [Logic Extensions](https://awesome-repositories.com/f/data-databases/sqlite-extensions/native-extension-loading/game-engine-native-plugins/logic-extensions.md) — Enables the development of custom plugins to add new commands and modify internal game world logic.

### Development Tools & Productivity

- [Game Server Plugin Frameworks](https://awesome-repositories.com/f/development-tools-productivity/game-server-plugin-frameworks.md) — Provides a framework for creating custom plugins that modify the game world and implement new server commands. ([source](https://cdn.jsdelivr.net/gh/pryaxis/tshock@general-devel/README.md))

### Operating Systems & Systems Programming

- [Runtime Bytecode Injection](https://awesome-repositories.com/f/operating-systems-systems-programming/bytecode-instruction-editors/runtime-bytecode-injection.md) — Implements bytecode-level state injection to overwrite server runtime instructions and bypass original engine restrictions.

### Security & Cryptography

- [Cheat Detection & Prevention](https://awesome-repositories.com/f/security-cryptography/cheat-detection-prevention.md) — Includes tools and monitoring capabilities to detect player cheating and maintain game integrity. ([source](https://cdn.jsdelivr.net/gh/pryaxis/tshock@general-devel/README.md))
- [Game Anti-Cheat Systems](https://awesome-repositories.com/f/security-cryptography/game-anti-cheat-systems.md) — Monitors in-game behavior and uses anti-cheat tools to identify and stop players from gaining unfair advantages.
- [Game Server Anti-Cheat Tools](https://awesome-repositories.com/f/security-cryptography/game-server-anti-cheat-tools.md) — Provides a monitoring system that detects player cheating to maintain integrity on a game server.
- [Role-Based Access Control](https://awesome-repositories.com/f/security-cryptography/role-based-access-control.md) — Implements a hierarchical role-based access control system to manage user permissions and restrict command execution.
- [User Access Management](https://awesome-repositories.com/f/security-cryptography/user-access-management.md) — Provides centralized tools for managing user groups and granular access levels to regulate player actions. ([source](https://cdn.jsdelivr.net/gh/pryaxis/tshock@general-devel/README.md))

### Software Engineering & Architecture

- [Event-Driven Hook Systems](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-hook-systems.md) — Implements an event-driven hook system to trigger custom plugin code during specific game engine events.
- [Reflection-Based Memory Access](https://awesome-repositories.com/f/software-engineering-architecture/integer-arithmetic/pointer-arithmetic/memory-manipulation/reflection-based-memory-access.md) — Accesses and modifies internal game engine variables by reading and writing directly to the process memory space.

### System Administration & Monitoring

- [Game Server Management Tools](https://awesome-repositories.com/f/system-administration-monitoring/game-server-management-tools.md) — Provides a set of administrative commands and tools for managing a dedicated Terraria server.
- [Game Server Administration Interfaces](https://awesome-repositories.com/f/system-administration-monitoring/game-server-managers/game-server-administration-interfaces.md) — Provides administrative interfaces for managing player permissions and server behavior in real-time.

### Networking & Communication

- [Game Packet Interceptors](https://awesome-repositories.com/f/networking-communication/game-packet-interceptors.md) — Monitors and alters network traffic between the client and server to validate data and block unauthorized actions.
