Commit graph

1906 commits

Author SHA1 Message Date
Lucas Nicodemus
9ee0fdcc5d Added links to various people that help out 2012-02-25 22:51:19 -07:00
Lucas Nicodemus
fc5d0413bf Fixed closing remarks not linking right
Added anchor to credits
2012-02-25 22:42:26 -07:00
Lucas Nicodemus
8ace4079f1 Added a section on plugins
Added closing remarks/credits
2012-02-25 22:39:48 -07:00
Lucas Nicodemus
e10d9f546a Added configuration file docs
Added permission documentation
2012-02-25 21:36:08 -07:00
Lucas Nicodemus
c8ba96f746 Reordered ToC around 2012-02-25 21:06:35 -07:00
Lucas Nicodemus
f807187d0b Added basic usage. 2012-02-25 21:03:46 -07:00
Lucas Nicodemus
f7f2d2eb34 Added the initial installation instructions to the documentation. 2012-02-25 20:20:00 -07:00
Lucas Nicodemus
38fbf9bbed Added new documentation, going to compile from Markdown to HTML and ship in the docs folder. Please don't edit this until I'm done styling it and have it ready for prime time.
Removed old changelog (wasn't maintained anyhow, or sent with the shipped product).
Removed old docs thing that pointed to the wiki (boo).
2012-02-25 20:02:54 -07:00
Lucas Nicodemus
c52727ecd0 Merge pull request #414 from stevenh/simple-fixes
Added compatibiliy shims for old method signatures
2012-02-24 18:43:53 -08:00
stevenh
b6b5a2f1ca Added compatibiliy shims for old method signatures without which existing compiled plugins will error with missing method ...
This fixes #410
2012-02-24 11:37:43 +00:00
Steven Hartland
5db1de89a5 Merge pull request #408 from stevenh/sqlfix
Fixed resource leak in GetUser
2012-02-22 14:39:35 -08:00
stevenh
d813a60060 Fixed resource leak in GetUser fixes #404
Multiple user exception is now passed direct to the caller of GetUser instead of being wrapped
2012-02-22 16:09:40 +00:00
Lucas Nicodemus
c7c38709b2 Merge pull request #403 from stevenh/general-devel
Converted all txt files to LF line endings
2012-02-21 14:57:00 -08:00
stevenh
41dbd31aac Converted all files to LF line endings 2012-02-21 15:56:34 +00:00
Steven Hartland
8f36c966a0 Merge pull request #402 from stevenh/general-devel
Fixed missing SaveManager.cs from project file
2012-02-21 06:44:22 -08:00
stevenh
3890a82b0e Fixed missing SaveManager.cs from project file fixes #401 2012-02-21 14:38:36 +00:00
Steven Hartland
d2cfccc9be Merge pull request #399 from stevenh/general-devel
Server console can now kick and ban players regardless of the players immune permissions
2012-02-20 17:13:25 -08:00
stevenh
988bc4198b Server either console can now kick and ban players regardless of the players immune permissions which fixes #391
Refactored Utils ForceKick to call Kick so we have one core method with all the logic in
Added missing params to docs for Kick and Ban
2012-02-21 01:07:41 +00:00
Steven Hartland
14377bea54 Merge pull request #398 from stevenh/general-devel
Fix for getting Mythical prefix by name fixes #374
2012-02-20 16:26:15 -08:00
stevenh
aeab6d9e45 Fix for getting Mythical prefix by name fixes #374
Also optimised processing so it only does one pass instead of two as well as minimising string manipulation functions
2012-02-21 00:19:50 +00:00
Steven Hartland
5e3aad8181 Merge pull request #397 from stevenh/general-devel
Refactored server stop and world save operations fixing race condition
2012-02-20 14:44:17 -08:00
stevenh
d34199b17d Refactored server stop and world save operations fixing race conditions so as to ensure operations always happen in a predicable order. This fixes output not appearing in the console / log for example. This adds TShock.Utils.StopServer method used by IGA, rcon and the RestAPI.
Fixed console title set not working

Optimised command line parsing

Made Utils a singleton to enforce the fact that only one copy should ever exist

Added name to /v2/user/read output as users can be found by id
2012-02-20 22:31:16 +00:00
Steven Hartland
c774ef1229 Merge pull request #396 from stevenh/general-devel
Fixed GetUser not locating users by ID
2012-02-20 13:49:32 -08:00
stevenh
84789ff4d5 Fixed GetUser not locating users by ID and hence GetUserById not working either, fixes #395 2012-02-20 21:44:25 +00:00
Steven Hartland
779d40760b Merge pull request #394 from stevenh/general-devel
Updated HttpServer to fix Connection: TE support
2012-02-20 03:17:09 -08:00
stevenh
a3e838c1ce Updated HttpServer to latest head + a fix for Connection: TE which was causing all RestAPI calls from TE supporting clients to fail 2012-02-20 11:10:48 +00:00
Steven Hartland
22a0e4307e Merge pull request #393 from stevenh/4c09e7b66ffae774c7033b2a68cf25a105ab6406
Fix negated permissions and permissions not applying instantly
2012-02-20 03:06:52 -08:00
stevenh
4c09e7b66f Potential fix for #390 fixing the return of group.Permissions listing permissions as negated permissions
Added TotalPermissions method to get the combined total permissions as used for HasPermissions
Added totalpermissions to output of /v2/group/read output in RestAPI
2012-02-20 10:58:46 +00:00
stevenh
1bc785f398 Fixes #392 making user group changes take effect on active players instantly 2012-02-20 10:56:06 +00:00
k0rd
48c59a8914 Merge pull request #389 from k0rd/general-devel
support changing group and deleting usernames containing a DOT character

add gems and demonite to /genore command
2012-02-17 00:06:28 -08:00
k0rd
bc2fdf3eab add gems and demonite to genore 2012-02-17 03:12:10 -05:00
k0rd
a79b346d3c support group modification and deleting usernames containing a DOT (.) 2012-02-16 23:00:22 -05:00
Lucas Nicodemus
c93ecc6db4 Merge pull request #388 from stevenh/general-devel
RestAPI bug fix, new endpoints, cleanup & test suite
2012-02-16 05:54:01 -08:00
stevenh
a1d3132138 Added full test suite for RestAPI 2012-02-16 12:33:10 +00:00
stevenh
dee2c1a9f4 Refactored output processing to always return RestObject's
Refactored method names to be consistent with function e.g. Off -> ServerOff

Added new endpoints:-
/v2/server/status - Status query including player and rules matching common query tool requirements such as qstat. The json returned uses native types e.g. int's where possible
/v2/groups/list - Lists groups
/v2/groups/read - Query group detail
/v2/groups/destroy - Remove a group
/v2/groups/create - Create a group
/v2/players/list - Lists players including basic details
/v2/users/create - Create a user
/v2/users/list - Lists users basic user details applying a filter if specified.

Refactored missing parameter and error handling to use common utility methods RestError, RestMissingParam which ensures consistency across all functions and protects against null object references

Removed maxplayers from /status to ensure 100% compatibility, this and more details can be found in the new end point /v2/server/status

Protected against null names in user/activelist

Refactored variable checks to use string.IsNullOrWhiteSpace where applicable to capture errors early in the RestAPI

Added the ability to location users by "id" matching the underlying API.

Refactored locating players, bans & users to utility methods to ensure consitency across the api and eliminate duplicate code making for easier maintainence

NOTE: Duplicate and invalid DB entries currently can still be made if the DB format hasn't been updated to with missing unique and not null constaints

Removed { RequiresToken = true } from RestCommand constructors as this is the default anyway.

Optimised function calls so that tests are processed sequentially avoiding unnessasary operations in failure cases

Cleaned up formatting ensuring consistent line endings, indentation and single line if layout

Fixed ServerCommand duplicate key issue for multi line returns, now uses a single "response" string with embeded newlines

Fixed PlayerKill output using verb instead of parameters for "from" option
2012-02-16 12:03:08 +00:00
stevenh
c258406bcb Added parameterless constructor for RestObject required for JavaScriptSerializer.Deserialize 2012-02-16 12:01:02 +00:00
stevenh
5d4e210a26 Removed EnableBanOnUsernames code from FindBanTest as its no longer applicable 2012-02-16 11:51:10 +00:00
Steven Hartland
14436eb22a Merge pull request #387 from stevenh/d862d7922e9e0f70d912519d05e42c2b0c3dfc93
Groups, Permissions, Ban logic fixes
2012-02-16 03:50:22 -08:00
stevenh
d862d7922e Added better support for detection of duplicate users
Corrected and enhanced exception message for GetUser
2012-02-16 11:30:44 +00:00
stevenh
098363a9cc Fixed internal object and DB inconsitencies for modified default groups
Fixed console errors for failed parent dependencies of default groups that already exist caused by fb11729547 consistency fixes

Made GroupManager.groups readonly to discourage overwriting it. Could still do with better encapsulation to prevent consistency problems if modified externally.

Added UpdateGroup method to GroupManager

Refactored Group handling of permissions and chatcolor to prevent inconsistent data
Notably:-
* AddPermission now does the right thing when passed the string "!permission"
* Converted ChatColor from method to getter / setter

Added RemovePermission to Group

Refactored GroupManager Permissions handling to ensure consistent data between DB and internal objects

Removed redundent AddGroup method in preference to a default value on the main method

Correct some tabs vs spaces

Added ParentName helper to Group

Fixed inverted parameters to error "Invalid parent {0} for group {1}"
2012-02-16 11:23:39 +00:00
stevenh
0108795f27 Fixed broken Content-Type header, was adding to text/html instead of replacing it
Added Server header to RestAPI responses
2012-02-16 11:14:52 +00:00
stevenh
2f7cb9f44e Added exception handling option to AddBan & Remove Ban
Fixed formatting of EnsureExists(table) block
2012-02-16 11:11:30 +00:00
stevenh
2f3bfca082 Fixed how ban logic works so it matches the description of the variables EnableBanOnUsernames & EnableIPBans
Now it doesn't prevent bans being created or found but it only actions kicks on join based on the relavent config options.

Changed /unban <player> to only work on names and /unbanip <ip> to only work on ip's to avoid user confusion

Changed error message returned when no bans are found when actioning /unban <player> & /unbanip <ip> to be more appropriate

Fixed formatting of -maxplayers / -players block
2012-02-16 11:08:53 +00:00
Lucas Nicodemus
2c8c5dc7b9 Update TShockAPI/TShock.cs 2012-02-15 16:06:39 -07:00
Lucas Nicodemus
9680beccd2 Merge pull request #386 from k0rd/general-devel
Noclip detection exemptions for liquids
2012-02-15 06:56:11 -08:00
Steven Hartland
ab543de5ac Merge pull request #382 from stevenh/75f3fe454827b2905d91ac8b41e49ba03f0bc96e
Disabled EnableBanOnUsernames test on Bans
2012-02-15 03:35:33 -08:00
k0rd
fa0e02eb09 fix for noclip detection sometimes being activated by liquids 2012-02-14 18:39:43 -05:00
stevenh
75f3fe4548 Disabled EnableBanOnUsernames test on Bans as this is currently expected behavour 2012-02-14 11:08:29 +00:00
Lucas Nicodemus
d3c1224ee7 Merge pull request #377 from stevenh/upstream
A number of small commits required for RestAPI fixes / enhancments
2012-02-13 16:54:29 -08:00
stevenh
6d08fef275 Fixed missing UNIQUE constraints when using SQLite
Fixed missing NOT NULL constaints when using MySQL
2012-02-13 23:44:58 +00:00