- Popular Post
Roy
Content Type
Profiles
Articles
Updates
Projects
Twitch
Website Bugs/Suggestions
Guides
Newsletters
About GFL
Knowledge Base
Expenses/Hardware
Server Comparisons
Routing
Form Bugs
Community Representative Applications
Development Request
Forums
Events
Posts posted by Roy
-
-
HI GLITCH!
I've been keeping up with your Twitter regarding your Twitch channel and it seems you're making great progress
-
I don't think it'd work out in GMod because GMod's server browser sorts by game mode popularity and I don't believe GMod's DR game mode is popular at all sadly, but CS:GO and TF2 may have a chance. We had the #1 CS:S Deathrun server in the past, but CS:S is dead now
-
10 minutes ago, Ravioli Ravioli said:
C:\Users\User1>tracert goze.gflclan.com
Tracing route to goze.gflclan.com [216.52.148.47]
over a maximum of 30 hops:1 <1 ms <1 ms <1 ms gateway.home [192.168.254.254]
2 14 ms 9 ms 18 ms 32.214.60.2
3 * * 9 ms 32.223.0.194
4 11 ms 11 ms 11 ms 32.222.231.21
5 8 ms 11 ms 8 ms ae4---0.car01.wlfr.ct.frontiernet.net [74.40.71.93]
6 * * * Request timed out.
7 11 ms 14 ms 12 ms ae0---0.scr01.sccs.nj.frontiernet.net [74.40.3.234]
8 10 ms 12 ms 12 ms 12.127.149.21
9 13 ms 15 ms 14 ms 12.122.154.26
10 15 ms 15 ms 15 ms cr1.n54ny.ip.att.net [12.122.105.29]
11 14 ms 14 ms 11 ms cgr1.n54ny.ip.att.net [12.122.131.85]
12 11 ms 14 ms 12 ms 192.205.34.54
13 13 ms 15 ms 12 ms nyk-bb3-link.telia.net [62.115.115.0]
14 * * * Request timed out.
15 32 ms 32 ms 32 ms telia-2.e10.router2.chicago.nfoservers.com [64.74.97.253]
16 32 ms 34 ms 31 ms c-216-52-148-47.managed-ded.premium-chicago.nfoservers.com [216.52.148.47]Trace complete.
This is what came upI am currently having packet loss
You will need to run an MTR. A trace route only shows the latency of three ICMP request/responses at each hop and doesn't include packet loss.
-
7 minutes ago, Kazarov29 said:
I can normally play GFL even at 20 fps which has happened a lot. For client side i have been playing just fine as my laptop can play in the server just fine even at 64 players. The top var while fluctuating doesn't hinder my play that much it's the bottom i think that makes playing some time really hard
CS:GO Zombie Escape is a pretty hectic game mode, so it's pretty hard on the machine's resources (primarily CPU). At points in CS:GO ZE where it's intense (e.g. a lot of players are inside each other shooting zombies, hold points), the server experiences bad performance (<15 server FPS at times I'm sure). Unfortunately, there's nothing you can do about this.
We will be likely upgrading the server's hardware at some point in the future though. You can read more about this in the following thread under "NFO Machine Upgrade".
Unfortunately, I don't have any ETA on this since the situation is quite complicated (CS:GO ZE is on an older box of ours under a different hosting provider, NFOServers).
-
1 minute ago, Ravioli Ravioli said:
Its been random so far. Occuring in maybe 30 to 60 minute sessions but I leave the server at least a few times during. I have random times where it works normal as well.
Hm, I'd recommend running an MTR against the CS:GO ZE IP and leave it running until you notice packet loss in-game. Afterwards, you can PM me the results and I'll take a look further.
The guide I linked should help show you how to run an MTR using WinMTR.
-
There's a chance you're using a sub-optimal route to the CS:GO Zombie Escape server.
How often does this packet loss occur?
The next step I'd suggest is running an MTR towards the CS:GO ZE IP. I made the following thread using CS:GO ZE as an example and would suggest giving it a read.
-
On 10/20/2020 at 11:12 AM, Kazarov29 said:
The sv and var values at the bottom represent the server-side performance. The var at the top represents client-side I believe. You'll want to primary focus on fps though. You're running at 30 FPS in that screenshot, but that isn't uncommon in CS:GO Zombie Escape due to all the players, particles/effects, etc.
Do you feel your client-side performance has got worse recently? If so, what specs are you running (processor, GPU, RAM, and hard drive(s))? Unfortunately, nobody is going to get good performance at higher player counts due to Source Engine limits.
-
Would you be able to take a screenshot of this? These items in the net_graph typically indicate server-side performance and not client-side.
-
I like it so far. Also, AK-47 = the best weapon.
For those interested, I made a gameplay video here:
Though, the playback is sorta jumpy at times for some reason (only does it for this game). I'm sorry for that.
-
Hey everyone,
I'm writing this thread for documentation purposes and I'm a bit late to writing it (I'm sorry, I've been all over the place recently, lol).
On October 12th, we experienced two network-related issues (one somewhat related to the other).
Redis Server Outage
Around 9:42 PM CST, Vultr (one of our hosting providers) had an outage in their Atlanta location:

