Balancing Karma rewards to be meaningful

I have a shadowrun 5e group that sadly only comes together once or twice a month. In that group we focus most of our time on the roleplaying aspect of the game, rather than advancing the run itself. This leads to up to 3 months until a official run (just as a reference) is completed.

Those runs reward about 6-9 Karma per PC if they have fulfilled every optional goal as well. In addition to that we like to pass up to 50% of the default values as RP-Karma as a reward for very well played scenes, leaving a runner with an average of maybe ~9 Karma in 3 months => ~3 Karma per month.

Considering that for example Strength 4 to 5 costs 20 Karma we are looking at over half a year of charakter play and about 9 play sessions just to raise one attribute.

Is this supposed to be so awfully slow or are the rewards calculated for groups who rush through 2 or 3 runs in one evening (I heard those exist).

I am trying to just multiply every Karma gained by 4 or 5, but still this feels kinda slugish in comparison with other systems.

How do you balance your character progression?

Need help balancing home-brew spells/abilities

So i’m looking at adding some home-brew spells and abilities to my game but i’m not 100% on what level they begin showing up, and what kind of saves to make these. Currently i have a list of spells/abilities that specifically make casters much weaker and a list of spells/abilities that make physical damage dealers much weaker.

For casters i’m looking at a list that burns enemy spell slots. Basically roll 2 dice:

Roll first dice to determine at what level character begins losing spell slots, If roll is higher then target’s highest active spell slot add +1 per difference to next roll.

Roll second dice, target losses spells equal to this number from highest active spell slots in descending order.

(Character may choose to burn a higher level spell slots to account for double the next lowest spell slot. EX: 5th level spell slot = two 4th level spell slots; 6th level spell slot= four 4th level spell slots)

The list for physical damage dealers causes players to roll with dice below their stated value. EX: If target would roll with D6’s for damage, instead they roll with D4’s

If this effect would cause target to roll below a D4, those dice are negated. If all dice are negated in this way, character does no do bonus modifier damage.

Time complexity for balancing an unbalanced binary tree

The question here is that: There is an unbalanced binary tree with n-nodes. What is the time complexity to balance the tree?

The solution I thought of involved solving using Recursion where for the worst-case I took a maximally unbalanced tree like this

enter image description here

And then try to balance this using rotations.

But I cannot come up with an expression which will give O(log(n)) time complexity.

Can I get some help in solving this? I am stuck on how to approach this problem.

Is there a balancing issue giving a Wizard a wand capable of casting Illusory Script once per day?

Wizard expressed a desire for a magical wand that could cast the ritual spell Illusory Script without burning a spell slot/ritual slot. I though about giving a wand that can cast the spell once per day. Seems relatively fair for a magical item but not sure if there are any balance implications.

Need help balancing my Homebrew Class (based off Drivers from Xenoblade Chronicles 2) [for 5e] [on hold]

I have been using this class in a campaign and recently and the members of the group have said the Class needs some Balancing, because it is too versatile. Which, I will admit it is pretty versatile, but that is the way the drivers are in Xenoblade 2. So, I am trying to balance the the features with out removing the core of what makes the Class a Driver. (Somethings to note, this Class only allows for the Driver to have one Blade. I renamed the Game’s terminology of the Blade Special to Blade Arts. I did not build the Class with cooldown or charge times since that can severely limit the Class performance and make things confusing in D&D and I did not use an affinity mechanics, because of how long it can take to build. Plus it would make for a nightmare for the Player and the DM to constantly keep track of.)

I have revised it a bit of help with it from someone from Reddit who was very very good with balancing, but I was hoping to get some more eyes to review it and give me some feed back.

If you have played (Xenoblade Chronicles 2) I would greatly appreciate your help. Even if you haven’t I would appreciate the help.

