Gala Games (GALA) is a blockchain-based, play-to-earn gaming platform that enables users to earn its GALA token for achieving in-game milestones. They can also create and trade NFTs in the game or non-game-based exchanges. This tool helps GALA community users to compare NFTs’ prices and ROI, and purchase them quickly.
Gala Games(GALA) Nodes Monitor
The decentralized Game Games ecosystem is supported by community users who operate Gama
Nodes. They successfully launched Music Nodes in Feb, 2022.
https://app.gala.games/nodes/ecosystem
https://music.gala.world/nodes
The numbers of Gala and Music nodes are over 70,000. This tool is to operate and manage multiple Gala Games(GALA) nodes including Founders, TownStar and Music nodes for 24/7.
Steam Inventory Service Plugin
Buy Steam Inventory Plugin
Fully integrated Steam Inventory Service except for trading, promotion. It comes with SteamItem Converter which generates item definitions in json. Preparing document at this moment.
Features (https://partner.steamgames.com/doc/api/ISteamInventory)
ConsumeItem : Consumes items from a user’s inventory. If the quantity of the given item goes to zero, it is permanently removed.
ExchangeItem : Grant one item in exchange for a set of other items.
GenerateItem : Grants specific items to the current user.
GetAllItems : Start retrieving all items in the current users inventory.
GetItemDefinitionIDs : Returns the set of all item definition IDs which are defined in the App Admin panel of the Steamworks website.
GetItemDefinitionProperty : Gets a string property from the specified item definition.
GrantPromoItems : Grant all potential one-time promotional items to the current user.
LoadItemDefinitions : Triggers an asynchronous load and refresh of item definitions.
TransferItemQuantity : Transfer items between stacks within a user’s inventory.
TriggerItemDrop : Trigger an item drop if the user has played a long enough period of time.
WIP
TradeItem, Promotion
Engine Compatibility
Sample Project is based on 4.16. Plugin supports 4.11 – 4.17.
Generate Item
Craft & Recipe
Transfer Item Quantity
Iteam details
Libro Office document (Plugins\SteamInventory\Tool\SteamItemCoverter.ods)
manage steam item and generate definitions in json.
Integrate Amazon GameLift from 4.15
Buy GameLiftSample
GameLift GameSessions Demo
GameLift FlexMatch Demo
Features
Supported Amazon Linux 16/12/ 2018
Supported UE4 4.25 07/05/ 2020
Supported UE4 4.24 11/12/ 2019
Supported UE4 4.23 06/09/ 2019
Supported UE4 4.22 04/04/ 2019
Supported UE4 4.21 09/11/ 2018
Added new features UE4 4.20 01/11/ 2018
GameProperty
https://docs.aws.amazon.com/gamelift/latest/apireference/API_GameProperty.html
- It needs GameMode and MapName properties to travel. Maxplayers will be Max count which is gamelift player session count.
- You can add more gameproperies and retrieve them by OnStartGameSession delegate.
Dedicated server settings for autoscale
- GameLift is checking health in every 60 seconds. Dedicated server shut down itself if it doesn’t get health check for MaxHealthCheckTime. Default value is 180 seconds.
- Dedicated server shut down itself if it has no player for MaxEmptyServerTime.Default value is 180 sec.
MatchMakingTicket for Flex match
- StartMatchMaking
- DescribeMatchMaking
- AcceptMatch
Amazon GameLift Archtecture
https://aws.amazon.com/blogs/aws/launch-amazon-gamelift-now-supports-all-c-and-c-game-engines/
Amazon GameLift and Game Client/Server Interactions
http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-interactions.html
https://aws.amazon.com/blogs/gamedev/category/gamelift/
Set Up the Unreal Engine Server SDK Plugin
http://docs.aws.amazon.com/gamelift/latest/developerguide/integration-engines-setup-unreal.html
In Windows do the following:
mkdir out
cd out
cmake -G "Visual Studio 14 2015 Win64" -DBUILD_FOR_UNREAL=1 ..
msbuild ALL_BUILD.vcxproj /p:Configuration=Release
The following binary files are generated:
- out\prefix\bin\aws-cpp-sdk-gamelift-server.dll
- out\prefix\lib\aws-cpp-sdk-gamelift-server.lib
Add Amazon GameLift to an Unreal Engine Game Server Project
http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html
http://docs.aws.amazon.com/gamelift/latest/developerguide/integration-engines-setup-unreal.html
#include "GameLiftServerSDK.h"
AGameLiftFPSGameMode::AGameLiftFPSGameMode()
: Super()
{
...
//This game server tells GameLift that it listens on port 7777 for incoming player connections.
FString Port = "7777";
// Allow the command line to override the default port
if (FParse::Value(FCommandLine::Get(), TEXT("Port="), Port) == false)
{
Port = GConfig->GetStr(TEXT("URL"), TEXT("Port"), GEngineIni);
}
params->port = FCString::Atoi(*Port);
...
}
Packaging and Uploading Server Build
http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-aws-cli-installing.html
Add Amazon GameLift to Your Game Client
http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html
Advanced Cloaking – Blueprint Only
Description
AdvanceCloaking is a simple component to make you easy to implement cloaking any actor. There are 3 cloaking exposed type. Gun fire, damage, equip. You just call a member function where you want to expose it. It is focused on actually gameplay.
Features
Cloaking/Uncloaking at any state
Damage, fire, equip exposed types
Support for Skeletal, Static, Text render mesh components including childs
Configurations
PlaySound : Setting for playing cloaking/exposed sounds.
ManualMaterial : if it is true, CloakingCompoenent won’t create dynamic material instance from onwer. Instead of it, you may add it by calling AddManaulMaterial.
DestroyCloakingOver : the parent actor will be destroyed when cloaking is over.
DamageReceivedDissolve : delta value to expose cloaking when player continue to get damage.
FiredDissolve : delta value to expose cloaking when player continue to fire weapon.
EquipDissolve : delta value to expose cloaking when player continue to change equipments.
MaxRefraction : refraction time
MaxDissolve : cloaking time
CloakingSound : when cloaking is started, this sound is played.
ExposedSound : when cloaking is exposed, this sound is played.
Tutorial
https://forums.unrealengine.com/showthread.php?130561-WIP-AdvancedCloaking-Blueprint-Only
Advanced Steam Plugin
Available on Marketplace
https://www.unrealengine.com/marketplace/advancedsteam-plugin
Description
AdvancedSteam is Code plugin to make you easy to implement steamstats and leaderboard, achievement on blueprint. Of course, you can use it in C++. It expands OnlineSubSystemSteam. It fixed some bugs. If you combine Steam stat with leaderboard, achievement, you can create dynamic tables with float and integer stat. You can set/get multiple stats at once. It’s fully working as asynchronous tasks.
Steam leaderboard, User Generated Content attach and stats demo
User Generated Content(UE4 replay files) attach
Steam Achievement demo
Features
Steam Leaderboard
- Read Leaderboard Integer
- Write Leaderboard Integer
- Retrieve Leaderboard
Steam Stats
- Read Stats
- Set team Stat
- Increase Stat
Steam Achievements
- Read Achievements
- Get Achievement Icon
- Get Cached Achievement
- Set Progress
- Unlock Achievement
- Clear Achievement
- Get AvatarIcon
Steam Cloud
- Write Cloud
- Read Cloud
Engine Compatibility
4.10 – 4.15
Intended Platform : Window, Mac
Platforms Tested : Window, Mac
Manual
Steam Leaderboard and stat manual : https://goo.gl/Ia0Cnl
Steam Achievement manual : https://goo.gl/0TCxYQ
https://forums.unrealengine.com/showthread.php?136370-WIP-AdvancedSteam-Plugin-Blueprint-support
GameSparks Tunneling NetDriver Plugin
Description
UDP Tunneling through GameSparks Realtime match. It makes you easy to replicate actors as you usually do in UE4 Editor.
Gif converter & Twitter Plugin
Description
Twitter allows to upload Gif upto 5MB. It converts UTextureRenderTarget2D to a frame of Gif upto 5MB, 256 colors and has oauth and update status features for twitter.
Simple UPNP Plugin
Description
Simple UPNP Plugin is code plugin to make you easy to add and delete UDP/TCP port mapping on network devices which are compatible with UPNP Protocal (https://en.wikipedia.org/wiki/Universal_Plug_and_Play). It allows your game to use P2P under NAT. It’s based on WANIPConnection:1 Service Template Version 1.01 (http://upnp.org/specs/gw/UPnP-gw-WANIPConnection-v1-Service.pdf). It uses SocketSubsystem and HttpModule in UE4 and exposes necessary fuctions in blueprint. It doesn’t use any third party library.
How to setup UPNP Plugin
Enable Simple UPNP
Simple UPNP Plugin sends discover messages to local network devices. You can setup the timeout in DefaultGame.ini. Default value is 5 seconds.
[UPNPPlugin]
RequestTimout=5.0
It doens’t use any third party library.
Data Structure
- UPNPDeviceInfo holds information of discovered network devices.
- Macufacture holds manufacturer information of network device.
- Device Status Info holds status information of network device.
- Common Link Properties
- Device List Array holds Device Info
- Location is used to add and remove port mapping.
- Simple UPNP Info
- Holds port mapping information
- Error Codes
UPNP Blueprint Call Proxy
- GetPortMappingList : Get port mapping list from network device
- Refresh : If true, it refreshes from discovering network devices. If false, it refreshes only port mapping list. It will be faster to get port mapping list after adding and removing ports,
- Allow Retry : Defaut timeout is 5 seconds upto 5 times. If you don’t check Allow Retry, it will return immediately when it’s timeout or fails. Moreover, if there are multiple network devices in your network, you can control whether it sends to request information to the next device or not.
- Only Search Devices : If true, it updated IGDDatas and skip to get port mapping lists.
- Location : Network device’s location. If it’s empty, it uses the current network device. You can get network device lists from Device List Array in UPNPDeviceInfo structure.
- Port List : Array of Simple UPNP Info
- Error Code : Return error code when it fails.
- AddPortMapping
- SimpeUPNPInfo holds port mapping information to add
- Protocol : TCP or UDP. Defualut UE4 game port is UDP 7777. If you use steamworks, default query port is UDP 7778 (=Gameport + 1).
- External/Internal Port : I recommand to use the same ports. If not, you need own logic in match making.
- In Address : Local IP address to add. You can get your local ip address from Device Status Info structure.
- SimpeUPNPInfo holds port mapping information to add
- DeletePortMapping
- SimpeUPNPInfo holds port mapping information to remove
- Protocol : TCP or UDP
- External Port : Only needs Protocal and External Port when it removes port mapping.
- PerformAllDevices
- Perform action to all network device. It discovers local network devices and send action request.
- SimpeUPNPInfo holds port mapping information to add or remove port
- Action : ADD_Port or DELETE_Port
UPNP Blueprint Libarary
- Get Device Info
- Return UPNPDeviceInfo structure
- Get UPNP State
- Return the current state. If it’s not idle, please don’t call any function. Anyway it’s checking the current state inside plugin.
- Get Current Port Mapping List
- Return port mapping lists. It doesn’t request new port mapping list to network device.
UPNP Plugin demo
Here are sample binaries on windows. https://github.com/woodsshin/UPNPSample
Manufacturer
Device Status
Port Mapping