Our Redis server for A2S_INFO caching is hosted at this DC and I wasn't able to route to it (there seemed to be a BGP issue with one of their upstreams since I didn't make it out of my ISP when running an MTR to the server's IP). This caused A2S_INFO responses to break temporarily until Compressor stopped using the Redis server (which I believe took around 10 - 15 minutes to kick in). During this time, players wouldn't be able to see the servers in the server browser. However, since we don't have any actual POPs in Vultr's Atlanta location, everybody should have been able to route to our game servers successfully (you'd need to connect directly via console if you wanted to play, though).
This lasted around an hour.
Miami POP Outage
Our Miami POP experienced an outage at around 10:45 PM CST.
When the Redis server came back online, I restarted Compressor on all of our POP servers so they'd be able to establish a valid connection with the Redis server again for A2S_INFO caching. However, Compressor failed to restart on our Miami POP. Since our IPv4 block was still being announced via BGP (from BIRD), any clients routing through this POP would have lost access to our game servers.
Compressor failed to start because there wasn't enough memory available on the VM. Some of our POPs are still running with 1 GB of RAM and while adding SWAP has helped with this Compressor issue, sometimes our POPs fail to restart Compressor due to being out of memory still. A simple full VM restart resolves this issue and that's what I did.
This issue will be fully resolved once we finish expanding our Anycast infrastructure and all of our POPs run with more than 1 GB of RAM. With that said, I believe I can add a dependency to BIRD's systemd configuration so when Compressor's service is down, it will also take down BIRD which will stop announcing our IPv4 block via BGP. This won't fix the main issue, but at least if Compressor is found offline, BIRD will stop and clients will stop routing to the affected POP.
@Alexis This was the issue we talked about two days ago
If you have any questions, please let me know.
Thank you!
-
- Popular Post
- Popular Post
Hello everybody,
Around 1:50 PM CST today, our GS14 machine went down who is hosted with GSK. I was at a GP appointment at this time and @Aurora was looking into this issue. Unfortunately, we didn't have KVM access. Therefore, we asked GSK to reboot the machine which resulted in it coming back online. However, once we tried launching a game server, it went down again.
When I got home, GSK was in the process of getting a KVM attached to the machine. At 4:51 PM CST, the KVM was successfully attached and I was able to connect. However, I received a call and had to go for another ten - twenty minutes. So investigation with the KVM didn't start until 5 - 5:10 PM CST.
Last night, we updated our control panel which included a daemon update that was applied to all of our game server machines. For some reason, the new configuration file on GS14 was setting our control panel daemon to use the entire host machine as its network instead of the separate bridge it creates internally (172.18.0.0/16). Basically what this does is exposes the interfaces on the host machine within the game server's Docker containers and network namespaces. Now, without our Anycast setup, this probably would have worked fine. However, exposing each container to all the interfaces on the machine defeats the purpose of isolating each container's network and would be less secure.
The reason the machine was going down is because we use Docker Gen to deploy an IPIP tunnel for our Anycast network to use (since Compressor forwards traffic from our POPs to our game servers via IPIP formatted packets, we need to setup an IPIP tunnel/endpoint in each container with the remote host and internal IP). When running our control panel in "host" mode, Docker Gen would execute these commands on the main host interface instead of inside each game server's network namespace. Two commands this ran were deleting the old default gateway and replacing it with the new gateway which pointed towards the IPIP tunnel. Since this was being ran on the host, it removed the main machine's gateway (which went to GSK's router of course from the NIC) and replaced it with the IPIP tunnel (which wasn't even configured at this time). This resulted in the machine losing network connectivity and could not be restored until you either restart the machine or attach a KVM, log in that way, remove the old default gateway, and add the correct default gateway (which is what we did).
To resolve this issue, firstly, we modified the control panel's daemon config to set up its own bridge which are linked to the veth pairs our control panel adds when spinning up a game server within Docker containers. Afterwards, restart the daemon and if the machine is still offline, you can check the default route via the ip route command. If the default route is set to the IPIP tunnel Docker Gen was trying to set up, you will need to delete the default route via ip route delete default and add the original default route via ip route add default dev <Main Interface> via <Gateway IP>.
After this, we were able to spin up servers, but they weren't getting network connectivity. This was due to my IPIPDirect program here and when it first started up (on machine boot), it's supposed to get the default gateway's MAC address here and here. I believe it was starting up when the default gateway was set to the IPIP tunnel (so the MAC address was probably 00:00:00:00:00:00 or something virtualized/fake). This resulted in outbound game server traffic not being routed out properly. Simple restarting the application via systemctl restart IPIPDirect resolved this issue since it was able to save the correct destination MAC address (the default gateway's) and all game servers were online again.
What's not yet clear is why the machine didn't go down after the panel update last night. My suspicion is we updated the panel and it started using the internal network initially. However, the config file was still specified to use the host network. Therefore, at some point, the panel restarted today and that's when everything went down. @Aurora and I will most likely be digging through the logs to see if we can find anything that would have caused this.
With that said, we're going to be looking into purchasing our own KVMs for GS14 along with our future game server machines with GSK. This is just so we have our own dedicated KVMs we can access at any time and don't have to rely on GSK manually attaching a KVM (which can be used by other clients which is why it took longer than usual this time).
I understand this post is more technical, but figured I'd give this information for those interested and who knows, maybe if I'm not here, this'll help others like @Aurora with what to look at and so on in the case this happens again.
I also wanted to say thank you to @Aurora for looking into this and contacting GSK while I was at my GP appointment
This would have taken longer if she hadn't started looking into it.
I apologize for inconvenience and thank you for your patience regarding this. If you have any questions, please feel free to reply!
-
I started announcing NTT again. This is because we started seeing sub-optimal routes since we still need NTT announced to some of our Europe/Asia POPs (GTT isn't available in these specific locations). Basically, if an ISP in NA peers with NTT directly, but not GTT, it would route them to the closest POP that uses NTT which would be overseas. This is obviously a big no-no.
If we get attacked, we can withdraw NTT temporarily until the attacks stop.
Thank you. -
Hey everyone,
I just wanted to share an idea for a project I'm probably going to be working on in the future.
As many of you know, Bifrost is a huge project Dreae and I are working on. This will be a firewall that supports features such as forwarding traffic and blocking specific (malicious) traffic via BGP Flowspec (so the upstreams filter the attack instead of our POPs). With that said, we will be implementing a module-like system. But what will be neat is Dreae and I also plan on making our own programming language for writing these modules. While this will be additional work, it is very good experience to obtain and it's very interesting to me. I've been reading up on how to create your own programming language and there are many open source guides out there that includes source code such as this article. I'm also thinking about buying this book. We're likely going to be making a compiled programming language since performance is obviously the most important for packet processing, etc. However, I need to confirm with Dreae. We can also make this compiled language using an existing compiled language such as C or C++ which is even better (gain more experience in C while making the new programming language for example).
Anyways, with the above said, I also want to implement a very flexible API with Bifrost. This leads to another idea for a personal project I have. Once Bifrost is finished, I'd like to buy my own personal /24 IPv4 block, setup two small VPSs (e.g. one in North America while the other in Europe), and setup my own Anycast network. The POPs will be running Bifrost and I'd like to make a website that'll act as a demo. In this demo, users will be able to securely sign up and if they reach out to me, I can give them credits that'll allow them to setup either a protected IP or a website.
For the protected IP, the user will be able to setup forwarding rules that'll utilize Bifrost's forwarding module API. This part should be more simpler since it's simply just sending POST/PUT/DELETE requests to the Bifrost API to add/remove forwarding rules and this should all be done securely (over HTTPS/SSL).
In regards to the website packages, this is where it gets fun. I'd really like to make it so when a user orders a website, it gives them basic SFTP access to the site's files. I'd also like to use Kubernetes and setup a container within a cluster for each website for security and scaling. With that said, each POP on the Anycast network would serve all static files like images, CSS, and JavaScript which will operate like a CDN. The actual server-side scripts should be deployed on one of the VPSs as well.
Again, this would all be a demo website. However, it could turn into something bigger if development goes well.
My main goal with this is to gain experience with Kubernetes along with setting up my own CDN and load balance traffic. Perhaps down the line, I can try to find out how to setup high availability (so each POP would serve the server-side scripts so if one POP goes down, the other will pick everything back up). I'd also like to setup MySQL/SQL for high availability under this network too. This also gives me the opportunity to do a lot more with BGP without fearing I could bring a production network offline (such as GFL's, since that's the only network I perform BGP changes on at the moment). I think gaining this experience and being able to put it on a resume will look pretty good too
Finally, I'd really like to get my personal website up with a blog and document ALL of this down publicly.
What do you guys think of this idea and if there is anybody interested in helping or the progress of the project, I'll be posting a lot more updates on this when we complete Bifrost.
Thank you!
-
Hey everyone,
This morning I stopped announcing NTT to all of our NA (North America) POPs. This is so if one of our servers get (D)DoS'd, GSK will be able to perform GTT offload which will now result in all traffic going into our NA POPs to go through GSK's network and their upstreams.
We had an attack from a couple nights ago that I was informed on where our NA POPs were forwarding over 1 gbps malicious traffic to our game server machines. This is because our NA POPs do not have my newest filters non-like our Europe/Asia POPs. This is because something needs to be implemented into the new filters that I feel isn't worth implementing at this moment (I feel I'm spending way too much time on a "temporary" solution). You can read more on this here. Our Asia/Europe POPs haven't forwarded any malicious traffic yet due to my filters which is a good sign. With this change, we should be mostly protected on the network.
There's a chance this may alter some player's routes who were routing to our NA POPs via NTT before. If you see any negative effects from this (e.g. sub-optimal routes, higher latency, etc), please reach out to me.
If you have any questions, please feel free to reply!
Thank you.
EDIT
I also want to note that only announcing to GTT as a direct peer on our NA POPs is a temporary solution. Once the network is fully expanded out regarding the infrastructure and Bifrost is completed, I will be introducing a blend of carriers/peers such as Telia (AS1299), Hurricane Electric (AS6939), and more which will result in better routing as long as we tune our BGP properly (which is the plan, of course).
-
Hey everyone,
I'm creating this thread for documentation purposes and this is mostly a copy and paste from the announcement I made on our Discord servers two days ago.
Recently, our newer hosting provider, GSK, started peering with Hurricane Electric. This resulted in many routes from players within our Asia region to route to our GSK POP through Hurricane Electric. This is bad because they should be routing through our POPs in Asia instead. With that said, it seems this tripped an uRPF filter on GSK's end which resulted in the player's IPs being blocked on GSK's behalf (since it's a really strange route going from Asia to GSK through Hurricane Electric). If one of our game servers got (D)DoS attacked, GSK would enable GTT offload which results in our traffic going through GSK's network for (D)DoS mitigation (for the servers that are attacked, single /32 IPs). Therefore, this would block a lot of our players who tripped the uRPF filter. Any game servers on our GSK machines would also block these players since we send traffic back to the client directly from these machines via GSK's network.
I've talked to GSK and as a quick solution, they created a BGP community that withdraws Hurricane Electric from our routes which I've applied two days ago. This will allow the affected players to route to our servers again assuming GTT offload isn't enabled and the game server isn't on one of our GSK machines. We've unblocked the player IPs who were blocked that we were aware of. We're working with GSK and looking into a better long-term solution for this issue.
If you experience any issues connecting to our game servers, please reach out to @Liloz01, @Aurora, or I since we all have a group DM regarding this with GSK.
I do apologize for the inconvenience and if you have any questions, please let me know.
Thank you for your time.
-
Nintendo 64
And then probably Playstation 2 and the original Xbox.
-
Welcome back!
-
Is this only impacting CS:GO (e.g. are there any other games you can play online, preferably Source Engine games)? With that said, do you have Windows Firewall enabled or third-party anti-virus software installed/running?
-
I wanna say programming/networking, but I don't know if I'm "talented" at it.
-
If you have Netflix and haven't watched it yet, I'd recommend watching The Punisher. I really enjoyed it
-
Already posted this in the Staff Discord server, but figured I'd note them down here for documentation purposes.
Here are my suggestions so far:
- On the F4 page, under the "Info" tab, the rules button redirects to a Google Doc instead of the MOTD.
- When linking a thread to the forums, you should link the specific post itself and not just the thread. This makes it so it starts at the post itself instead of seeing the website header, navbar, etc. For example, instead of https://gflclan.com/forums/topic/63631-darkrp-motd/ do https://gflclan.com/forums/topic/63631-darkrp-motd/?tab=comments#comment-307861.
Once we have the Intel i9-10900K machine which should be available sometime next week, I'd like to move the server to the new machine after we confirm via stress test that the CPU can clock to 4.8 GHz on all cores via turbo boost. This'll ensure the server is running on the best hardware we have available.
With that said, I'll be spawning a bunch of bots onto the server to make sure there isn't anything immediately noticeable regarding performance. Obviously, this is unrealistic since they're bots, but making sure we get good performance with just bots is a good first step in my opinion.
-
I'm not sure what my first game was, but it was probably something on the Nintendo 64 back in the early 2000s or late 90s (my brother used to bring that over when he'd visit). I will have to say the most memorable game would be Halo from 2004 though. I also remember playing a lot of James Bond 007: Agent Under Fire on my older brother's PS2 at the time:
Fun times! I miss them
-
I'd have to say COVID-19, but not because it was resulting in me staying indoors (I'm at home pretty much all day anyways since I work remote and do programming/networking outside of work). I'd just have to say the job situation is what I'm impacted by the most, it just sucks trying to find a job right now
-
The Office and The Punisher. I love them both
I'd have to say The Punisher is my favorite though. But sadly it was cancelled after two seasons


