Commit Graph

80 Commits

Author SHA1 Message Date
Ty Sayers
612d967aa0 Add ability for auto-joining of gametypes to bypass manual server selection by player. 2015-08-02 13:24:59 -04:00
Conrad
421eb12228 Add jedis pool caching.
This commit seeks to reduce the number of idle connections to redis that
our code uses by making clients share thread-safe connection pools
(which is the point of a connection pool). This only changes utility
methods to generate and access jedis pools, and does not seek to address
any issues relating to the use of the connections that may or may not be
causing problems.

The changes are as follows:
1. Add a static cache of all connection pools - Each connection pool is
distinguished by its ip and port. Two requested connections to the same
ip:port combinations will use the same connection pool.
2. Increase the max size of each pool to 20 - Overall, by having fewer
idle connections, this commit should still end up with fewer connections
going at any given time.
3. Make explicit setting to block while waiting for a connection - This
should already be the default, but it is made explicit just in case.
2015-07-27 08:50:04 -04:00
Jonathan Williams
26ed7ebb94 Fixes to redis
Fixes for stat handler.
2015-07-26 08:49:35 -07:00
Jonathan Williams
ecd8e3d7b0 Increased wait time for redis. 2015-07-09 11:07:00 -05:00
Jonathan Williams
c6e4c5c5e4 Fixed mineplexer server status link.
Fixed issue with ServerManager and default connection.
2015-06-30 03:49:53 -04:00
Ty Sayers
1992205393 Modify RedisConfiguration deserialization options to allow for more dynamic distribution of redis server types and data handling. Servers are now defined individually with metadata representing server type (master/slave) and custom connection names for data redirection on server start up. 2015-06-29 19:27:05 -04:00
Jonathan Williams
47099a0b20 Changed default redis ip to new us redis.
Changed previous server to gold text when sending to new server.
2015-06-12 15:45:54 -05:00
Jonathan Williams
f0c7f2fe76 Merge branch 'MSSQL_Conversion'
Conflicts:
	Website/LOCWebsite.suo
2015-05-17 23:11:50 -07:00
Ty Sayers
afb0b1cfdf Add Charset argument for reading File lines in ServerManager, ideally to prevent compilation issues with other java versions. 2015-05-17 14:50:22 -04:00
Ty Sayers
e8d5d50162 Merge branch 'master' of http://184.154.0.242:7990/scm/min/mineplex 2015-05-16 13:13:53 -04:00
Ty Sayers
672fc99a3e Add fail-safe default connection in case of issue in proper redis-config.dat generation. Add documentation to clarify purposes related to redis configuration. 2015-05-16 13:12:20 -04:00
Ty Sayers
a8b0dddf17 Add support for redis configuration file to determine viable redis master and slave connections, that can be set to be region-dependant. Fix leakage issue with command manager with not properly returning broken jedis resources. Funnel all redis connection requests through ServerManager for easier configuration use. 2015-05-16 13:01:21 -04:00
Jonathan Williams
1c6a12528c Added ability for LT to modify Admin ranks.
Added Twithc rank to the updateRank list.

Fixed server sorting issues with UHC Generating servers.
2015-05-13 00:58:45 -07:00
Jonathan Williams
b1a46d0f0d Converted TaskManager 2015-05-11 01:21:27 -07:00
Jonathan Williams
2dade32499 Added support for creating Event servers. 2015-03-15 20:50:54 -07:00
Ty Sayers
8279f0b17a Add missing PlayerStatus object to ServerData for cross-server player tracking. 2015-03-15 13:00:15 -04:00
Ty Sayers
7811279b26 Convert friend system over to redis-based PlayerStatus data tracking from old SQL storage. 2015-03-14 17:41:16 -04:00
Ty Sayers
ffedc82785 Commit leftover package that was not committed from previous re-organization. 2015-03-14 01:52:37 -04:00
Ty Sayers
af898e3306 Convert PlayerStatus trackers, Bungee MOTD, and Bungee Server status' from MySQL storage to redis-based system using DataRepository's.
Re-organize structure of ServerData packaging.
2015-03-14 01:03:22 -04:00
Jonathan Williams
cb93769e03 Converted Bungee to redis.
Increased DBPool maximum connections to 5.
2015-03-13 17:53:36 -07:00
Jonathan Williams
838df3f57a Added UUID lookup for saveRank call. 2015-03-13 17:52:25 -07:00
Jonathan Williams
b1ffe4d07b Re-enabled target server check. 2015-03-12 15:32:22 -07:00
Ty Sayers
468f354422 Add fifth slave instance to port 6382. 2015-03-11 22:08:32 -04:00
Ty Sayers
b7a4dd775c Merge branch 'master' of http://184.154.0.242:7990/scm/min/mineplex 2015-03-11 21:52:57 -04:00
Ty Sayers
9788436700 Convert cross-server commands to utilize master-slave redis instances rather than a stand-alone instance.
Add new slave instance on port 6377.
2015-03-11 21:42:52 -04:00
Jonathan Williams
6614f83579 Merge branch 'master' of ssh://184.154.0.242:7999/min/Mineplex 2015-03-08 20:01:58 -07:00
Ty Sayers
7dbf970df7 Add support for multiple slave connections for load balancing. 2015-03-08 19:17:28 -04:00
Jonathan Williams
fbe6b294cb Removed redis logging. 2015-03-08 13:51:31 -07:00
Jonathan Williams
72ca1005b3 Merge branch 'master' of ssh://184.154.0.242:7999/min/Mineplex 2015-03-08 13:48:52 -07:00
Jonathan Williams
27c17eccfb Disabled redis pub commands.
Added getServerStatusesByPrefix to redis.
Increased timeout for servers.

