Building PSUnreal on Windows: Difference between revisions

From PSwiki
Jump to navigation Jump to search
No edit summary
Line 37: Line 37:
* It will install it in : \Program Files\MariaDB\MariaDB Connector C 64-bit
* It will install it in : \Program Files\MariaDB\MariaDB Connector C 64-bit
* From the MariaDB install directory, copy both lib/ and include/ (with subfolders) into PSUnreal\ThirdParty\MariaDB\
* From the MariaDB install directory, copy both lib/ and include/ (with subfolders) into PSUnreal\ThirdParty\MariaDB\
Compile Wordnet
* Open PSUnreal\ThirdParty\Wordnet\Wordnet.sln with Visual Studio
* Click on Compile
* Copy this file: PSUnreal\ThirdParty\Wordnet\x64\Debug\Wordnet.lib in PSUnreal\ThirdParty\Wordnet\lib\x64\Wordnet.lib


In this mode you will use the Editor to run/debug the game
In this mode you will use the Editor to run/debug the game

Revision as of 12:13, 24 May 2020

Reference docs

Check this page as reference: https://wiki.unrealengine.com/Dedicated_Server_Guide_%28Windows_%26_Linux%29

There are two ways to compile and run your project:

* Compiling the editor and then running/debugging the game within the editor. Please note VS breakpoints will work also in this mode. THIS IS THE ONE WE USE AS DEFAULT.
* Compiling the client without editor, and you will then need cooked content (prepared art files). All non-editor builds require cooked content, however, you can run an editor build with the "-game" command line flag to run the game directly using the editor data; please note however that this will be slower than a cooked build as the editor is essentially processing assets on the fly.

Compiling Unreal Engine

A reasonably simple guide: http://www.hybridsyntax.com/en/blog/building-unreal-engine-4-on-windows.html

High level steps:

  • Step 1: Register an account at UnrealEngine and GitHub
  • Step 2: Add your GitHub username to in your UnrealEngine profile under your dashboard
  • Step 3: Download the source code from UE4 Repo
  • Step 4: Install Visual Studio 2017, follow these instructions to get the right components in your Visual Studio
  • Step 5: Run Setup.bat to download and install the prerequisites
  • Step 6: Run GenerateProjectFiles.bat to make project files
    • if it complains about windows 8.1 sdk, just install it from here
    • If you get the error "The reference assemblies for framework ".NETFramework,Version=v4.6.2" were not found." just install it from here
  • Step 7: If you dont have it yet, you need to make an account to login to Visual Studio.
  • Step 8: Launch Visual Studio, open UE4.sln and Build Unreal Engine 4 with Development Editor configuration and Win64 Platform
  • Step 9: Copy F:\UnrealEngine\Engine\Source\ThirdParty\zlib\v1.2.8\lib\Win64\VS2015\zlib.dll to F:\Unreal Projects\MyProject2\PSUnreal\Binaries\Win64
  • Step 10: Run the UE4Editor.exe from Engine\Binaries\Win64\ subdirectory

Compiling PSUnreal and running the game from the editor

You need to install MariaDB Connector from: https://mariadb.com/downloads/#connectors

  • Select C connector , version 3.1.8GA and MS Windows (64-bit) as platform
  • It will install it in : \Program Files\MariaDB\MariaDB Connector C 64-bit
  • From the MariaDB install directory, copy both lib/ and include/ (with subfolders) into PSUnreal\ThirdParty\MariaDB\

Compile Wordnet

  • Open PSUnreal\ThirdParty\Wordnet\Wordnet.sln with Visual Studio
  • Click on Compile
  • Copy this file: PSUnreal\ThirdParty\Wordnet\x64\Debug\Wordnet.lib in PSUnreal\ThirdParty\Wordnet\lib\x64\Wordnet.lib

In this mode you will use the Editor to run/debug the game

  • Generate project files, by right clicking on PSUnreal.uproject and "Generate Visual Studio project files"
  • Open Visual Studio 2017
  • Open PSUnreal.sln
  • Select "PSUnreal" project from the left tree view and "DebugGame Editor" as configuration from the top dropdown
  • NOTE: DebugGame configuration builds the engine as optimized, but leaves the game code debuggable. This configuration is ideal for debugging only game modules.
  • Compile

There are different ways to launch the client in debug mode:

1)

  • Select the DebugGameEditor configuration
  • From VS properties on PSUnreal add command line -debug -game
  • It will launch directly without going through the editor

2)

  • Select the DebugGameEditor configuration
  • From VS properties on PSUnreal remove -game from command line
  • It will launch the Editor, then you press "Play" in the editor. The breakpoints placed in VS are working as expected.

Checking default map

In your project directory there is a DefaultEngine.ini which tells the client and server which map to load as default in particular:

 GameDefaultMap=/Game/ThirdPerson/Maps/MainMenu
 ServerDefaultMap=/Game/ThirdPerson/Maps/MainMenu


Launching the server

  • Install mysql server and launch it
  • Create the PlaneShift database
 > mysql -u username -ppassword
  • IF you get 'mysql' is not recognized command, means windows cannot find it. Do the following
    • press start, type "advanced setting", the click on "View advanced system settings"
    • Click on "Environment Variables" at the bottom
    • Click on PATH line, end "Edit".
    • Then click on "New" to add a new element in the PATH variable
    • Copy paste the directory where your mysql.exe is , for me is "F:\Develop\MySQL\MySQL Server 5.5\bin"
    • Click on OK on both windows to apply
    • open A NEW command prompt, now it will work

The default username is root with no password.

Then from within mysql:

 mysql> create database planeshift;
 mysql> GRANT ALL PRIVILEGES ON planeshift.* TO planeshift@localhost IDENTIFIED BY 'planeshift';
 mysql> quit
 > cd PSUnreal\Scripts
 > mysql -u planeshift -pplaneshift
 mysql> use planeshift;
 mysql> source psunreal_mysql_20200401.sql;
 mysql> quit
  • To test if you can connect to your database install: https://dbeaver.io/
  • Provide the connect information : locahost , port 3306, you should see the planeshift schema with a set of tables.

If you want to launch from VS:

  • Select the "DebugGame Editor" configuration (if you select Development Editor then the Editor will start instead of the server)
  • From VS properties on PSUnreal , select "Debugging" and then add this in the command line: -server -log
  • The resulting property will be like: "$(SolutionDir)$(ProjectName).uproject" -server -log
  • It will launch directly without going through the editor

If you want to launch with bat file, use PSUnreal\Scripts\server.bat (you may need to adapt the path to your installation)

Updating your database

From time to time a new database is posted under \Scripts, example: psunreal_mysql_20200401.sql

To update your database you need to:

 > cd PSUnreal\Scripts
 > mysql -u root -p
 
 mysql> drop database planeshift;
 mysql> create database planeshift;
 mysql> GRANT ALL PRIVILEGES ON planeshift.* TO planeshift@localhost IDENTIFIED BY 'planeshift';
 mysql> quit
 > mysql -u planeshift -pplaneshift
 mysql> use planeshift;
 mysql> source psunreal_mysql_20200401.sql;
 mysql> quit