Skip to content

Instantly share code, notes, and snippets.

View mrserverless's full-sized avatar
🌆
Building a Metaverse

Yun Zhi Lin mrserverless

🌆
Building a Metaverse
View GitHub Profile
@mrserverless
mrserverless / .gitattributes
Last active January 9, 2023 00:44
Unreal Git Ignore and GitAttribute
# Unreal Engine file types.
*.uasset filter=lfs diff=lfs merge=lfs -text
*.umap filter=lfs diff=lfs merge=lfs -text
*.locres filter=lfs diff=lfs merge=lfs -text
*.locmeta filter=lfs diff=lfs merge=lfs -text
# Raw Content file types.
*.fbx filter=lfs diff=lfs merge=lfs -text
*.3ds filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
@mrserverless
mrserverless / README.md
Created December 30, 2021 12:54 — forked from zhiguangwang/README.md
Building Unreal Engine Game Client and Dedicated Server on Linux.

Building Unreal Engine Game Client and Dedicated Server on Linux

Because the build tools of UE4 works across platforms (Windows, Mac OS, Linux), steps in this article can be applied to Mac OS and Windows as well.

On Windows, You need to replace RunUAT.sh with RunUAT.bat though.

Prerequisites

First, get Unreal Engine 4 sourcecode and export the following environment variables:

@mrserverless
mrserverless / bucket_template.yml
Created November 24, 2018 10:06
Adding Lambda S3 Event Trigger from separate CloudFormation template
Resources:
OriginalBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub ${Realm}-{Env}-original-bucket
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: AES256
NotificationConfiguration:
@mrserverless
mrserverless / apigw_template.yml
Last active November 24, 2018 10:07
API Gateway ResourcePolicy
Resources:
MyAPI:
Type: AWS::Serverless::Api
Properties:
StageName: dev
DefinitionBody:
swagger: 2.0
info:
title: !Ref AWS::StackName
x-amazon-apigateway-policy:
@mrserverless
mrserverless / artillery-multi-scenario.yml
Last active September 26, 2018 16:10
Artillery Hack to run multiple scenarios
scenarios:
- name "multi scenario hack"
flow:
- get:
url: "/server1:1234/test"
- get:
url: "/server2:4567/test2"
@mrserverless
mrserverless / make_assumeRole.sh
Last active November 1, 2018 08:18
make assumeRole
_assumeRole:
ifndef AWS_SESSION_TOKEN
$(eval ROLE = "$(shell aws sts assume-role --role-arn "$(TF_VAR_provider_role)" --role-session-name "terraform-assume-role" --query "Credentials.[AccessKeyId, SecretAccessKey, SessionToken]" --output text)")
$(eval export AWS_ACCESS_KEY_ID = $(shell echo $(ROLE) | cut -f1))
$(eval export AWS_SECRET_ACCESS_KEY = $(shell echo $(ROLE) | cut -f2))
$(eval export AWS_SESSION_TOKEN = $(shell echo $(ROLE) | cut -f3))
endif
# api.txt is a list of API urls
for api in `cat apis.txt`
do
echo “testing $api”
artillery quick — duration 3600 — rate 10 — num 1 $api &
done
package main
import (
"context"
"github.com/aws/aws-lambda-go/events"
"github.com/aws/aws-lambda-go/lambda"
)
func Handler(ctx context.Context, request *events.APIGatewayProxyRequest) (*events.APIGatewayProxyResponse, error) {
@mrserverless
mrserverless / Handler.fs
Created March 4, 2018 09:54
Performance benchmarks
namespace AwsDotnetFsharp
open Amazon.Lambda.Core
[<assembly:LambdaSerializer(typeof<Amazon.Lambda.Serialization.Json.JsonSerializer>)>]
do ()
module Handler =
type Response = { statusCode : int; body : string }
@mrserverless
mrserverless / Handler.cs
Last active March 4, 2018 09:52
Lambda Performance Benchmarks
using System;
namespace AwsDotnetCsharp
{
public class Handler
{
public Response Hello(Request request)
{
return new Response {
statusCode = 200,