Turned on DoubleGemWeekend
2015-03-08 13:47:49 -07:00
Ty Sayers
2b74e774f1 Redirect ServerCommand PubSub connections to standalone redis instance to distribute load. 2015-03-08 16:46:35 -04:00
Ty Sayers
4237cd082c Add support for master-slave replication in redis to balance load of read and writes. Redis based repositories now read/write to specified connection pools (master or slave). 2015-03-07 23:19:35 -05:00
Jonathan Williams
c15c6e2dd8 Removed threading for ServerCommandManager
Removed target server check (some commands are broadcasted)

Disabled Message/Party crossserver listeners.
2015-03-06 04:12:11 -08:00
Jonathan Williams
09ecb994f6 Pooled Friend/Ignore/Preferences/Poll/Elo repositories.
Removed ArcadeRepository as its unused.

Removed target server check for RedisCommand because it breaks other commands.
2015-03-06 01:36:25 -08:00
libraryaddict
d6c3b330b5 Fix redis working on the same thread 2015-03-02 03:44:38 +13:00
libraryaddict
0cd0c61200 Add /locate|where|find command to find other players in other servers 2015-02-13 20:57:46 +13:00
libraryaddict
9bdf248643 Add cross-server message and adminmessage commands. Fixed casing on messagecommands package. 2015-02-12 04:08:06 +13:00
Jonathan Williams
908533b232 Added some exception protection in Redis retrieve dedicated servers.
Removed Statifier project.

Improved ServerMonitor:
- Added recording of dedicated server stats
- Added recording of server group stats
- Added recording of bungee stats
- Added recording of network stats
2015-01-29 07:05:50 -08:00
Jonathan Williams
58a8a32e93 Added cross-server Announcements and Global messages. 2015-01-24 01:44:22 -08:00
Jonathan Williams
39d1a48bc1 Added cross-server instant punishments.
[Punish] Banning doesn't kick.
2015-01-23 23:33:24 -08:00
Jonathan Williams
73866669b8 Added RestartCommand and SuicideCommand
ServerMonitor will now cleanup bloated Lobbies starting from the highest number lobby.

Fixed issue with new servers getting cleaned up as excess as soon as they started.
2015-01-22 23:19:40 -08:00
Jonathan Williams
c83643564b Fixed scoreboards reading from file.
Fixed scoreboard server name length
Changed how we pull server group on startup.
2015-01-13 12:22:47 -08:00
Jonathan Williams
cd5574ab43 Changed ServerConfiguration to only pull its groupName specifically.
Changed StatsManager to only run once every second and to upload all stats.
2015-01-12 12:19:13 -08:00
Jonathan Williams
fc45b80e2b Added rank pulling on bungee login and the ability to put a cap on network player count.
Removed log message for converted server group.
2015-01-03 23:37:04 -06:00
Jonathan Williams
86993ddd55 Fixes again for number player names. 2015-01-03 04:27:28 -06:00
Jonathan Williams
cc06b0ad33 Refactored statmanager to only upload stats on disconnect and only one player per tick.
Fixed derp json crap with redis treating a name with only numbers as a number and adding .0 on it.
2015-01-03 01:58:04 -06:00
Jonathan Williams
81e423fa4f Fixed Server transfer stuff. Portal send works! 2014-12-24 14:35:34 -05:00
Jonathan Williams
f00854ee4c Removed bad code thats bad from the bad birdy.
Hooked in PersonalServer item click and command.
Re-enabled redis transport commands.
Added transfer command sending on personal server start.

Updated Enjin to handle more versatile inventory purchases.
2014-12-23 03:43:56 -05:00
Jonathan Williams
0e85b7e6cc Added HostName to server groups.
Added handling of private server groups in server monitor.
Optimized server group/server status load.
Added ability to add/remove server group.
2014-12-23 00:49:52 -05:00
Chiss
95081a8ab7 Gems cannot be given multiple times for certain things (prevents bugs giving mass gems) 2014-12-15 14:33:38 +11:00