Skip to content

rajkosto/hive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Compiling:

You must have Visual Studio 2012 Update 4 or later installed (express versions might work as long as you also have the Windows SDK installed).

The following dependencies are required to build Hive:
	BOOST:
	You need both includes and compiled libraries
	If you don't have it, get boost from http://www.boost.org/
	Compilation instructions (how to use bjam for your compiler) can be found at http://www.boost.org/doc/libs/1_55_0/more/getting_started/windows.html
	Use 1.54 for vs2012 and 1.55 or higher for vs2013 (1.54 has a bug on vs2012, might be fixed in post 1.55 releases)
	Once compiled, make sure to add the include and lib folders to your VC++ directories inside Visual Studio (User property sheet for your Platform).
        Sample bjam command line (after running boostrap.bat to get bjam.exe):
		For Visual Studio 2012:
			bjam toolset=msvc-11.0 variant=release,debug runtime-link=shared,static link=static threading=multi address-model=32 --without-log --stagedir=lib\x86\v110 --build-dir=out\x86\v110
		For Visual Studio 2013:
			bjam toolset=msvc-12.0 variant=release,debug runtime-link=shared,static link=static threading=multi address-model=32 --without-log --stagedir=lib\x86\v120 --build-dir=out\x86\v120

	Then copy $(BOOST_DIR)boost to $(BOOST_DIR)\include\ (a new folder you made) and add
		$(BOOST_DIR)include 
	to VC++ Include directories and 
		$(BOOST_DIR)lib\$(PlatformShortName)\$(PlatformToolset)\lib
	to VC++ Library directories
	
	POCO:
	Get my customized version by cloning git@github.com:rajkosto/deps-poco.git into some out-of-tree directory.
	Set the environment variable POCO_DIR to the directory Poco.props can be found in.
	The parts of Poco should be built in the following order: CppUnit,Foundation,XML,Zip,Util,Net
	For each of them, open the corresponding solution file for your desired Visual Studio toolset, go to Build->Batch Build, Select All, then click Build.
	You should have 0 failed configurations after the build is done for each one.
	
	TBB:
	Get my customized version by cloning git@github.com:rajkosto/deps-tbb.git into some out-of-tree directory.
	Set the environment variable TBB_DIR to the directory TBB.props can be found in.
	To build TBB, go to the build/vsproject folder from the folder you cloned into.
	Open the makefile_XXX solution for the desired Visual Studio toolset you want to use.
	Go to Build->Batch Build, Select All and then click Build.
	There should be 0 failed configurations after the build is complete.
	
	DETOURS:
	Get my customized version by cloning git@github.com:rajkosto/deps-detours.git into some out-of-tree directory.
	Set the environment variable DETOURS_DIR to the directory Detours.props can be found in.
	Open a Visual Studio command prompt which matches your wanted toolset/platform, cd to the folder, and run nmake from it.
	Some samples might fail to build, but as long as you've got detours.lib, it doesn't matter.
	
	MYSQL:
	Get my precompiled version by cloning git@github.com:rajkosto/deps-mysql.git into some out-of-tree directory.
	Set the environment variable MYSQL_DIR to the directory MySQL.props can be found in.
	As the libraries are precompiled for any possible supported Visual Studio toolchain, you don't compile them yourself.
	
	POSTGRESQL: (only if you want to build DatabasePostgre which probably doesn't work anyway)
	Get my precompiled version by cloning git@github.com:rajkosto/deps-postgresql.git into some out-of-tree directory.
	Set the environment variable POSTGRESQL_DIR to the directory PostgreSQL.props can be found in.
	As the libraries are precompiled for any possible supported Visual Studio toolchain, you don't compile them yourself.
	
You are now ready to open Source/Hive.sln in Visual Studio. The default projects are set to build using the 2012-xp toolset.
If you are using a different toolset, select all the projects in the solution, right click -> Properties, select "All Configurations" from the top-left combobox,
go to the General tab, and select the Platform Toolset you want. After that, click Apply or OK to close the Properties page.
From there, simply compile the Release configuration to get binaries that can be used in-game
The Debug configuration simply compiles an executable that runs some tests, and is not relevant here

Usage:

If you don't want to compile, you can download a prepackaged release for each released version from http://hive.rajko.info/ 
After successful compilation (or download of a prepackaged release), the Binaries folder should contain HiveExt.dll and DatabaseMySql.dll/DatabasePostgre.dll
DatabaseMySql.dll/DatabasePostgre.dll should be placed in the root directory of your game installation
If you don't have the TBB library installed to global system paths, those dlls should also be copied to the same dir as DatabaseMySql.dll/DatabasePostgre.dll
HiveExt.dll needs to go inside the currently used hive mod folder (usually @hive under the root dir)
While your customised copy of HiveExt.ini goes into your profile folder (server profile, like cfgdayz, next to the .RPT files)
For a description of available HiveExt.ini options, consult that file itself, where the descriptions are marked as comments

If you are going to run your own database server to connect to, look inside the SQL folder for the scripts that you need to execute on your database
the x_tables.sql files will create the tables, while the obj_sample_data.sql has the default spawn order for vehicles in it (make sure to change the instance id)
If you are already running some similar db layout, MAKE SURE to read the ENTIRETY of HiveExt.ini (especially the one about the Objects table name, and the PlayerID column)
to be certain that the parameters inside match what you are currently running as the database.

Final:

This project was started as a better alternative to the "official" Hive access library for DayZ,
however, since my request for making it the official Hive access dll was denied (at the time),
and that the most popular usage of it was running "private" or "local" servers for the game, 
I have removed all the restrictions and certificate systems that were in place, so that it can connect to any server you want.

Recently, after the founding of the DayZMod community that currently maintains DayZMod, this project DID become the official Hive access library.
Just compiling the source code isn't enough to connect to the public hive database though, for that, use the libraries distributed with the official server files themselves
Or, download a "blessed" version from http://hive.rajko.info/ (blessed version is identical to the open source one, except that it can connect to the public hive by default)
You can (and it's preferred) to use the precompiled "blessed" version for connecting to your private hive as well, to save you from having to compile it yourself.

Hive access library by Rajko Stojadinovic (https://github.com/rajkosto)
If you would be so kind, and are satisfied with what this thing does, maybe send a donation my way to payment@rajko.info

Good luck with your DayZ hosting !

About

dayz hive access dll

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published