Skip to content

Instantly share code, notes, and snippets.

*filter
:OUTPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:UDP - [0:0]
:INPUT DROP [0:0]
:TCP - [0:0]
:ICMP - [0:0]
# Acceptable TCP traffic
-A TCP -p tcp --dport 22 -j ACCEPT
-A TCP -p tcp --dport 10000 -j ACCEPT
@der-hugo
der-hugo / update
Created November 10, 2017 10:21
Script for automated Ubuntu apt updates
#!/bin/bash
#########################
## returns:
# 0 - success
# 1 - success : Requires reboot
# 2 - updated failed
# 3 - upgrade failed
# 4 - dist-upgrade failed
# 5 - autoremove failed
@der-hugo
der-hugo / InstallSheepitAsAService.sh
Created June 27, 2019 14:25
Run Sheepit-Client as a Linux Service
#!/bin/bash
###############################################################
# This Script creates a service and a dedicated user #
# for running sheepit-client (www.sheepit.com) on a headless #
# Linux-Server #
# #
# Author of this script is: [email protected] #
###############################################################
###############################################################
@der-hugo
der-hugo / Triangle2D.cs
Created March 10, 2021 11:04
Are two 2D triangles intersecting in Unity? Refactored version of https://www.habrador.com/tutorials/math/6-triangle-triangle-intersection
using System;
using UnityEngine;
/// <summary>
/// To store triangle data to get cleaner code
/// </summary>
[Serializable]
public struct Triangle2D
{
@der-hugo
der-hugo / EnumMap.cs
Last active June 29, 2022 07:31
A modified version of SerializedDictionary (https://github.com/azixMcAze/Unity-SerializableDictionary) that has one KeyValuePair for each given enum value
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace DerHugo
{
#if UNITY_EDITOR
/// <summary>
/// Non generic base class for <see cref="EnumMap{TKey,TValue}"/> for drawers
@der-hugo
der-hugo / AnimatorTriggerResetter
Created March 18, 2022 10:06
Reset all triggers of an Aniamtor -> attach this to the Basic Layer in order to automatically apply it to all states
using UnityEngine;
public class AnimatorTriggerResetter : StateMachineBehaviour
{
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
foreach(var p in animator.parameters)
{
if (p.type == AnimatorControllerParameterType.Trigger)
{
@der-hugo
der-hugo / AutoSaver.cs
Created March 21, 2022 08:59
Enables auto-saving in Unity
/// <summary>
/// Editor tools for auto-saving
/// </summary>
public static class AutoSaving
{
private const string k_MenuName = "Examples/Auto-Save/";
private static class IntervalAutoSaving
{
/// <summary>
@der-hugo
der-hugo / AnimatorRenameDialogue.cs
Last active November 4, 2024 10:27
Allows safe renaming of objects nested under / animated by an Animator without breaking the AnimationClips
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEngine;
using Object = UnityEngine.Object;
/// <summary>
/// Dialogue that allows to rename objects in the Hierarchy of an <see cref="Animator"/> without breaking the AnimationClip bindings
/// </summary>
@der-hugo
der-hugo / Example.cs
Last active October 29, 2024 10:02
Unity Inspector dropdown for a single layer (as contrary to the LayerMask)
using UnityEngine;
namespace derHugo
{
public class Example : MonoBehaviour
{
public LayerMask multiLayers;
public Layer singleLayer;
}
}
@der-hugo
der-hugo / BenchmarkTools.cs
Created October 29, 2024 09:48
Tool for measuring performance and memory impact of methods
using System;
using System.Diagnostics;
using System.Runtime;
using System.Runtime.CompilerServices;
namespace derHugo
{
public static class BenchmarkTools
{
private static readonly object _lock = new();