Compare commits

...
11 Commits
Author SHA1 Message Date
BenCodez ce5c469637 Update to 6.11.3 2023-03-18 19:17:00 -04:00
BenCodez 4126c4a7a1 Change default maven profile 2023-03-18 16:03:30 -04:00
Ben fb430a930b Create jitpack.yml 2023-03-18 15:57:25 -04:00
BenCodez 2c6f8c79c2 Shutdown multiproxy socket on reload if disabled 2023-03-18 14:52:23 -04:00
BenCodez 1b94f23ff2 Remove softdepend 2023-03-16 17:16:19 -04:00
BenCodez 72c0a88fc1 Load multiproxy support on reload 2023-03-15 16:49:19 -04:00
BenCodez e532987c6a Update to 1.19.4 2023-03-14 16:55:04 -04:00
BenCodez 2168d92b12 Cache almostallsites key 2023-03-07 18:46:26 -05:00
BenCodez d68758f34e Optimize placeholder caching updates 2023-03-05 17:12:32 -05:00
BenCodez e1b7844501 Undo change to bungee handling 2023-03-05 12:39:05 -05:00
BenCodez 01b6ed185b Changes to handling bungee votes 2023-03-04 18:56:35 -05:00
9 changed files with 157 additions and 108 deletions

No files matched your search

