mirror of
				https://github.com/DarkflameUniverse/DarkflameServer.git
				synced 2025-10-30 20:22:04 +00:00 
			
		
		
		
	 eaa962f265
			
		
	
	eaa962f265
	
	
	
		
			
			* added mariadb-connector-cpp submodule * raknet aarch64 support * fix compile errors * mariadb connector swap (in progress) * update CMakeLists, add preprocessor definition to switch between mysql and mariadb connectors * update types with missing aarch64 check * corrected adding extra flag to properly compile mariadbconn in CMakeLists * updated readme with arm builds section * fix build failure if test folder does not exist * Remove mysql connector from all builds, add mariadbconnector to windows build * readd Linux check for backtrace lib to CMakeLists.txt * Separate system specific mariadbconncpp extra compile flags * Copy dlls to exes directory once built * fetch prebuilt binaries on windows so that ClangCL can be used * Delay load dll so that plugin directory is set correctly * Fixed typo in glibcxx compile flag * whitespacing, spaces -> tabs * Updated README.md, included instructions to update * Updated README.md added libssl-dev requirement and removed mysql connector references from macOS builds section * apple compile fixes for zlib and shared library name * add windows arm64 checks to raknet * remove extra . in shared library location * Setup plugins directory for the connector to search in, pass openssl_root_dir on for apple * Fix copy paths for single config generators and non windows * change plugin folder location, another single config generator fix * GENERATOR_IS_MULTI_CONFIG is a property not a variable * Fixed a few errors after merge * Fix plugin directory path, force windows to look at the right folder * fixed directory name for make_directory command * Update README.md Updated MacOS, Windows build instructions. * set INSTALL_PLUGINDIR so that the right directory is used * Support for relative rpath for docker build * added mariadb-connector-cpp submodule * raknet aarch64 support * fix compile errors * mariadb connector swap (in progress) * update CMakeLists, add preprocessor definition to switch between mysql and mariadb connectors * update types with missing aarch64 check * corrected adding extra flag to properly compile mariadbconn in CMakeLists * updated readme with arm builds section * fix build failure if test folder does not exist * Remove mysql connector from all builds, add mariadbconnector to windows build * readd Linux check for backtrace lib to CMakeLists.txt * Separate system specific mariadbconncpp extra compile flags * Copy dlls to exes directory once built * fetch prebuilt binaries on windows so that ClangCL can be used * Delay load dll so that plugin directory is set correctly * Fixed typo in glibcxx compile flag * whitespacing, spaces -> tabs * Updated README.md, included instructions to update * Updated README.md added libssl-dev requirement and removed mysql connector references from macOS builds section * apple compile fixes for zlib and shared library name * add windows arm64 checks to raknet * Setup plugins directory for the connector to search in, pass openssl_root_dir on for apple * Fix copy paths for single config generators and non windows * change plugin folder location, another single config generator fix * GENERATOR_IS_MULTI_CONFIG is a property not a variable * Fixed a few errors after merge * Fix plugin directory path, force windows to look at the right folder * fixed directory name for make_directory command * Update README.md Updated MacOS, Windows build instructions. * set INSTALL_PLUGINDIR so that the right directory is used * Support for relative rpath for docker build * Rebase on main * Remove extra git submodule * Update CMakeLists.txt * Remove CMakeLists.txt file from mariadb Remove the CMakeLists.txt file from the mariaDBConnector so we dont build the tests. Also add a config option to the CMakeVariables.txt so you can build the connector with multiple jobs * Compile on windows Specify the mariadbcpp.dll file location with a defined absolute path so windows knows it actually exists. * default to 1 job Default mariadb jobs running in parallel to 1 instead of 4 * Move mariadbcpp.dll file to the expected directory on windows * Changed plugin Updated the plugin location from the project binary directory to the expected location, the mariadb binary directory. * Addressed windows dll issues by moving files to the expected directory instead of a directory that wouldnt get created * Update README Co-authored-by: Aaron Kimbrell <aronwk.aaron@gmail.com> Co-authored-by: EmosewaMC <39972741+EmosewaMC@users.noreply.github.com>
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM gcc:11 as build
 | |
| 
 | |
| WORKDIR /build
 | |
| 
 | |
| RUN --mount=type=cache,id=build-apt-cache,target=/var/cache/apt \
 | |
|     echo "Install build dependencies" && \
 | |
|     apt update && \
 | |
|     apt remove -y libmysqlcppconn7v5 libmysqlcppconn-dev && \
 | |
|     apt install cmake zlib1g zlib1g-dev unzip -yqq --no-install-recommends && \
 | |
|     rm -rf /var/lib/apt/lists/*
 | |
| 
 | |
| COPY dAuthServer/ /build/dAuthServer
 | |
| COPY dChatServer/ /build/dChatServer
 | |
| COPY dCommon/ /build/dCommon
 | |
| COPY dChatFilter/ /build/dChatFilter
 | |
| COPY dDatabase/ /build/dDatabase
 | |
| COPY dGame/ /build/dGame
 | |
| COPY dMasterServer/ /build/dMasterServer
 | |
| COPY dNet/ /build/dNet
 | |
| COPY dPhysics/ /build/dPhysics
 | |
| COPY dScripts/ /build/dScripts
 | |
| COPY dWorldServer/ /build/dWorldServer
 | |
| COPY dZoneManager/ /build/dZoneManager
 | |
| COPY migrations/ /build/migrations
 | |
| COPY resources/ /build/resources
 | |
| COPY thirdparty/ /build/thirdparty
 | |
| COPY vanity /build/vanity
 | |
| COPY tests/ /build/tests
 | |
| COPY .clang-* CMake* LICENSE /build/
 | |
| 
 | |
| ARG BUILD_THREADS=1
 | |
| ARG BUILD_VERSION=171022
 | |
| 
 | |
| RUN echo "Build server" && \
 | |
|     mkdir -p cmake_build && \
 | |
|     cd cmake_build && \
 | |
|     sed -i -e "s/171022/${BUILD_VERSION}/g" ../CMakeVariables.txt && \
 | |
|     cmake .. -DCMAKE_BUILD_RPATH_USE_ORIGIN=TRUE && \
 | |
|     make -j $BUILD_THREADS
 | |
| 
 | |
| RUN unzip /build/resources/navmeshes.zip -d /build/cmake_build/res/maps
 | |
| 
 | |
| FROM gcc:11 as runtime
 | |
| 
 | |
| RUN --mount=type=cache,id=runtime-apt-cache,target=/var/cache/apt \
 | |
|     apt update && \
 | |
|     apt install sudo -yqq --no-install-recommends && \
 | |
|     apt remove -y libmysqlcppconn7v5 libmysqlcppconn-dev && \
 | |
|     rm -rf /var/lib/apt/lists/*
 | |
| 
 | |
| WORKDIR /app
 | |
| 
 | |
| COPY --from=build /build/cmake_build /app
 | |
| 
 | |
| RUN mkdir -p /build/cmake_build && ln -s /app/_deps /build/cmake_build/_deps
 | |
| 
 | |
| COPY docker/start_server.sh /start_server.sh
 | |
| 
 | |
| CMD [ "/start_server.sh" ]
 |