Here is the Link to the PDF of the Class I have uploaded to my google drive. {https://drive.google.com/file/d/1-bETBqrh_LapNNwJwjTi98Nc0BeqzVbu/view?usp=sharing} I am sorry I am not allowing Downloads or editing, I’ve had some try to steal my ideas before I even had a chance to finish working on them before.

Driver (From Xenoblade Chronicles 2) 5e Class

Warriors of the World of Alrest:

Drivers are people who have been able to access a Core Crystal (can be a technological device or a Magical Mineral Crystal) and awaken a Blade, an artificial life-form filled to the brim with power and the ability to manifest unique weapons. After a Core Crystal has revealed a Blade, the two are bonded until death, becoming partners. The Driver serves as the output for the weapon’s power, while the Blade serves as the power’s source. The Blade itself is an independent being with complete sentience, as they have their own feelings and emotions.

About Blades:

They are weaponized life forms linked to a Driver who creates and summons them by resonating with a Core Crystal. Blades endow their Driver with powers and a weapon. Each Blade plays a different role, owning different stats and an elemental type, such as fire, water (poison), light (radiant), etc. and providing a distinct set of Blade Arts and support abilities depending on its weapon. (This is more for flavor in the game how the attack is done does not change the effect.)

Your Blade can be any gender and race that you can make your Drive character or it can be a Small to Medium sized animal. You can choose all traits of your Blade yourself or you can leave it up to chance for your Blade’s gender. If you want to leave it up to chance you can roll a d6 three times if you get an even number most often it is Female or an odd number most often it is Male. Blades don’t have health they are able to regenerate any part of their body that is injured as long as their Driver is Alive. So, a Blade cannot be killed only restrained or forced unconscious. Blades still need to sleep just like most other creatures with a minimum amount of time being 6 hours. The exhaustion rules apply to blades too, but when they reach the sixth level, they are just incapacitated for two days they don’t die. If a Blade’s Driver Dies, they return to their Core Crystal and lose all their memories. The Blade has the same Ability Scores as it’s Driver, and is immune to being Blinded, Deafened, Petrified, Magical Sleep, and Charmed (Only Loyal to their Driver). During Battle a Blade is able to share the same space as their Driver if he or she desires. Blades do not get their own action, bonus action or reaction, their power is used, but only when the Drive commands and uses their own action, bonus action or reaction to do so. Drivers cannot use Shields while wielding Blade Weapons.

Creating a Driver:

To create a Driver, you can ask yourself these questions. How did you become a driver in the first place? What made you decide to become a driver, or was it forced? What will you use your Blade’s power for? What is your relationship with your Blade?

Quick Build:

You can make a Driver quickly by following these suggestions. First, Strength or Dexterity should be your highest ability score, you can choose this after you know what type of Blade Weapon you are going to have. Your Charisma should be your second highest ability score though if you are taking the Healer Archetype you might want to consider making it the highest. Second, choose the Soldier, Sage or Far Traveler background. A Half-Elf, Drow, Tabaxi, Kalashtar, Human Variant and Tiefling are good race choices for a Driver.

In case you need some reference material on Drivers

If you have never Played Xenoblade Chronicles 2 here are a few links to the Xenoblade fandom site if you want to look for more information.

https://xenoblade.fandom.com/wiki/Driver

https://xenoblade.fandom.com/wiki/Battle_Arts_(XC2)#Driver_Arts

https://xenoblade.fandom.com/wiki/Battle_Arts_(XC2)#Driver_Arts

Correctly configuring load balancing for TLS session resumption

Consider the following network topology:

Load balancer topology

  1. There are exactly two HTTPS servers, S1 and S2.
  2. There are exactly two HTTPS clients, C1 and C2. Notice this, as there are often many more clients for two servers. But in this case, there are only two clients. (You may ask why? Because C1 and C2 are also servers, serving many clients while being served by S1 and S2 as well.)
  3. There is a load balancer between the clients and server, LB. Here, LB performs load balancing in a round-robin fashion at transport layer (TCP). Therefore, LB does not perform SSL-offloading or anything related to application layer.
  4. The clients request something like https://example.com. The DNS resolves example.com to the IP address of LB, which in turn forwards the packet to either S1 or S2.
  5. LB is configured to route packets in one TCP session (same src port, src address, dest port, dest address) to either S1 or S2, not both. Therefore, S1 and S2 need not be aware of the session information on the other server.
  6. For performance reasons, S1 and S2 can be configured to use TLS session resumption based on either session IDs or session tickets.

The following scenario shows the problem:

  1. C1 connects to https://example.com, and LB sends its traffic to S1. A TLS session is established (full handshake), with sessionID = 123456. After a while, C1 closes the connection.
  2. Some time passes, and C1 connects to https://example.com again. This time, LB sends its traffic to S2. C1 offers to use sessionID = 123456, but S2 does not know this sessionID. So, S2 asks to set sessionID to something different, say sessionID = 789abc (full handshake). After a while, C1 closes the connection.
  3. Some time passes, and C1 connects to https://example.com yet another time. This time, LB sends its traffic to S1, which does not know sessionID = 789abc. You get the idea: another full handshake occurs.

So, as a client goes back-and-forth between the servers, a full handshake occurs every time, and the performance is impacted.

What is the correct way to handle this scenario, so that the clients do not perform a full handshake in every new connection?

PS: If I had many clients, I’d configure LB to stick one client to one server for some amount of time. However, since there are only two clients, that would impact performance as well.


Edit: The link I cited above explains this, which I don’t fully understand:

In practice, deploying session tickets across a set of load-balanced servers also requires some careful thinking and systems architecture: all servers must be initialized with the same session key, and an additional mechanism is required to periodically and securely rotate the shared key across all servers.

Best Seo Tips For Content Writing with Balancing Creativity and SEO

In the realm of search engine optimization (SEO), content is king. Be it website copy, blog posts or guest posting, content is an integral part of effective SEO. However, not all content you create brings glory to your business. Unique, high-quality content blended with creativity supports SEO efforts. Content Writing with Balancing Creativity and SEO

Load balancing with IPTabels not working

I have a Ubuntu server (19.04 / 5.0.0-15-generic) with three interfaces.

eth0: LAN  (192.168.10.253/24)   eth1: WAN1 (172.29.13.201/24, gateway .253)   eth2: WAN2 (172.29.14.201/24, gateway .253)   

When I run the following script at Debian (9.9 / 5.0.0-15-generic), the load-balancer is working. I get a 20/20+20/20= 40/40 connection.

However, when I this same script at Ubuntu. The load-balance is working, traffic is natted over eth1 and eth2. But the returning traffic never reach the client, I see the returned traffic in eth1 and eth2, but not in eth0.

I use the following script to set the iptables and the IP-Routes.

#!/bin/bash  echo 1 >| /proc/sys/net/ipv4/ip_forward echo 0 >| /proc/sys/net/ipv4/conf/all/rp_filter  #   flush all iptables entries iptables -t filter -F iptables -t filter -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -t filter -P INPUT ACCEPT iptables -t filter -P OUTPUT ACCEPT iptables -t filter -P FORWARD ACCEPT  # initialise chains that will do the work and log the packets iptables -t mangle -N CONNMARK1 iptables -t mangle -A CONNMARK1 -j MARK --set-mark 1 iptables -t mangle -A CONNMARK1 -j CONNMARK --save-mark iptables -t mangle -A CONNMARK1 -j LOG --log-prefix 'iptables-mark1: ' --log-level info  iptables -t mangle -N CONNMARK2 iptables -t mangle -A CONNMARK2 -j MARK --set-mark 2 iptables -t mangle -A CONNMARK2 -j CONNMARK --save-mark iptables -t mangle -A CONNMARK2 -j LOG --log-prefix 'iptables-mark2: ' --log-level info  iptables -t mangle -N RESTOREMARK iptables -t mangle -A RESTOREMARK -j CONNMARK --restore-mark iptables -t mangle -A RESTOREMARK -j LOG --log-prefix 'restore-mark: ' --log-level info  iptables -t nat -N SNAT1 iptables -t nat -A SNAT1 -j LOG --log-prefix 'snat-to-172.29.13.201: ' --log-level info iptables -t nat -A SNAT1 -j SNAT --to-source 172.29.13.201  iptables -t nat -N SNAT2 iptables -t nat -A SNAT2 -j LOG --log-prefix 'snat-to-172.29.14.201: ' --log-level info iptables -t nat -A SNAT2 -j SNAT --to-source 172.29.14.201  #   iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE # iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE   # restore the fwmark on packets that belong to an existing connection iptables -t mangle -A PREROUTING -i eth0 \      -m state --state ESTABLISHED,RELATED -j RESTOREMARK   # if the mark is zero it means the packet does not belong to an existing connection iptables -t mangle -A PREROUTING -m state --state NEW \      -m statistic --mode nth --every 2 --packet 0 -j CONNMARK1 iptables -t mangle -A PREROUTING -m state --state NEW \      -m statistic --mode nth --every 2 --packet 1 -j CONNMARK2   iptables -t nat -A POSTROUTING -o eth1 -j SNAT1 iptables -t nat -A POSTROUTING -o eth2 -j SNAT2  if ! cat /etc/iproute2/rt_tables | grep -q '^51' then     echo '51     rt_link1' >> /etc/iproute2/rt_tables fi  if ! cat /etc/iproute2/rt_tables | grep -q '^52' then     echo '52     rt_link2' >> /etc/iproute2/rt_tables fi  ip route flush table rt_link1 2>/dev/null ip route add 172.29.13.0/24 dev eth1 src 172.29.13.201 table rt_link1 ip route add default via  172.29.13.253 table rt_link1 ip route flush table rt_link2 2>/dev/null ip route add 172.29.14.0/24 dev eth2 src 172.29.14.201 table rt_link2 ip route add default via 172.29.14.253 table rt_link2  ip rule del from all fwmark 0x1 lookup rt_link1 2>/dev/null ip rule del from all fwmark 0x2 lookup rt_link2 2>/dev/null ip rule del from all fwmark 0x2 2>/dev/null ip rule del from all fwmark 0x1 2>/dev/null  ip rule add fwmark 1 table rt_link1 ip rule add fwmark 2 table rt_link2   ip route flush cache  

traffic load balancing for openvpn

I want to make a openvpn tunnel that one client to multiple servers.

I found a way:

remote-random remote server1 remote server2 

However, this load balancing method of openvpn is to randomly select one from the server list each time the tunnel is connected. Once a server is selected, the tunnel will not change.

What I want is load balancing for traffic, such as the first http request sent through server1, and the second http request may be sent through server2. Is there any way to do this on openvpn?

Thanks.