MetadataServer - CodewareGames/UnrealGameSync GitHub Wiki
MetadataServer
UnrealGameSync can communicate with a web service to share information between team members. While it can run without this being set up, some of the more powerful collaboration features will not be available:
- Surfacing build results and providing desktop notifications for build breakages
- Allowing users to mark changes as good and bad, and indicate to other team members that they're investigating a problem with the build
- Showing which users are synced to which changes
Source: Epic Games Documentation
Database Setup
- Open MySQL WorkBench
- Click on file, Open MySql Script, navigate to this Github project on your computer, under MetadataServer you will see a Setup.sql file select and click on Open.
- Click on Execute.
- On the top bar click on Server->Users and Privileges
- Click on Add Account, and Fill in
Login Name
andPassword
- Click on the tab
Schema Privileges
and add an Entry for the schemaugs_db
- Under Object Rights Select the following options: SELECT, INSERT, UPDATE, DELETE, EXECUTE
- Click On Apply
Hosting On IIS (Recommended)
- Open the UnrealGameSync.sln solution
- Open
appsettings.json
- Set username and password in the
MySqlConnection
string that we created in Database Setup Step 5.
"ConnectionStrings": {
"MySqlConnection": "server=localhost;UserId=YourUserName;password=YourPassword;"
}
- Right-click on the project MetadataServer and click on Publish
- Select Folder as your Target, and click next
- You can change the folder location of where the files will be exported but that's up to you, click on Finish.
- Click on Edit Publish Profile (blue pen) behind Target Runtime, and set the following settings.
Deployment Mode: Framework-Dependent
Target Runtime: win-x64
- Click on Publish.
- Navigate to the directory you published the MetadataServer and Copy all files and folders.
- Navigate to
C:/inetpub
and create a foldersites
- Inside the folder
sites
create another folder called MetadataServer. - Paste all files and folders we copied from the published inside the MetadataServer.
- Open IIS (Internet Information Services) Manager. (If you don't have IIS installed, you can google how to enable it under windows features I won't cover that in this guide)
- Right-click on sites and press
Add Website
- Enter any name you want for the
Website Name
- Under
Physical Path
navigate toC:/inetpub/sites/MetadataServer
and press OK - Under Binding set the Port you would like to use.
- Leave IP Address to
All Unassigned
- Under
Host Name
typelocalhost
(This will only make it work locally, in order for it to work from the outside of the localhost change the IP Address fromAll Unassigned
to the IP Address of the PC you are running it from, and leaveHost Name
blank, MetadataServer is not made to be exposed to the public, you can, however, it's not recommended you should use a VPN to access the MetadataServer locally but I will not cover that here)
- Press OK
- Click on
Application Pools
and you will see the Website we just created.
- Right-click the Application Pool that was created for your website.
- Change the .Net CLR Version to
No Managed Code
- Press OK
- Navigate to
http://localhost:yourport/api/latest
in this example I would navigate tohttp://localhost:40303/api/latest
- You should see something like
{"lastEventId":0,"lastCommentId":0,"lastBuildId":0}
means everything is working.
Run Without IIS (Not Recommended)
- Open the UnrealGameSync.sln solution
- Open
appsettings.json
- Set username and password in the
MySqlConnection
string that we created in Database Setup Step 5.
"ConnectionStrings": {
"MySqlConnection": "server=localhost;UserId=YourUserName;password=YourPassword;"
}
- Right-click on the project MetadataServer and click on Build
- Navigate to
http://localhost:5000/api/latest
- You should see something like
{"lastEventId":0,"lastCommentId":0,"lastBuildId":0}
means everything is working.