diff --git a/.gitignore b/.gitignore index 58dfab0bd4d..e09ac53c1c4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ /logs/** .idea/ +/.gradle # build files diff --git a/Dockerfile b/Dockerfile index 70178f3236b..60ae00b3bca 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,10 @@ # Docker support, thanks to xinyifly -FROM openjdk:7-alpine +FROM openjdk:8-alpine RUN apk -U add tini WORKDIR /mnt -COPY ./ ./ -RUN sh ./posix-compile.sh +ADD wz ./wz +ADD docker-launch.sh configuration.ini world.ini ./ +ADD build/libs/HeavenMS.jar HeavenMS.jar EXPOSE 8484 7575 7576 7577 CMD exec tini -- sh ./docker-launch.sh \ No newline at end of file diff --git a/README.md b/README.md index ab6a6c6fca9..b85930ca1b6 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,6 @@ Besides myself for maintaining this repository, credits are to be given to Wizet Regarding distributability and usage of the code presented here: like it was before, this MapleStory server is open-source. By that, it is meant that anyone is **free to install, use, modify and redistribute the contents**, as long as there is **no kind of commercial trading involved** and the **credits to the original creators are maintained** within the codes. -This is a NetBeans 8.2 Project, that should be built and run on Java 8 in order to run properly (used to be ran in Java 7, thanks @kolakcc for the Java 8 support!). - -Being a NetBeans 8.2 Project, this means that it's easier to install the project via opening the server project folder inside NetBeans' IDE. Once installed, build this project on your machine and run the server using the "launch.bat" application. - In this project, many gameplay-wise issues generated from either the original WZ files and the server source have been partially or completely solved. Considering the use of the provided edited WZ's and server-side wz.xml files should be of the greatest importance when dealing with this instance of server source, in order to perceive it at it's full potential. My opinion, though! The main objective of this project is to try as best as possible to recreate what once was the original MapleStory v83, while adding up some flavors that spices up the gameplay. In other words, aim to get the best of the MapleStory of that era. @@ -176,18 +172,19 @@ Now it is OPTIONAL, you don't need to run it if you don't want, as it will simpl At the end of the execution of these SQLs, you should have installed a database schema named "heavenms". REGISTER YOUR FIRST ACCOUNT to be used in-game by **creating manually** an entry on the table "accounts" at that database with a login and a password. Configure the IP you want to use for your MapleStory server in "configuration.ini" file, or set it as "localhost" if you want to run it only on your machine. Alternatively, you can use the IP given by Hamachi to use on a Hamachi network, or you can use a non-Hamachi method of port-forwarding. Neither will be approached here. - -#### Open the NetBeans project - -Now open NetBeans, and click "Open a project..." . Select then the "HeavenMS" folder, that should already be a project recognizable by NetBeans. If it isn't, you have a problem. - -Inside the project, you may encounter some code errors. - -If that's the case, you have yet to set the core JARs of the project. From the project hierarchy, right-click the project and select "Resolve Project Problems". - -Locate the folder "cores" inside the root directory of this project and manually configure the missing files on NetBeans (mina-core, slf4j-api, ...). - -Finally, select "Clean and Build project" to build the JAR file for the MapleStory server. Once done, make sure both WampServer and Hamachi are on and functional, then execute "launch.bat" on the root of the project. If no errors were raised from this action, your MapleStory server is now online. + +#### Launching the server +* If using **Windows**: + * Double click `launch.bat` in this +* If using **Non-Windows**: + * Open this directory in a terminal. + * Run `./gradlew run`. +* If using **Docker**: + * Build the project with `./gradlew build`. + * `docker-compose up` will get you a new database instance and start the server. + * Keep in mind that any changes to the sources requires a rebuild with `./gradlew build`. + +Once done, make sure both WampServer and Hamachi are on and functional, then execute "launch.bat" on the root of the project. If no errors were raised from this action, your MapleStory server is now online. --- ### Installing the CLIENT @@ -243,6 +240,27 @@ To change a character's GM level, make sure that character is not logged in, the * Hit APPLY CHANGES. --- +### Server Development +To edit server files, you need a text editor. We recommend using one of these two IDEs: + +#### Using NetBeans +Open NetBeans, and click "Open a project..." . Select then the "HeavenMS" folder, that should already be a project recognizable by NetBeans. If it isn't, you have a problem. + +Inside the project, you may encounter some code errors. + +If that's the case, you have yet to set the core JARs of the project. From the project hierarchy, right-click the project and select "Resolve Project Problems". + +Locate the folder "cores" inside the root directory of this project and manually configure the missing files on NetBeans (mina-core, slf4j-api, ...). + +Finally, select "Clean and Build project" to build the JAR file for the MapleStory server. Once done, make sure both WampServer and Hamachi are on and functional, then execute "launch.bat" on the root of the project. If no errors were raised from this action, your MapleStory server is now online. + +#### Using IntelliJ IDEA + +* Make sure you have downloaded this respository using Clone or Download. +* Use `File > Open` to select the `build.gradle` file within this project. +* IntelliJ should configure the rest automatically. + + ### Some notes about WZ/WZ.XML EDITING NOTE: Be extremely wary when using server-side's XMLs data being reimported into the client's WZ, as some means of synchronization between the server and client modules, this action COULD generate some kind of bugs afterwards. Client-to-server data reimporting seems to be fine, though. diff --git a/build.gradle b/build.gradle new file mode 100644 index 00000000000..17b0f386691 --- /dev/null +++ b/build.gradle @@ -0,0 +1,40 @@ +plugins { + id 'java' + id 'application' +} + +sourceCompatibility = '1.8' +targetCompatibility = '1.8' + +repositories { + mavenCentral() +} + +dependencies { + implementation group: 'com.zaxxer', name: 'HikariCP-java7', version: '2.4.13' + implementation group: 'org.apache.mina', name: 'mina-core', version: '2.0.19' + implementation group: 'mysql', name: 'mysql-connector-java', version: '5.1.6' + implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.21' + implementation group: 'org.slf4j', name: 'slf4j-jdk14', version: '1.7.5' +} + +sourceSets { + main { + java { + srcDirs 'src' + } + } +} + +mainClassName = "net.server.Server" + +jar { + manifest { + attributes( + 'Main-Class': mainClassName + ) + } + from { + configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } + } +} \ No newline at end of file diff --git a/build.xml b/build.xml deleted file mode 100644 index 43a9cfd69b5..00000000000 --- a/build.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - Builds, tests, and runs the project HeavenMS. - - - diff --git a/cores/HikariCP-java7-2.4.13.jar b/cores/HikariCP-java7-2.4.13.jar deleted file mode 100644 index 6506cbac92c..00000000000 Binary files a/cores/HikariCP-java7-2.4.13.jar and /dev/null differ diff --git a/cores/mina-core-2.0.19.jar b/cores/mina-core-2.0.19.jar deleted file mode 100644 index 0afdf38ac58..00000000000 Binary files a/cores/mina-core-2.0.19.jar and /dev/null differ diff --git a/cores/mysql-connector-java-bin.jar b/cores/mysql-connector-java-bin.jar deleted file mode 100644 index 0539039f716..00000000000 Binary files a/cores/mysql-connector-java-bin.jar and /dev/null differ diff --git a/cores/slf4j-api-1.7.21.jar b/cores/slf4j-api-1.7.21.jar deleted file mode 100644 index 2a5c33ec554..00000000000 Binary files a/cores/slf4j-api-1.7.21.jar and /dev/null differ diff --git a/cores/slf4j-jdk14-1.7.5.jar b/cores/slf4j-jdk14-1.7.5.jar deleted file mode 100644 index 184c8c41099..00000000000 Binary files a/cores/slf4j-jdk14-1.7.5.jar and /dev/null differ diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000000..a431af0efa5 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,40 @@ +version: '3.3' +services: + db: + image: mysql:5.7 + environment: + MYSQL_DATABASE: 'heavenms' + MYSQL_ROOT_PASSWORD: '' + MYSQL_ALLOW_EMPTY_PASSWORD: 'true' + ports: + - '3306:3306' + expose: + - '3306' + volumes: + - my-db:/var/lib/mysql + - ./sql:/docker-entrypoint-initdb.d + + heavenms: + build: . + environment: + HOST: '127.0.0.1' + URL: 'jdbc:mysql://db:3306/heavenms' + DB_USER: 'root' + DB_PASS: '' + JAVA8: 'true' + SHUTDOWNHOOK: 'true' + volumes: + - ./scripts:/mnt/scripts + ports: + - '8484:8484' + - '7575:7575' + - '7576:7576' + - '7577:7577' + expose: + - '8484' + - '7575' + - '7576' + - '7577' + +volumes: + my-db: \ No newline at end of file diff --git a/docker-launch.sh b/docker-launch.sh index 654a2c088cd..5c089b56a15 100644 --- a/docker-launch.sh +++ b/docker-launch.sh @@ -4,5 +4,6 @@ sed -i "s/HOST=.*/HOST=${HOST}/" configuration.ini sed -i "s|URL=.*|URL=${URL}|" configuration.ini sed -i "s/DB_USER=.*/DB_USER=${DB_USER}/" configuration.ini sed -i "s/DB_PASS=.*/DB_PASS=${DB_PASS}/" configuration.ini +sed -i "s/JAVA8=.*/JAVA8=TRUE/" configuration.ini -exec sh ./posix-launch.sh \ No newline at end of file +exec java -Xmx2048m -Dwzpath=wz -jar HeavenMS.jar \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 00000000000..29e08e8ca88 --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +kotlin.code.style=official \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 00000000000..94336fcae91 Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000000..290541c7386 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 00000000000..cccdd3d517f --- /dev/null +++ b/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 00000000000..e95643d6a2c --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/launch.bat b/launch.bat index 076a28d634f..55d2fa6a5d7 100644 --- a/launch.bat +++ b/launch.bat @@ -1,6 +1,4 @@ @echo off @title HeavenMS -set PATH=C:\Program Files\Java\jdk1.7.0_79\bin;%PATH% -set CLASSPATH=.;dist\* -java -Xmx2048m -Dwzpath=wz\ net.server.Server +gradlew run pause \ No newline at end of file diff --git a/launchtest.bat b/launchtest.bat deleted file mode 100644 index b6a02eb5a90..00000000000 --- a/launchtest.bat +++ /dev/null @@ -1,61 +0,0 @@ -REM // 'launchtest.bat' Author: Tochi -@echo off -set a=0 -title HeavenMS: Offline -color 1b -:clear -cls -echo HeavenMS Server Launcher -echo. -echo Commands: -echo ------------------------------------------------------------- -echo start - Start HeavenMS server -echo shutdown - Shut down HeavenMS server and close Launcher File -echo reset - Resets HeavenMS Launcher File -echo clear - Clear this window -echo ------------------------------------------------------------- -echo. - -:command -set /p s="Enter command: " -if "%s%"=="start" goto :start -if "%s%"=="shutdown" goto :shutdown -if "%s%"=="reset" goto :reset -if "%s%"=="clear" goto :clear -echo Wrong Command. -echo. -goto :command - -:start -if "%a%"=="1" ( -echo HeavenMS is already active! -echo. -goto :command -) -color 4c -echo This might take a while.... -echo. -title HeavenMS: activating -echo Server Launching... -start /b launch.bat -color 2a -title HeavenMS: Online -set a=1 -ping localhost -w 10000 >nul -echo. -goto :command - -:shutdown -color 4c -title HeavenMS: Shutting Down... -echo The Server Launcher will be close in a few seconds. -ping localhost -w 100000 >nul -taskkill /im cmd.exe - -:reset -color 4c -title HeavenMS: Resetting... -echo Please type 'start' in command box after bat file have been resetted. -ping localhost -w 100000 >nul -start launchtest.bat REM // thanks Paxum for noting that 'launchtest.bat' is to be used here -taskkill /im cmd.exe \ No newline at end of file diff --git a/linux-compile.sh b/linux-compile.sh deleted file mode 100644 index 9cfec04218b..00000000000 --- a/linux-compile.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -# thanks to lkxyyjx -sudo ant -Dplatforms.JDK_1.7.home=/opt/jdk1.7.0_80 compile -sudo ant -Dplatforms.JDK_1.7.home=/opt/jdk1.7.0_80 jar \ No newline at end of file diff --git a/linux-launch.sh b/linux-launch.sh deleted file mode 100644 index 40557cec8e4..00000000000 --- a/linux-launch.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# cores in classpath, thanks to lkxyyjx -export CLASSPATH=".:dist/*:cores/*" -java -Xmx2048m -Dwzpath=wz/ net.server.Server \ No newline at end of file diff --git a/manifest.mf b/manifest.mf deleted file mode 100644 index 328e8e5bc3b..00000000000 --- a/manifest.mf +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -X-COMMENT: Main-Class will be added automatically by build - diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml deleted file mode 100644 index 6fd0f0e4728..00000000000 --- a/nbproject/build-impl.xml +++ /dev/null @@ -1,1431 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set platform.home - Must set platform.bootcp - Must set platform.java - Must set platform.javac - - The J2SE Platform is not correctly set up. - Your active platform is: ${platform.active}, but the corresponding property "platforms.${platform.active}.home" is not found in the project's properties files. - Either open the project in the IDE and setup the Platform with the same name or add it manually. - For example like this: - ant -Duser.properties.file=<path_to_property_file> jar (where you put the property "platforms.${platform.active}.home" in a .properties file) - or ant -Dplatforms.${platform.active}.home=<path_to_JDK_home> jar (where no properties file is used) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set src.dir - Must set build.dir - Must set dist.dir - Must set build.classes.dir - Must set dist.javadoc.dir - Must set build.test.classes.dir - Must set build.test.results.dir - Must set build.classes.excludes - Must set dist.jar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No tests executed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set JVM to use for profiling in profiler.info.jvm - Must set profiler agent JVM arguments in profiler.info.jvmargs.agent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select some files in the IDE or set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To run this application from the command line without Ant, try: - - ${platform.java} -jar "${dist.jar.resolved}" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set run.class - - - - Must select one file in the IDE or set run.class - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set debug.class - - - - - Must select one file in the IDE or set debug.class - - - - - Must set fix.includes - - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - Must select one file in the IDE or set profile.class - This target only works when run from inside the NetBeans IDE. - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - - - - - This target only works when run from inside the NetBeans IDE. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set run.class - - - - - - Must select some files in the IDE or set test.includes - - - - - Must select one file in the IDE or set run.class - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select some files in the IDE or set javac.includes - - - - - - - - - - - - - - - - - - Some tests failed; see details above. - - - - - - - - - Must select some files in the IDE or set test.includes - - - - Some tests failed; see details above. - - - - Must select some files in the IDE or set test.class - Must select some method in the IDE or set test.method - - - - Some tests failed; see details above. - - - - - Must select one file in the IDE or set test.class - - - - Must select one file in the IDE or set test.class - Must select some method in the IDE or set test.method - - - - - - - - - - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties deleted file mode 100644 index 4d5b6615f0e..00000000000 --- a/nbproject/genfiles.properties +++ /dev/null @@ -1,8 +0,0 @@ -build.xml.data.CRC32=92113194 -build.xml.script.CRC32=ff13faf5 -build.xml.stylesheet.CRC32=8064a381@1.75.2.48 -# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. -# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=92113194 -nbproject/build-impl.xml.script.CRC32=cef58264 -nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/nbproject/licenseheader.txt b/nbproject/licenseheader.txt deleted file mode 100644 index 7faa6328900..00000000000 --- a/nbproject/licenseheader.txt +++ /dev/null @@ -1,22 +0,0 @@ -<#if licenseFirst??> -${licenseFirst} - -${licensePrefix}This file is part of the HeavenMS Maple Story Server -${licensePrefix?replace(" +$", "", "r")} -${licensePrefix}Copyright (C) ${date?date?string("yyyy")} ${project.organization!user} -${licensePrefix?replace(" +$", "", "r")} -${licensePrefix}This program is free software: you can redistribute it and/or modify -${licensePrefix}it under the terms of the GNU General Public License as published by -${licensePrefix}the Free Software Foundation, either version 3 of the License, or -${licensePrefix}(at your option) any later version. -${licensePrefix?replace(" +$", "", "r")} -${licensePrefix}This program is distributed in the hope that it will be useful, -${licensePrefix}but WITHOUT ANY WARRANTY; without even the implied warranty of -${licensePrefix}MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -${licensePrefix}GNU General Public License for more details. -${licensePrefix?replace(" +$", "", "r")} -${licensePrefix}You should have received a copy of the GNU General Public License -${licensePrefix}along with this program. If not, see . -<#if licenseLast??> -${licenseLast} - \ No newline at end of file diff --git a/nbproject/private/config.properties b/nbproject/private/config.properties deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties deleted file mode 100644 index 67c9c27960d..00000000000 --- a/nbproject/private/private.properties +++ /dev/null @@ -1,6 +0,0 @@ -compile.on.save=true -do.depend=false -do.jar=true -javac.debug=true -javadoc.preview=true -user.properties.file=C:\\Users\\RonanLana\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml deleted file mode 100644 index 3287222d264..00000000000 --- a/nbproject/private/private.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/nbproject/project.properties b/nbproject/project.properties deleted file mode 100644 index 861f8eb51c9..00000000000 --- a/nbproject/project.properties +++ /dev/null @@ -1,101 +0,0 @@ -annotation.processing.enabled=true -annotation.processing.enabled.in.editor=false -annotation.processing.processors.list= -annotation.processing.run.all.processors=true -annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output -application.title=HeavenMS -application.vendor=Ronan -auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml -build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form -# This directory is removed when the project is cleaned: -build.dir=build -build.generated.dir=${build.dir}/generated -build.generated.sources.dir=${build.dir}/generated-sources -# Only compile against the classpath explicitly listed here: -build.sysclasspath=ignore -build.test.classes.dir=${build.dir}/test/classes -build.test.results.dir=${build.dir}/test/results -# Uncomment to specify the preferred debugger connection transport: -#debug.transport=dt_socket -debug.classpath=\ - ${run.classpath} -debug.test.classpath=\ - ${run.test.classpath} -# This directory is removed when the project is cleaned: -dist.dir=dist -dist.jar=${dist.dir}/HeavenMS.jar -dist.javadoc.dir=${dist.dir}/javadoc -endorsed.classpath= -excludes= -file.reference.HikariCP-java7-2.4.13.jar=cores/HikariCP-java7-2.4.13.jar -file.reference.MapleSolaxia-src=src -file.reference.mina-core-2.0.19.jar=cores/mina-core-2.0.19.jar -file.reference.mysql-connector-java-bin.jar=cores/mysql-connector-java-bin.jar -file.reference.slf4j-api-1.7.21.jar=cores/slf4j-api-1.7.21.jar -file.reference.slf4j-jdk14-1.7.5.jar=cores/slf4j-jdk14-1.7.5.jar -includes=** -jar.archive.disabled=${jnlp.enabled} -jar.compress=true -jar.index=${jnlp.enabled} -javac.classpath=\ - ${file.reference.mina-core-2.0.19.jar}:\ - ${file.reference.slf4j-api-1.7.21.jar}:\ - ${file.reference.HikariCP-java7-2.4.13.jar}:\ - ${file.reference.mysql-connector-java-bin.jar}:\ - ${file.reference.slf4j-jdk14-1.7.5.jar} -# Space-separated list of extra javac options -javac.compilerargs= -javac.deprecation=false -javac.processorpath=\ - ${javac.classpath} -javac.source=1.7 -javac.target=1.7 -javac.test.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -javac.test.processorpath=\ - ${javac.test.classpath} -javadoc.additionalparam= -javadoc.author=false -javadoc.encoding=${source.encoding} -javadoc.noindex=false -javadoc.nonavbar=false -javadoc.notree=false -javadoc.private=false -javadoc.splitindex=true -javadoc.use=true -javadoc.version=false -javadoc.windowtitle= -jnlp.codebase.type=no.codebase -jnlp.descriptor=application -jnlp.enabled=false -jnlp.mixed.code=default -jnlp.offline-allowed=false -jnlp.signed=false -jnlp.signing= -jnlp.signing.alias= -jnlp.signing.keystore= -main.class=net.server.Server -# Optional override of default Codebase manifest attribute, use to prevent RIAs from being repurposed -manifest.custom.codebase= -# Optional override of default Permissions manifest attribute (supported values: sandbox, all-permissions) -manifest.custom.permissions= -manifest.file=manifest.mf -meta.inf.dir=${src.dir}/META-INF -mkdist.disabled=false -platform.active=JDK_1.7 -project.license=gpl30_msv2 -project.licensePath=./nbproject/licenseheader.txt -run.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -# Space-separated list of JVM arguments used when running the project. -# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. -# To set system properties for unit tests define test-sys-prop.name=value: -run.jvmargs=-Xmx2048m -Dwzpath=wz/ -run.test.classpath=\ - ${javac.test.classpath}:\ - ${build.test.classes.dir} -source.encoding=UTF-8 -src.dir=${file.reference.MapleSolaxia-src} diff --git a/nbproject/project.xml b/nbproject/project.xml deleted file mode 100644 index aed1c563501..00000000000 --- a/nbproject/project.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - org.netbeans.modules.java.j2seproject - - - HeavenMS - - - - - - - - diff --git a/posix-compile.sh b/posix-compile.sh deleted file mode 100644 index 1880dd8b589..00000000000 --- a/posix-compile.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -# compilation script for posix-compliant systems - -src=src -dist=dist - -cores=$(echo cores/*) -cores=${cores// /:} - -mkdir -p $dist -javac -d $dist -cp $cores $(find $src -name "*.java") diff --git a/posix-launch.sh b/posix-launch.sh deleted file mode 100644 index 9222538da7a..00000000000 --- a/posix-launch.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -# launch script -cores=$(echo cores/*) -cores=${cores// /:} -cp=.:dist:$cores - -java -Xmx2048m -Dwzpath=wz -cp $cp net.server.Server