mirror of
https://github.com/unmojang/OnlineModeFix.git
synced 2025-09-08 14:58:27 -04:00
Removed the proxy and added the MineOnline protocol.
This commit is contained in:
parent
7acc9c0171
commit
fa109c49e5
455
.idea/workspace.xml
generated
455
.idea/workspace.xml
generated
@ -7,34 +7,15 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e42abf2d-5ce3-4d3a-b3e0-db470c42f0ce" name="Default Changelist" comment="Added bukkit chat bridge.">
|
||||
<change afterPath="$PROJECT_DIR$/.idea/uiDesigner.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/artifacts/MineOnlineBroadcast.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/artifacts/OnlineModeFix.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/libraries/Minecraft_Mod.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Minecraft_Mod.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/protocol/CheckServerURLConnection.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/protocol/MineOnlineURLStreamHandler.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/protocol/MineOnlineURLStreamHandlerFactory.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/MineOnlineBroadcast.iml" beforeDir="false" afterPath="$PROJECT_DIR$/OnlineModeFix.iml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/lib/JDA-4.2.0_168-withDependencies-min.jar" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/lib/discord-webhooks-0.5.0.jar" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/lib/json.jar" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/res/plugin.yml" beforeDir="false" afterPath="$PROJECT_DIR$/res/plugin.yml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/MineOnlineBroadcast.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/OnlineModeFix.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/MineOnlineBroadcastListener.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/MineOnlineConfig.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/common/input/AbstractColorCodeProvider.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/common/input/EColorCodeColor.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/common/input/IColorCodeProvider.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/minecraft/server/AbstractMinecraftColorCodeProvider.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/minecraft/server/MinecraftColorCodeProvider.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/api/MineOnlineAPI.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/DiscordChatBridge.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/IAvatarProvider.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/IMessageRecievedListener.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/IShutdownListener.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/discord/MinotarAvatarProvider.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastListener.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastPlugin.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineConfig.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/OnlineModeFix.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/OnlineModeFix.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/ProxyThread.java" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/gg/codie/utils/ArrayUtils.java" beforeDir="false" />
|
||||
</list>
|
||||
<ignored path="$PROJECT_DIR$/out/" />
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
@ -46,8 +27,35 @@
|
||||
<component name="FileEditorManager">
|
||||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/.gitignore">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/CheckServerURLConnection.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-85">
|
||||
<caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#1635#1636#0" expanded="true" />
|
||||
<element signature="e#1729#1730#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/MineOnlineURLStreamHandler.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="170">
|
||||
<caret line="15" column="12" selection-start-line="15" selection-start-column="12" selection-end-line="15" selection-end-column="12" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/MineOnlineURLStreamHandlerFactory.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="238">
|
||||
<caret line="15" selection-start-line="15" selection-end-line="15" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
@ -59,19 +67,20 @@
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/OnlineModeFix.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="272">
|
||||
<caret line="16" column="52" selection-start-line="16" selection-start-column="52" selection-end-line="16" selection-end-column="52" />
|
||||
<state relative-caret-position="204">
|
||||
<caret line="17" column="5" lean-forward="true" selection-start-line="17" selection-start-column="5" selection-end-line="17" selection-end-column="5" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#631#632#0" expanded="true" />
|
||||
<element signature="e#665#666#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/.idea/artifacts/OnlineModeFix.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="119">
|
||||
@ -84,11 +93,10 @@
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="170">
|
||||
<caret line="10" column="32" selection-start-line="10" selection-start-column="32" selection-end-line="10" selection-end-column="32" />
|
||||
<caret line="18" column="17" selection-start-line="18" selection-end-line="19" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#2569#2570#0" expanded="true" />
|
||||
<element signature="e#2597#2598#0" expanded="true" />
|
||||
<element signature="e#760#761#0" expanded="true" />
|
||||
<element signature="e#805#806#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
@ -97,20 +105,8 @@
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/res/plugin.yml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="153">
|
||||
<caret line="9" column="10" selection-start-line="9" selection-start-column="10" selection-end-line="9" selection-end-column="10" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/ProxyThread.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-2135">
|
||||
<caret line="102" column="35" selection-start-line="102" selection-start-column="35" selection-end-line="102" selection-end-column="35" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
<state relative-caret-position="136">
|
||||
<caret line="8" column="15" lean-forward="true" selection-start-line="8" selection-start-column="15" selection-end-line="8" selection-end-column="15" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@ -139,6 +135,7 @@
|
||||
<find>PLAYER_</find>
|
||||
<find>discord.</find>
|
||||
<find>online-mo</find>
|
||||
<find>1.1.0</find>
|
||||
</findStrings>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
@ -174,19 +171,23 @@
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/RemoteStatusChallenge.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/StatusChallengeUtils.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastPlugin.java" />
|
||||
<option value="$PROJECT_DIR$/.idea/artifacts/MineOnlineBroadcast.xml" />
|
||||
<option value="$PROJECT_DIR$/.idea/artifacts/OnlineModeFix.xml" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/protocol/SkinURLConnection.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/protocol/CheckServerURLConnection.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/protocol/OnlineModeURLStreamHandler.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/protocol/MineOnlineURLStreamHandler.java" />
|
||||
<option value="$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java" />
|
||||
<option value="$PROJECT_DIR$/src/OnlineModeFix.java" />
|
||||
<option value="$PROJECT_DIR$/res/plugin.yml" />
|
||||
<option value="$PROJECT_DIR$/.idea/artifacts/MineOnlineBroadcast.xml" />
|
||||
<option value="$PROJECT_DIR$/.idea/artifacts/OnlineModeFix.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectFrameBounds" extendedState="6">
|
||||
<option name="x" value="-8" />
|
||||
<option name="y" value="-8" />
|
||||
<option name="width" value="1294" />
|
||||
<option name="height" value="1417" />
|
||||
<component name="ProjectFrameBounds">
|
||||
<option name="x" value="-11" />
|
||||
<option name="y" value="-11" />
|
||||
<option name="width" value="1943" />
|
||||
<option name="height" value="2136" />
|
||||
</component>
|
||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||
<component name="ProjectView">
|
||||
@ -194,86 +195,54 @@
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="Scope" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<expand>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="onlinemodefix" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="onlinemodefix" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
||||
<item name=".idea" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
||||
<item name=".idea" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="artifacts" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
||||
<item name=".idea" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="libraries" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="onlinemodefix" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="onlinemodefix" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="onlinemodefix" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="onlinemodefix" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="res" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="onlinemodefix" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="onlinemodefix" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="onlinemodefix" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="onlinemodefix" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="onlinemodefix" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="onlinemodefix" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="api" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="plugin" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="MineOnlineBroadcast" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="MineOnlineBroadcast" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="codie" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="plugin" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="bukkit" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="mineonline" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="PackagesPane" />
|
||||
<pane id="Scope" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="aspect.path.notification.shown" value="true" />
|
||||
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1621561939297" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/../MineOnlineBroadcast-Bukkit/lib/Minecraft_Mod.jar!/" />
|
||||
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1625789267014" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
||||
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
||||
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
||||
<property name="project.structure.last.edited" value="Libraries" />
|
||||
@ -282,24 +251,24 @@
|
||||
<property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\lib" />
|
||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\res" />
|
||||
</key>
|
||||
<key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
|
||||
<recent name="" />
|
||||
<recent name="gg.codie.mineonline.plugin" />
|
||||
</key>
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\src\gg\codie\minecraft" />
|
||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\src\gg\codie\common" />
|
||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\lib" />
|
||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\src\gg\codie\utils" />
|
||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit" />
|
||||
</key>
|
||||
<key name="CopyClassDialog.RECENTS_KEY">
|
||||
<recent name="gg.codie.mineonline.discord" />
|
||||
<recent name="gg.codie.minecraft" />
|
||||
</key>
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="D:\Projects\GitHub\onlinemodefix\src\gg\codie\mineonline\protocol" />
|
||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\src\gg\codie\minecraft" />
|
||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\src\gg\codie\common" />
|
||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\lib" />
|
||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\res" />
|
||||
<recent name="D:\Projects\GitHub\MineOnlineBroadcast-Bukkit\src\gg\codie\utils" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
@ -314,55 +283,6 @@
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="RunManager">
|
||||
<configuration default="true" type="JetRunConfigurationType" factoryName="Kotlin">
|
||||
<module name="OnlineModeFix" />
|
||||
<option name="VM_PARAMETERS" />
|
||||
<option name="PROGRAM_PARAMETERS" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="MAIN_CLASS_NAME" />
|
||||
<option name="WORKING_DIRECTORY" />
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration default="true" type="KotlinStandaloneScriptRunConfigurationType" factoryName="Kotlin script">
|
||||
<module name="OnlineModeFix" />
|
||||
<option name="filePath" />
|
||||
<option name="vmParameters" />
|
||||
<option name="alternativeJrePath" />
|
||||
<option name="programParameters" />
|
||||
<option name="passParentEnvs" value="true" />
|
||||
<option name="workingDirectory" />
|
||||
<option name="isAlternativeJrePathEnabled" value="false" />
|
||||
<option name="VM_PARAMETERS" />
|
||||
<option name="PROGRAM_PARAMETERS" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="MAIN_CLASS_NAME" />
|
||||
<option name="WORKING_DIRECTORY" />
|
||||
<option name="filePath" />
|
||||
<option name="vmParameters" />
|
||||
<option name="alternativeJrePath" />
|
||||
<option name="programParameters" />
|
||||
<option name="passParentEnvs" value="true" />
|
||||
<option name="workingDirectory" />
|
||||
<option name="isAlternativeJrePathEnabled" value="false" />
|
||||
<option name="VM_PARAMETERS" />
|
||||
<option name="PROGRAM_PARAMETERS" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="MAIN_CLASS_NAME" />
|
||||
<option name="WORKING_DIRECTORY" />
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
</component>
|
||||
<component name="SvnConfiguration">
|
||||
<configuration />
|
||||
</component>
|
||||
@ -399,6 +319,7 @@
|
||||
<workItem from="1615055987620" duration="1626000" />
|
||||
<workItem from="1615072373374" duration="9000" />
|
||||
<workItem from="1621561390267" duration="549000" />
|
||||
<workItem from="1625787948441" duration="1305000" />
|
||||
</task>
|
||||
<task id="LOCAL-00001" summary="Added missing plugin.yml resource.">
|
||||
<created>1601569681272</created>
|
||||
@ -516,12 +437,13 @@
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="34673000" />
|
||||
<option name="totallyTimeSpent" value="35978000" />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="-8" y="-8" width="2576" height="1426" extended-state="6" />
|
||||
<frame x="-7" y="-7" width="1295" height="1424" extended-state="0" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.14864865" />
|
||||
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.30526316" />
|
||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||
<window_info id="Designer" order="2" />
|
||||
<window_info id="Image Layers" order="3" />
|
||||
@ -541,7 +463,7 @@
|
||||
<window_info anchor="bottom" id="Event Log" order="10" sideWeight="0.50161815" side_tool="true" weight="0.32791957" />
|
||||
<window_info anchor="bottom" id="Messages" order="11" weight="0.32943925" />
|
||||
<window_info anchor="bottom" id="Database Changes" order="12" />
|
||||
<window_info active="true" anchor="bottom" id="Version Control" order="13" sideWeight="0.49920508" visible="true" weight="0.32637277" />
|
||||
<window_info anchor="bottom" id="Version Control" order="13" sideWeight="0.49920508" visible="true" weight="0.32585138" />
|
||||
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
||||
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
||||
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
||||
@ -622,13 +544,6 @@
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/utils/JSONUtils.java" />
|
||||
<entry file="jar://$PROJECT_DIR$/lib/craftbukkit-1.2_01_02.jar!/org/bukkit/event/Event.class" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/utils/ArrayUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state>
|
||||
<caret column="23" selection-start-column="23" selection-end-column="23" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="jar://$PROJECT_DIR$/lib/craftbukkit1-7-3(1060).jar!/org/bukkit/event/player/PlayerListener.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="102">
|
||||
@ -650,42 +565,14 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/IAvatarProvider.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/MinotarAvatarProvider.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/IMessageRecievedListener.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/IShutdownListener.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="119">
|
||||
<caret line="7" lean-forward="true" selection-start-line="7" selection-end-line="7" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/AbstractColorCodeProvider.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/minecraft/server/AbstractMinecraftColorCodeProvider.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="68">
|
||||
<caret line="5" column="22" selection-start-line="5" selection-start-column="22" selection-end-line="5" selection-end-column="22" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/DiscordChatBridge.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1207">
|
||||
<caret line="82" column="30" selection-start-line="82" selection-start-column="30" selection-end-line="82" selection-end-column="30" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/EColorCodeColor.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/IAvatarProvider.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/MinotarAvatarProvider.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/IMessageRecievedListener.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/IShutdownListener.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/AbstractColorCodeProvider.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/minecraft/server/AbstractMinecraftColorCodeProvider.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/discord/DiscordChatBridge.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/EColorCodeColor.java" />
|
||||
<entry file="jar://$PROJECT_DIR$/lib/craftbukkit1-7-3(1060).jar!/org/bukkit/event/Event.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="765">
|
||||
@ -693,27 +580,9 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/IColorCodeProvider.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="102">
|
||||
<caret line="6" selection-start-line="6" selection-end-line="6" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/minecraft/server/MinecraftColorCodeProvider.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="85">
|
||||
<caret line="7" selection-start-line="7" selection-end-line="7" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/MineOnlineBroadcastListener.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="561">
|
||||
<caret line="36" selection-start-line="36" selection-end-line="36" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/common/input/IColorCodeProvider.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/minecraft/server/MinecraftColorCodeProvider.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/MineOnlineBroadcastListener.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/query/LegacyPingImplementation.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/query/QueryServer.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/RemoteStatusChallenge.java" />
|
||||
@ -721,48 +590,81 @@
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/RemoteStatusReply.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/query/Request.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/StatusChallengeUtils.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/api/MineOnlineAPI.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-758">
|
||||
<caret line="32" column="25" lean-forward="true" selection-start-line="32" selection-start-column="25" selection-end-line="32" selection-end-column="25" />
|
||||
</state>
|
||||
</provider>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/api/MineOnlineAPI.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastListener.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineConfig.java" />
|
||||
<entry file="file://$PROJECT_DIR$/src/MineOnlineConfig.java" />
|
||||
<entry file="file://$PROJECT_DIR$/.idea/artifacts/MineOnlineBroadcast.xml" />
|
||||
<entry file="file://$PROJECT_DIR$/.gitignore">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineBroadcastListener.java">
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/ProxyThread.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="595">
|
||||
<caret line="37" selection-start-line="37" selection-end-line="37" />
|
||||
<state relative-caret-position="1462">
|
||||
<caret line="102" column="35" selection-start-line="102" selection-start-column="35" selection-end-line="102" selection-end-column="35" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/MineOnlineConfig.java">
|
||||
<entry file="file://$PROJECT_DIR$/.idea/artifacts/OnlineModeFix.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-391">
|
||||
<caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
|
||||
<state relative-caret-position="119">
|
||||
<caret line="7" column="12" selection-start-line="7" selection-start-column="12" selection-end-line="7" selection-end-column="12" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/CapeURLConnection.java">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/SkinURLConnection.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="68">
|
||||
<caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/MineOnlineURLStreamHandler.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="170">
|
||||
<caret line="15" column="12" selection-start-line="15" selection-start-column="12" selection-end-line="15" selection-end-column="12" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/MineOnlineURLStreamHandlerFactory.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="238">
|
||||
<caret line="15" selection-start-line="15" selection-end-line="15" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/utils/ArrayUtils.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="34">
|
||||
<caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/protocol/CheckServerURLConnection.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-85">
|
||||
<caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#1635#1636#0" expanded="true" />
|
||||
<element signature="e#1729#1730#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/bukkit/OnlineModeFixPlugin.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="170">
|
||||
<caret line="10" column="32" selection-start-line="10" selection-start-column="32" selection-end-line="10" selection-end-column="32" />
|
||||
<caret line="18" column="17" selection-start-line="18" selection-end-line="19" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#2569#2570#0" expanded="true" />
|
||||
<element signature="e#2597#2598#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/gg/codie/mineonline/plugin/ProxyThread.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-2135">
|
||||
<caret line="102" column="35" selection-start-line="102" selection-start-column="35" selection-end-line="102" selection-end-column="35" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#760#761#0" expanded="true" />
|
||||
<element signature="e#805#806#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
@ -774,47 +676,24 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/MineOnlineConfig.java">
|
||||
<entry file="file://$PROJECT_DIR$/res/plugin.yml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="34">
|
||||
<caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
|
||||
<state relative-caret-position="136">
|
||||
<caret line="8" column="15" lean-forward="true" selection-start-line="8" selection-start-column="15" selection-end-line="8" selection-end-column="15" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/OnlineModeFix.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="272">
|
||||
<caret line="16" column="52" selection-start-line="16" selection-start-column="52" selection-end-line="16" selection-end-column="52" />
|
||||
<state relative-caret-position="204">
|
||||
<caret line="17" column="5" lean-forward="true" selection-start-line="17" selection-start-column="5" selection-end-line="17" selection-end-column="5" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#631#632#0" expanded="true" />
|
||||
<element signature="e#665#666#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/res/plugin.yml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="153">
|
||||
<caret line="9" column="10" selection-start-line="9" selection-start-column="10" selection-end-line="9" selection-end-column="10" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/.idea/artifacts/MineOnlineBroadcast.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="51">
|
||||
<caret line="3" column="48" lean-forward="true" selection-start-line="3" selection-start-column="48" selection-end-line="3" selection-end-column="48" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/.gitignore">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/.idea/artifacts/OnlineModeFix.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="119">
|
||||
<caret line="7" column="12" selection-start-line="7" selection-start-column="12" selection-end-line="7" selection-end-column="12" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
<component name="masterDetails">
|
||||
<states>
|
||||
|
@ -1,6 +1,6 @@
|
||||
name: OnlineModeFix
|
||||
version: 1.0.0
|
||||
description: Fixes online-mode authentication
|
||||
version: 1.1.0
|
||||
description: Fixes online-mode authentication.
|
||||
author: craftycodie
|
||||
authors: [Codie]
|
||||
website: https://twitter.com/craftycodie
|
||||
|
@ -1,34 +1,20 @@
|
||||
|
||||
import gg.codie.mineonline.plugin.ProxyThread;
|
||||
import gg.codie.mineonline.protocol.MineOnlineURLStreamHandlerFactory;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.ServerSocket;
|
||||
import java.net.URL;
|
||||
import java.util.Properties;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class OnlineModeFix extends Plugin {
|
||||
private static String NAME = "OnlineModeFix";
|
||||
Logger log;
|
||||
ProxyThread proxyThread;
|
||||
boolean initialized;
|
||||
|
||||
public void launchProxy() throws IOException {
|
||||
ServerSocket serverSocket = new ServerSocket(0);
|
||||
proxyThread = new ProxyThread(serverSocket);
|
||||
proxyThread.start();
|
||||
public void enableOnlineMode() {
|
||||
this.log = Logger.getLogger("Minecraft");
|
||||
|
||||
System.out.println("Enabling online-mode fix.");
|
||||
log.info("Enabling online-mode fix.");
|
||||
|
||||
System.setProperty("http.proxyHost", serverSocket.getInetAddress().getHostAddress());
|
||||
System.setProperty("http.proxyPort", "" + serverSocket.getLocalPort());
|
||||
System.setProperty("http.nonProxyHosts", "localhost|127.0.0.1");
|
||||
}
|
||||
|
||||
public void stopProxy() {
|
||||
if (proxyThread != null) {
|
||||
proxyThread.stop();
|
||||
proxyThread = null;
|
||||
}
|
||||
URL.setURLStreamHandlerFactory(new MineOnlineURLStreamHandlerFactory());
|
||||
}
|
||||
|
||||
public void enable() {
|
||||
@ -38,23 +24,7 @@ public class OnlineModeFix extends Plugin {
|
||||
}
|
||||
|
||||
public void initialize() {
|
||||
if (initialized)
|
||||
return;
|
||||
|
||||
this.log = Logger.getLogger("Minecraft");
|
||||
|
||||
Properties propertiesFile = new Properties();
|
||||
|
||||
try {
|
||||
propertiesFile.load(new FileInputStream(new File("server.properties")));
|
||||
boolean onlineMode = propertiesFile.getProperty("online-mode", "true").equals("true");
|
||||
|
||||
if (onlineMode)
|
||||
launchProxy();
|
||||
} catch (Exception ex) {
|
||||
log.warning("Failed to enable online-mode fix. Authentication may fail.");
|
||||
}
|
||||
initialized = true;
|
||||
enableOnlineMode();
|
||||
}
|
||||
|
||||
private void register(PluginLoader.Hook hook, PluginListener.Priority priority) {
|
||||
@ -70,13 +40,6 @@ public class OnlineModeFix extends Plugin {
|
||||
}
|
||||
|
||||
public void disable() {
|
||||
if (!initialized)
|
||||
return;
|
||||
|
||||
unregister();
|
||||
|
||||
stopProxy();
|
||||
|
||||
initialized = false;
|
||||
}
|
||||
}
|
||||
|
@ -1,271 +0,0 @@
|
||||
package gg.codie.mineonline.plugin;
|
||||
|
||||
import gg.codie.minecraft.api.SessionServer;
|
||||
import gg.codie.utils.ArrayUtils;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.*;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class ProxyThread implements Runnable {
|
||||
private AtomicReference<ServerSocket> serverSocket = new AtomicReference<>();
|
||||
private Thread worker;
|
||||
private AtomicBoolean running = new AtomicBoolean(false);
|
||||
|
||||
public void start() {
|
||||
worker = new Thread(this);
|
||||
worker.start();
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
running.set(false);
|
||||
}
|
||||
|
||||
boolean isRunning() {
|
||||
return running.get();
|
||||
}
|
||||
|
||||
public ProxyThread(ServerSocket serverSocket) {
|
||||
this.serverSocket.set(serverSocket);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
running.set(true);
|
||||
System.setProperty("java.net.preferIPv4Stack", "true");
|
||||
|
||||
Socket clientSocket = null;
|
||||
|
||||
// DEBUG
|
||||
// System.out.println(serverSocket.get().getInetAddress() + ":" + serverSocket.get().getLocalPort());
|
||||
|
||||
while (running.get()) {
|
||||
//Stream to put data to the browser
|
||||
PrintWriter outGoing = null;
|
||||
try {
|
||||
clientSocket = serverSocket.get().accept();
|
||||
outGoing = new PrintWriter(clientSocket.getOutputStream(), true);
|
||||
|
||||
final int bufferSize = 8096;
|
||||
|
||||
byte[] buffer = new byte[bufferSize];
|
||||
int bytes_read;
|
||||
LinkedList<Byte> request = new LinkedList();
|
||||
|
||||
bytes_read = clientSocket.getInputStream().read(buffer, 0, bufferSize);
|
||||
for(int i = 0; i < bytes_read; i++)
|
||||
request.add(buffer[i]);
|
||||
|
||||
String requestHeaders = new String(buffer).split("\r\n\r\n")[0];
|
||||
|
||||
// keep reading.
|
||||
String requestString = new String(buffer);
|
||||
for (String header : requestHeaders.split("\r\n")) {
|
||||
if(header.contains("Content-Length")) {
|
||||
int contentLength = Integer.parseInt(header.split(": ")[1]);
|
||||
int headerLength = requestString.substring(0, requestString.indexOf("\r\n\r\n") + 4).length();
|
||||
|
||||
while(request.size() < contentLength + headerLength) {
|
||||
bytes_read = clientSocket.getInputStream().read(buffer, 0, bufferSize);
|
||||
for(int i = 0; i < bytes_read; i++)
|
||||
request.add(buffer[i]);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
byte[] requestBytes = ArrayUtils.toPrimitives(request.toArray(new Byte[0]));
|
||||
requestString = new String(requestBytes);
|
||||
|
||||
int headerSize = requestString.split("\r\n\r\n")[0].length() + 4;
|
||||
|
||||
// DEBUG
|
||||
// System.out.println("Request");
|
||||
requestHeaders = requestString.split("\r\n\r\n")[0];
|
||||
|
||||
|
||||
// DEBUG
|
||||
// System.out.println(requestString);
|
||||
|
||||
String urlString = "";
|
||||
try {
|
||||
urlString = pullLinks(requestString).get(0);
|
||||
} catch (IndexOutOfBoundsException ex) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Fix online-mode.
|
||||
if(urlString.contains("minecraft.net/game/checkserver.jsp?")) {
|
||||
String username = null;
|
||||
String serverId = null;
|
||||
String ip = null;
|
||||
|
||||
String[] args = urlString.replace("http://www.minecraft.net/game/checkserver.jsp?", "").split("&");
|
||||
for (String arg : args) {
|
||||
String[] keyValue = arg.split("=");
|
||||
|
||||
if (keyValue[0].equals("user"))
|
||||
username = keyValue[1];
|
||||
else if (keyValue[0].equals("serverId"))
|
||||
serverId = keyValue[1];
|
||||
else if (keyValue[0].equals("ip"))
|
||||
ip = keyValue[1];
|
||||
}
|
||||
|
||||
if (username != null && serverId != null) {
|
||||
boolean validJoin = SessionServer.hasJoined(
|
||||
username,
|
||||
serverId,
|
||||
ip
|
||||
);
|
||||
|
||||
if (validJoin) {
|
||||
String responseHeaders =
|
||||
"HTTP/1.0 200 OKServer:Werkzeug/1.0.1 Python/3.7.0\r\n\r\n";
|
||||
|
||||
clientSocket.getOutputStream().write(responseHeaders.getBytes());
|
||||
clientSocket.getOutputStream().write("YES".getBytes(StandardCharsets.UTF_8));
|
||||
clientSocket.getOutputStream().flush();
|
||||
clientSocket.getOutputStream().close();
|
||||
continue;
|
||||
} else {
|
||||
String responseHeaders =
|
||||
"HTTP/1.0 200 OKServer:Werkzeug/1.0.1 Python/3.7.0\r\n\r\n";
|
||||
|
||||
clientSocket.getOutputStream().write(responseHeaders.getBytes());
|
||||
clientSocket.getOutputStream().write("bad login".getBytes(StandardCharsets.UTF_8));
|
||||
clientSocket.getOutputStream().flush();
|
||||
clientSocket.getOutputStream().close();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
URL url = new URL(urlString);
|
||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
|
||||
for (String header : requestHeaders.substring(requestHeaders.indexOf("\r\n") + 2).split("\r\n")) {
|
||||
String headerName = header.substring(0, header.indexOf(":"));
|
||||
String headerValue = header.substring(header.indexOf(":") + 2);
|
||||
connection.setRequestProperty(headerName, headerValue);
|
||||
}
|
||||
|
||||
String methodLine = requestHeaders.substring(0, requestHeaders.indexOf("\r\n"));
|
||||
connection.setRequestMethod(methodLine.substring(0, methodLine.indexOf(" ")));
|
||||
|
||||
byte[] content = new byte[0];
|
||||
|
||||
try {
|
||||
if (urlString.contains("s3.amazonaws.com/MinecraftSkins/"))
|
||||
throw new FileNotFoundException("The skin server is offline.");
|
||||
|
||||
if (headerSize < requestBytes.length) {
|
||||
content = Arrays.copyOfRange(requestBytes, headerSize, requestBytes.length);
|
||||
|
||||
connection.setUseCaches(false);
|
||||
connection.setDoInput(true);
|
||||
connection.setDoOutput(true);
|
||||
|
||||
DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
|
||||
|
||||
wr.write(content);
|
||||
wr.flush();
|
||||
wr.close();
|
||||
} else {
|
||||
connection.setUseCaches(false);
|
||||
connection.setDoInput(true);
|
||||
connection.connect();
|
||||
}
|
||||
|
||||
|
||||
String responseHeader = "";
|
||||
for (Map.Entry<String, List<String>> header : connection.getHeaderFields().entrySet()) {
|
||||
if (header.getKey() == null) {
|
||||
Iterator<String> valueIterator = header.getValue().iterator();
|
||||
responseHeader += valueIterator.next();
|
||||
while (valueIterator.hasNext()) {
|
||||
responseHeader += " " + valueIterator.next();
|
||||
}
|
||||
continue;
|
||||
}
|
||||
responseHeader += header.getKey() + ":";
|
||||
Iterator<String> valueIterator = header.getValue().iterator();
|
||||
responseHeader += valueIterator.next();
|
||||
while (valueIterator.hasNext()) {
|
||||
responseHeader += ", " + valueIterator.next();
|
||||
}
|
||||
responseHeader += "\r\n";
|
||||
}
|
||||
responseHeader += "\r\n";
|
||||
|
||||
String contentString = new String(content);
|
||||
|
||||
// DEBUG
|
||||
// System.out.println("Response");
|
||||
// System.out.print(responseHeader);
|
||||
// System.out.println(contentString);
|
||||
|
||||
InputStream is = connection.getInputStream();
|
||||
|
||||
clientSocket.getOutputStream().write(responseHeader.getBytes());
|
||||
|
||||
buffer = new byte[bufferSize];
|
||||
while ((bytes_read = is.read(buffer, 0, bufferSize)) != -1) {
|
||||
for (int i = 0; i < bytes_read; i++) {
|
||||
clientSocket.getOutputStream().write(buffer[i]);
|
||||
}
|
||||
}
|
||||
|
||||
clientSocket.getOutputStream().flush();
|
||||
clientSocket.getOutputStream().close();
|
||||
|
||||
} catch (Exception ex) {
|
||||
String responseHeaders =
|
||||
"HTTP/1.0 404 Not FoundServer:Werkzeug/1.0.1 Python/3.7.0\r\n\r\n";
|
||||
clientSocket.getOutputStream().write(responseHeaders.getBytes());
|
||||
clientSocket.getOutputStream().flush();
|
||||
clientSocket.getOutputStream().close();
|
||||
// ex.printStackTrace();
|
||||
}
|
||||
} catch (FileNotFoundException ex) {
|
||||
System.err.println("Got a 404 for: " + ex.getMessage());
|
||||
} catch (IOException ex) {
|
||||
System.out.println("Something went very wrong.");
|
||||
ex.printStackTrace();
|
||||
} finally {
|
||||
outGoing.close();
|
||||
try {
|
||||
clientSocket.close();
|
||||
} catch (Exception e) { }
|
||||
}
|
||||
}
|
||||
try {
|
||||
serverSocket.get().close();
|
||||
} catch (Exception e) { }
|
||||
running.set(false);
|
||||
}
|
||||
|
||||
//Pull all links from the body for easy retrieval
|
||||
private static ArrayList<String> pullLinks(String text) {
|
||||
ArrayList<String> links = new ArrayList<String>();
|
||||
|
||||
String regex = "\\(?\\b(http://|www[.])[-A-Za-z0-9+&@#/%?=~_()|!:,.;]*[-A-Za-z0-9+&@#/%=~_()|]";
|
||||
Pattern p = Pattern.compile(regex);
|
||||
Matcher m = p.matcher(text);
|
||||
while(m.find()) {
|
||||
String urlStr = m.group();
|
||||
if (urlStr.startsWith("(") && urlStr.endsWith(")"))
|
||||
{
|
||||
urlStr = urlStr.substring(1, urlStr.length() - 1);
|
||||
}
|
||||
links.add(urlStr);
|
||||
}
|
||||
return links;
|
||||
}
|
||||
}
|
@ -1,35 +1,22 @@
|
||||
package gg.codie.mineonline.plugin.bukkit;
|
||||
|
||||
import gg.codie.mineonline.plugin.ProxyThread;
|
||||
import gg.codie.mineonline.protocol.MineOnlineURLStreamHandler;
|
||||
import gg.codie.mineonline.protocol.MineOnlineURLStreamHandlerFactory;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.ServerSocket;
|
||||
import java.net.URL;
|
||||
import java.util.Properties;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class OnlineModeFixPlugin extends JavaPlugin {
|
||||
Thread broadcastThread;
|
||||
Logger log;
|
||||
ProxyThread proxyThread;
|
||||
|
||||
public void launchProxy() throws IOException {
|
||||
ServerSocket serverSocket = new ServerSocket(0);
|
||||
proxyThread = new ProxyThread(serverSocket);
|
||||
proxyThread.start();
|
||||
public void enableOnlineModeFix() {
|
||||
Logger.getLogger("Minecraft").log(Level.INFO, "Enabling online-mode fix.");
|
||||
|
||||
System.out.println("Enabling online-mode fix.");
|
||||
|
||||
System.setProperty("http.proxyHost", serverSocket.getInetAddress().getHostAddress());
|
||||
System.setProperty("http.proxyPort", "" + serverSocket.getLocalPort());
|
||||
System.setProperty("http.nonProxyHosts", "localhost|127.0.0.1");
|
||||
}
|
||||
|
||||
public void stopProxy() {
|
||||
if (proxyThread != null) {
|
||||
proxyThread.stop();
|
||||
proxyThread = null;
|
||||
}
|
||||
URL.setURLStreamHandlerFactory(new MineOnlineURLStreamHandlerFactory());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -38,24 +25,11 @@ public class OnlineModeFixPlugin extends JavaPlugin {
|
||||
}
|
||||
|
||||
public void initialize() {
|
||||
this.log = Logger.getLogger("Minecraft");
|
||||
|
||||
Properties propertiesFile = new Properties();
|
||||
|
||||
try {
|
||||
propertiesFile.load(new FileInputStream(new File("server.properties")));
|
||||
boolean onlineMode = propertiesFile.getProperty("online-mode", "true").equals("true");
|
||||
|
||||
if (onlineMode)
|
||||
launchProxy();
|
||||
} catch (Exception ex) {
|
||||
log.warning("Failed to enable online-mode fix. Authentication may fail.");
|
||||
}
|
||||
enableOnlineModeFix();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
broadcastThread.interrupt();
|
||||
stopProxy();
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,73 @@
|
||||
package gg.codie.mineonline.protocol;
|
||||
|
||||
import gg.codie.minecraft.api.SessionServer;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
|
||||
public class CheckServerURLConnection extends HttpURLConnection {
|
||||
public CheckServerURLConnection(URL url) {
|
||||
super(url);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disconnect() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean usingProxy() {
|
||||
return false;
|
||||
}
|
||||
|
||||
private String response = "bad login";
|
||||
|
||||
@Override
|
||||
public void connect() throws IOException {
|
||||
String username = null;
|
||||
String serverId = null;
|
||||
String ip = null;
|
||||
|
||||
String[] args = url.toString()
|
||||
.substring(url.toString().lastIndexOf("?") + 1)
|
||||
.split("&");
|
||||
for (String arg : args) {
|
||||
String[] keyValue = arg.split("=");
|
||||
|
||||
if (keyValue[0].equals("user"))
|
||||
username = keyValue[1];
|
||||
else if (keyValue[0].equals("serverId"))
|
||||
serverId = keyValue[1];
|
||||
else if (keyValue[0].equals("ip"))
|
||||
ip = keyValue[1];
|
||||
}
|
||||
|
||||
if (username == null || serverId == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
boolean validJoin = SessionServer.hasJoined(username, serverId, ip);
|
||||
|
||||
if (validJoin) {
|
||||
response = "YES";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public InputStream getInputStream() throws IOException {
|
||||
return new ByteArrayInputStream(response.getBytes());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getResponseCode() {
|
||||
return 200;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getResponseMessage() {
|
||||
return responseMessage;
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package gg.codie.mineonline.protocol;
|
||||
|
||||
import sun.net.www.protocol.http.HttpURLConnection;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.net.URLStreamHandler;
|
||||
|
||||
public class MineOnlineURLStreamHandler extends URLStreamHandler {
|
||||
@Override
|
||||
protected URLConnection openConnection(URL url) throws IOException {
|
||||
// Online-Mode fix
|
||||
if (url.toString().contains("/game/checkserver.jsp"))
|
||||
return new CheckServerURLConnection(url);
|
||||
else
|
||||
return new HttpURLConnection(url, null);
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package gg.codie.mineonline.protocol;
|
||||
|
||||
import java.net.URLStreamHandler;
|
||||
import java.net.URLStreamHandlerFactory;
|
||||
|
||||
public class MineOnlineURLStreamHandlerFactory implements URLStreamHandlerFactory {
|
||||
@Override
|
||||
public URLStreamHandler createURLStreamHandler(String protocol) {
|
||||
if ("http".equals(protocol)) {
|
||||
return new MineOnlineURLStreamHandler();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
package gg.codie.utils;
|
||||
|
||||
public class ArrayUtils {
|
||||
public static byte[] toPrimitives(Byte[] oBytes)
|
||||
{
|
||||
|
||||
byte[] bytes = new byte[oBytes.length];
|
||||
for(int i = 0; i < oBytes.length; i++){
|
||||
bytes[i] = oBytes[i];
|
||||
}
|
||||
return bytes;
|
||||
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user