+2 -2
View File
@@ -97,8 +97,8 @@ PointsOnVote: 1
# If true, bungee will handle adding totals
# If false, spigot servers will EACH set their own totals
# If false, AllowUnJoined should false on bungee, spigot servers will handle that
# Recommened to leave true, setting to false setups are currently unsupported
# If false, AllowUnJoined should be enabled on bungee, spigot servers will handle that
# Recommeneded to leave enabled, setups with this disabled are currently unsupported
BungeeManageTotals: true
# Tell servers to broadcast
-1
View File
@@ -9,7 +9,6 @@ softdepend:
- Votifier
- VotifierPlus
- NuVotifier
- CMI
- Vault
- PlaceholderAPI
- ProtocolLib
+22 -2
View File
@@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.bencodez</groupId>
<artifactId>votingplugin</artifactId>
<version>6.11.2</version>
<version>6.11.3</version>
<packaging>jar</packaging>
<name>VotingPlugin</name>
<properties>
@@ -226,7 +226,7 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.19.3-R0.1-SNAPSHOT</version>
<version>1.19.4-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -275,6 +275,26 @@
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>bencodez repo</id>
<url>https://nexus.bencodez.com/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.bencodez</groupId>
<artifactId>advancedcore</artifactId>
<version>LATEST</version>
<scope>compile</scope>
</dependency>
</dependencies>
</profile>
<profile>
<id>jitpack</id>
<properties>
<build.profile.id>jitpack</build.profile.id>
</properties>
<repositories>
<repository>
<id>jitpack.io</id>
@@ -822,6 +822,58 @@ public class VotingPluginBungee extends Plugin implements Listener {
votePartyVotes = voteCacheFile.getVotePartyCurrentVotes();
}
loadMultiProxySupport();
if (!votifierEnabled) {
if (!(getConfig().getMultiProxySupport() && !getConfig().getPrimaryServer())) {
getLogger().warning("Votifier event not found, not loading votifier event");
}
}
BStatsMetricsBungee metrics = new BStatsMetricsBungee(this, 9453);
metrics.addCustomChart(
new BStatsMetricsBungee.SimplePie("bungee_method", () -> getConfig().getBungeeMethod().toString()));
metrics.addCustomChart(new BStatsMetricsBungee.SimplePie("sendtoallservers",
() -> "" + getConfig().getSendVotesToAllServers()));
metrics.addCustomChart(
new BStatsMetricsBungee.SimplePie("allowunjoined", () -> "" + getConfig().getAllowUnJoined()));
metrics.addCustomChart(
new BStatsMetricsBungee.SimplePie("pointsonvote", () -> "" + getConfig().getPointsOnVote()));
metrics.addCustomChart(new BStatsMetricsBungee.SimplePie("bungeemanagetotals",
() -> "" + getConfig().getBungeeManageTotals()));
metrics.addCustomChart(
new BStatsMetricsBungee.SimplePie("waitforuseronline", () -> "" + getConfig().getWaitForUserOnline()));
metrics.addCustomChart(
new BStatsMetricsBungee.SimplePie("globaldata_enabled", () -> "" + getConfig().getGlobalDataEnabled()));
if (getConfig().getGlobalDataEnabled()) {
metrics.addCustomChart(new BStatsMetricsBungee.SimplePie("globaldata_usemainmysql",
() -> "" + getConfig().getGlobalDataUseMainMySQL()));
}
metrics.addCustomChart(new BStatsMetricsBungee.SimplePie("multi_proxy_support_enabled",
() -> "" + getConfig().getMultiProxySupport()));
if (!buildNumber.equals("NOTSET")) {
metrics.addCustomChart(new BStatsMetricsBungee.SimplePie("dev_build_number", () -> "" + buildNumber));
}
loadVersionFile();
getLogger().info("VotingPlugin loaded, using method: " + method.toString() + ", PluginMessagingVersion: "
+ BungeeVersion.getPluginMessageVersion());
if (!buildNumber.equals("NOTSET")) {
getLogger().info("Detected using dev build number: " + buildNumber);
}
}
public void loadMultiProxySupport() {
if (getConfig().getMultiProxySupport()) {
if (encryptionHandler == null) {
encryptionHandler = new EncryptionHandler(new File(getDataFolder(), "secretkey.key"));
@@ -871,55 +923,11 @@ public class VotingPluginBungee extends Plugin implements Listener {
}
getLogger().info("Loaded multi-proxy support");
}
if (!votifierEnabled) {
if (!(getConfig().getMultiProxySupport() && !getConfig().getPrimaryServer())) {
getLogger().warning("Votifier event not found, not loading votifier event");
} else {
if (multiproxySocketHandler != null) {
multiproxySocketHandler.getServer().close();
}
}
BStatsMetricsBungee metrics = new BStatsMetricsBungee(this, 9453);
metrics.addCustomChart(
new BStatsMetricsBungee.SimplePie("bungee_method", () -> getConfig().getBungeeMethod().toString()));
metrics.addCustomChart(new BStatsMetricsBungee.SimplePie("sendtoallservers",
() -> "" + getConfig().getSendVotesToAllServers()));
metrics.addCustomChart(
new BStatsMetricsBungee.SimplePie("allowunjoined", () -> "" + getConfig().getAllowUnJoined()));
metrics.addCustomChart(
new BStatsMetricsBungee.SimplePie("pointsonvote", () -> "" + getConfig().getPointsOnVote()));
metrics.addCustomChart(new BStatsMetricsBungee.SimplePie("bungeemanagetotals",
() -> "" + getConfig().getBungeeManageTotals()));
metrics.addCustomChart(
new BStatsMetricsBungee.SimplePie("waitforuseronline", () -> "" + getConfig().getWaitForUserOnline()));
metrics.addCustomChart(
new BStatsMetricsBungee.SimplePie("globaldata_enabled", () -> "" + getConfig().getGlobalDataEnabled()));
if (getConfig().getGlobalDataEnabled()) {
metrics.addCustomChart(new BStatsMetricsBungee.SimplePie("globaldata_usemainmysql",
() -> "" + getConfig().getGlobalDataUseMainMySQL()));
}
metrics.addCustomChart(new BStatsMetricsBungee.SimplePie("multi_proxy_support_enabled",
() -> "" + getConfig().getMultiProxySupport()));
if (!buildNumber.equals("NOTSET")) {
metrics.addCustomChart(new BStatsMetricsBungee.SimplePie("dev_build_number", () -> "" + buildNumber));
}
loadVersionFile();
getLogger().info("VotingPlugin loaded, using method: " + method.toString() + ", PluginMessagingVersion: "
+ BungeeVersion.getPluginMessageVersion());
if (!buildNumber.equals("NOTSET")) {
getLogger().info("Detected using dev build number: " + buildNumber);
}
}
@EventHandler
@@ -1052,6 +1060,7 @@ public class VotingPluginBungee extends Plugin implements Listener {
e.printStackTrace();
}
}
loadMultiProxySupport();
}
public void sendPluginMessageServer(String server, String channel, String... messageData) {
@@ -875,57 +875,7 @@ public class VotingPluginVelocity {
+ voteCacheFile.getVotePartyInreaseVotesRequired();
votePartyVotes = voteCacheFile.getVotePartyCurrentVotes();
if (getConfig().getMultiProxySupport()) {
if (encryptionHandler == null) {
encryptionHandler = new EncryptionHandler(new File(dataDirectory.toFile(), "secretkey.key"));
}
multiproxySocketHandler = new SocketHandler(
server.getPluginManager().getPlugin("votingplugin").get().getDescription().getVersion().get(),
config.getMultiProxySocketHostHost(), config.getMultiProxySocketHostPort(), encryptionHandler,
config.getDebug()) {
@Override
public void log(String str) {
getLogger().info(str);
}
};
multiproxySocketHandler.add(new SocketReceiver() {
@Override
public void onReceive(String[] data) {
if (data.length > 0) {
if (data[0].equalsIgnoreCase("Status")) {
getLogger().info("Multi-proxy status message received");
} else if (data[0].equalsIgnoreCase("ClearVote")) {
cachedOnlineVotes.remove(data[2]);
}
}
if (data.length > 8) {
if (data[0].equalsIgnoreCase("Vote")) {
vote(data[2], data[3], Boolean.valueOf(data[7]), true, 0,
new BungeeMessageData(data[8]), data[1]);
} else if (data[0].equalsIgnoreCase("VoteOnline")) {
vote(data[2], data[3], Boolean.valueOf(data[7]), true, 0,
new BungeeMessageData(data[8]), data[1]);
}
}
}
});
multiproxyClientHandles = new HashMap<String, ClientHandler>();
for (ConfigurationNode s : config.getMultiProxyServers()) {
ConfigurationNode d = config.getMultiProxyServers(s.getKey().toString());
multiproxyClientHandles.put(s.getKey().toString(),
new ClientHandler(d.getNode("Host").getString("0.0.0.0"), d.getNode("Port").getInt(1298),
encryptionHandler, config.getDebug()));
}
getLogger().info("Loaded multi-proxy support");
}
loadMultiProxySupport();
}
try {
@@ -980,6 +930,64 @@ public class VotingPluginVelocity {
}
}
public void loadMultiProxySupport() {
if (getConfig().getMultiProxySupport()) {
if (encryptionHandler == null) {
encryptionHandler = new EncryptionHandler(new File(dataDirectory.toFile(), "secretkey.key"));
}
multiproxySocketHandler = new SocketHandler(
server.getPluginManager().getPlugin("votingplugin").get().getDescription().getVersion().get(),
config.getMultiProxySocketHostHost(), config.getMultiProxySocketHostPort(), encryptionHandler,
config.getDebug()) {
@Override
public void log(String str) {
getLogger().info(str);
}
};
multiproxySocketHandler.add(new SocketReceiver() {
@Override
public void onReceive(String[] data) {
if (data.length > 0) {
if (data[0].equalsIgnoreCase("Status")) {
getLogger().info("Multi-proxy status message received");
} else if (data[0].equalsIgnoreCase("ClearVote")) {
cachedOnlineVotes.remove(data[2]);
}
}
if (data.length > 8) {
if (data[0].equalsIgnoreCase("Vote")) {
vote(data[2], data[3], Boolean.valueOf(data[7]), true, 0, new BungeeMessageData(data[8]),
data[1]);
} else if (data[0].equalsIgnoreCase("VoteOnline")) {
vote(data[2], data[3], Boolean.valueOf(data[7]), true, 0, new BungeeMessageData(data[8]),
data[1]);
}
}
}
});
multiproxyClientHandles = new HashMap<String, ClientHandler>();
for (ConfigurationNode s : config.getMultiProxyServers()) {
ConfigurationNode d = config.getMultiProxyServers(s.getKey().toString());
multiproxyClientHandles.put(s.getKey().toString(),
new ClientHandler(d.getNode("Host").getString("0.0.0.0"), d.getNode("Port").getInt(1298),
encryptionHandler, config.getDebug()));
}
getLogger().info("Loaded multi-proxy support");
} else {
if (multiproxySocketHandler != null) {
multiproxySocketHandler.getServer().close();
}
}
}
private String version = "";
private File versionFile;
private String buildNumber = "NOTSET";
@@ -1060,6 +1068,7 @@ public class VotingPluginVelocity {
logger.error("MySQL settings not set in bungeeconfig.yml");
}
}
loadMultiProxySupport();
}
public void sendPluginMessageServer(RegisteredServer s, String channel, String... messageData) {
@@ -763,16 +763,19 @@ public class PlaceHolders {
@Override
public void onChange(AdvancedCoreUser user, String... keys) {
VotingPluginUser vpUser = UserManager.getInstance().getVotingPluginUser(user);
if (!vpUser.isCached()) {
vpUser.dontCache();
}
for (PlaceHolder<VotingPluginUser> placeholder : placeholders) {
if (placeholder.isUsesCache()) {
for (String key : keys) {
if (placeholder.getUpdateDataKey().equalsIgnoreCase(key)) {
VotingPluginUser vpUser = UserManager.getInstance().getVotingPluginUser(user);
vpUser.dontCache();
for (String ident : placeholder.getCache().keySet()) {
placeholder.getCache().get(ident).put(vpUser.getJavaUUID(),
placeholder.placeholderRequest(vpUser, ident));
plugin.devDebug("Updated placeholder cache for " + vpUser.getUUID() + " on " + key);
String value = placeholder.placeholderRequest(vpUser, ident);
placeholder.getCache().get(ident).put(vpUser.getJavaUUID(), value);
plugin.devDebug("Updated placeholder cache for " + vpUser.getUUID() + " on " + key
+ " with " + value);
}
@@ -63,6 +63,7 @@ public class UserManager {
if (plugin.getConfigFile().isExtraAllSitesCheck()) {
manager.addKey(new UserDataKeyInt(getGottenAllSitesDayPath()));
}
manager.addKey(new UserDataKeyInt(getGottenAlmostAllSitesDayPath()));
}
public String getGottenAllSitesDayPath() {
@@ -171,6 +171,7 @@ public class VotingPluginUser extends com.bencodez.advancedcore.api.user.Advance
voteEvent.setBungeeTextTotals(text);
voteEvent.setVotingPluginUser(this);
plugin.getServer().getPluginManager().callEvent(voteEvent);
}
}
@@ -186,12 +187,14 @@ public class VotingPluginUser extends com.bencodez.advancedcore.api.user.Advance
voteEvent.setBungeeTextTotals(text);
voteEvent.setVotingPluginUser(this);
plugin.getServer().getPluginManager().callEvent(voteEvent);
}
}
public void bungeeVotePluginMessaging(String service, long time, BungeeMessageData text, boolean setTotals,
boolean wasOnline, boolean broadcast, int num) {
if (plugin.getBungeeSettings().isUseBungeecoord()) {
plugin.debug("Pluginmessaging vote for " + getPlayerName() + " on " + service);
PlayerVoteEvent voteEvent = new PlayerVoteEvent(plugin.getVoteSite(service, true), getPlayerName(), service,
@@ -206,6 +209,7 @@ public class VotingPluginUser extends com.bencodez.advancedcore.api.user.Advance
voteEvent.setBroadcast(broadcast);
voteEvent.setVoteNumber(num);
plugin.getServer().getPluginManager().callEvent(voteEvent);
}
}
+4
View File
@@ -0,0 +1,4 @@
install:
- echo "Running a custom install command"
- cd VotingPlugin
- mvn install -DskipTests -P jitpack