Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ce5c469637 | ||
|
|
4126c4a7a1 | ||
|
|
fb430a930b | ||
|
|
2c6f8c79c2 | ||
|
|
1b94f23ff2 | ||
|
|
72c0a88fc1 | ||
|
|
e532987c6a | ||
|
|
2168d92b12 | ||
|
|
d68758f34e | ||
|
|
e1b7844501 | ||
|
|
01b6ed185b |
No files matched your search
@@ -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
|
||||
|
||||
@@ -9,7 +9,6 @@ softdepend:
|
||||
- Votifier
|
||||
- VotifierPlus
|
||||
- NuVotifier
|
||||
- CMI
|
||||
- Vault
|
||||
- PlaceholderAPI
|
||||
- ProtocolLib
|
||||
|
||||
+22
-2
@@ -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) {
|
||||
|
||||
+60
-51
@@ -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);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
install:
|
||||
- echo "Running a custom install command"
|
||||
- cd VotingPlugin
|
||||
- mvn install -DskipTests -P jitpack
|
||||
Reference in new issue
Block a user