Europe And Squad Expansion Plans And More!
in Updates
Posted
Hey everyone,
I am making this thread to announce our plans to expand into Europe along with a game called Squad and some other small things. I've talked this over with @FrenZy and they were in full support of this.
Before continuing, I just wanted to briefly go into why I'd like to overview these expansions. As some of you know, a year and a half ago I took a complete back-end role in the community due to the amount of energy required for maintaining the Anycast network. While maintaining the network has been great, I feel I haven't been able to have much fun in GFL since then because everything I do has been technical and most people don't understand 99% of the things I'm doing as well.
When I saw the opportunities to expand into Europe and Squad, I felt it was a chance to do something fun again. While this won't decrease the amount of stress I have (in fact, it could increase it a tad bit), I do think it'll be fun and I don't plan to play a hectic role. I simply just want to overview these expansions and ensure they're heading in the right direction. I will be doing my best to guide the people we assign to the servers and train them as well. I think this gives us a good opportunity to improve our internal training program within GFL as well.
Europe Expansion
The first expansion I want to talk about is Europe. For those that do not know, we used to have many Europe servers back years ago and they all did very well for the most part. In fact, many game modes we've tried in the past that didn't succeed in the US did succeed in Europe. These include Call of Duty 4, CS:GO Zombie Mod, Killing Floor 2, and more. We had to cancel our Europe machine at the time due to financial problems we were having in 2016. Here's the old thread I made regarding GFL's Europe expansion back in 2014.
Anyways, Europe arguably has better success rates for game servers than the US. This is because the US is oversaturated with game servers in my opinion. Therefore, I feel this Europe expansion could potentially double GFL's population if it succeeds. With that said, a lot of our successful staff (present and past) have came from Europe due to our Europe servers at the time and in general.
To start off, I'd like to setup servers in game modes that don't require many admins. This is because we likely will be short of staff at the start of these game servers. However, with the success rates I'm expecting, I don't think they will be shortly staffed for long. Obviously, we may go through a couple rough patches with admins at first since we'll likely be looking for admins ASAP (e.g. we may pick admins that aren't great quality), but this will balance itself out after a month with good management (these are risks you have to take when expanding and we've done this in the past).
Some servers I was thinking about expanding into that didn't require many admins were CS:GO Surf Timer, CS:GO Bunny Hop, GMod Prop Hunt, GMod Murder, and a few others. However, that list isn't certain since I haven't talked to our Division Leaders and Server Managers yet. If you have any game mode suggestions that won't require many admins, please feel free to reply with your suggestion(s)
In regards to the technical aspect, I ordered a new /24 IP block today for our Europe expansion (this will cost us $50.00/m and will give us another 256 IPs to play with). We'll be using this with the Anycast network and at the moment, this block's geo location on IP2Location (what the Steam Master Server uses) is set to California, US. I will be putting in a request to have this changed to London, UK since that's where our physical servers will be hosted at in Europe. This change can take up to 30 days since IP2Location updates these on the first of every month.
I still think we'll be able to get decent population with the IP block's geo location set to California, US. However, we'll see more population when it's properly set to London, UK.
The physical game server machine we'll be ordering to start from GSK in London, UK will include the AMD Ryzen 5 3600 @ 3.6 GHz (4.2 GHz turbo), 32 GBs of DDR4 RAM, and a 500 GBs NVMe drive. This machine will be temporary and will cost us $84.99/m. If the servers we place on the machine work out, we'll be looking to get a permanent machine that'll either include the Intel i9-10900K or the AMD 5 5600X when it releases (the fastest processor in regards to single-threaded performance).
The machines should be ready in the next one - two weeks. With that said, I'll need to setup BGP sessions and provide LOAs for the new IP block to GSK and Vultr (our POP hosting providers) which should take around a week to implement (probably sooner, lol).
As of right now, I'd say the timeline for when the Europe expansion will be ready to go will be in the next 3 - 4 weeks or sooner. I'll probably throw some unofficial game servers on the machine to start to see if they receive any population and release them officially if they succeed. With that said, @FrenZy and the Division Leaders + Server Managers will be working with us to see which game modes we can try out in Europe.
Squad Expansion
The next expansion I want to talk about is Squad. We actually tried expanding into Squad back in the Summer of 2018. While the server did get full a couple of times (80/80) which can be seen below, unfortunately the server didn't work out long-term.
I feel there wasn't enough time spent into populating the server though and we never ended up keeping the players we had around. This is something easily fixable if we have dedicated players/management which I'm expecting to have this time around.
Squad is a fairly easy game to manage since the servers are mostly vanilla and the game itself recently had a full release (it was in early-access beforehand). According to my community server population tracker website, Squad has the best player to server ratio over any other game tracked. Please take a look here for example. For every Squad server over 0 players, they have an average of 51 players this past month per server. This is a great amount of average players and compared to other games like CS:GO and TF2, is very high! I do believe we can offer perks as well such as reserved slots for Supporters/VIPs and more.
The first thing I need to check is whether our license from 2018 is still valid for game servers in Squad. Squad will require a license for all servers to use. If it is not valid, I will email their team regarding this request. The next thing I need to do is implement filters into Compressor so players routing to our Europe/Asia POPs will be able to connect to our Squad servers. I'm hoping this doesn't take long and they support a handshake sequence. If not, I can always make exceptions for Squad servers in our filters. I'm not expecting this to take long.
With that said, we will not be doing A2S_INFO caching with our Squad servers.
At the moment, I have an individual who I believe will be helping and heavily involved with this expansion, but since it isn't 100% confirmed yet (@FrenZy and this individual need to talk), I will not announce them until the next update.
The ETA on this expansion is probably within the next two - three weeks or sooner.
If you have any interest in helping with our Squad expansion, please let me know! We could use all the help we can get and considering we're a lot more popular now than mid-2018, I do believe we'll have a better chance at prepopulating our Squad servers.
London POP Replacement
Since we're getting a machine in London from GSK for our game servers, I figured this'll also be a good time to replace our Vultr London POP with a GSK machine. This was on the to-do list to begin with and will offer us better protection from (D)DoS attacks.
This process should be simple and straight forward, but when I'm implementing the change, I'll let everybody know more details.
Conclusion
That's really all for now. It's actually nice making a public-facing post again, I've missed it (I used to post threads like these weekly lol)
I just want to make clear I'll be overviewing these two expansions only and ensuring they're moving in the right direction. If you have any suggestions for other servers in GFL or the community as a whole, I'd recommend reaching out to our Server Managers, Division Leaders, and Directors.
If you have any questions, please feel free to reply.
Thank you for reading!