Recommended Free Tools
Use an HTTP persistence cookie when your game service speaks HTTP, or a source-IP stick table when it uses TCP or cannot set cookies. If more than one HAProxy instance can receive the same player, replicate stick-table data through a peers section. Persistence chooses the same backend; it does not copy a player’s in-memory session to another server. Keep durable session state in a shared database, cache, or another shared service so a failed backend can be replaced safely.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
What session persistence does
Session persistence, also called sticky sessions, tells HAProxy to continue routing a client to the backend server selected for its first request. This can reduce login churn, preserve server-local state, and keep a long-running game or web session on one process while that process remains healthy.
Persistence is a routing rule, not replication. HAProxy records an association between a client and a server; it does not synchronize application memory, WebSocket state, match state, inventory, or authentication data between backend machines. If the selected server disappears, HAProxy can choose another available server, but the replacement can only resume the session if the application stores the required state somewhere shared or reconstructs it from durable data.
Free tools Windows power users keep installed
One-click scans. No signup required.
As an Amazon Associate I earn from qualifying purchases.
Choose the persistence method
| Method | HAProxy mode | Client identity | Best fit | Important limitation |
|---|---|---|---|---|
| HTTP cookie inserted by HAProxy | mode http |
A browser or HTTP client carrying the backend cookie | HTTP game portals, account services, launcher APIs, and WebSocket upgrades handled in HTTP mode | Clients must accept and return the cookie; it does not apply to arbitrary non-HTTP TCP traffic |
| Source-IP stick table | HTTP or TCP | The source IP address observed by HAProxy | TCP game protocols and services that cannot use cookies | Several players can appear as one client when they share a NAT gateway, reverse proxy, or other source address |
For an HTTP service, cookies normally identify individual browser sessions more precisely than source addresses. For a raw TCP game protocol, source-IP affinity is available, but you should check whether players arrive through carrier-grade NAT, a school or workplace gateway, a reverse proxy, or another address-sharing layer.
Configure an HAProxy persistence cookie
Cookie persistence is configured in the backend. The backend must run in HTTP mode, and every server needs a distinct cookie value unless you use dynamic cookie generation.
#1 Best Overall
- BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
- EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
- COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
- LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
- WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
Basic configuration
backend app
mode http
balance roundrobin
cookie SERVER_USED insert indirect nocache
server app1 192.168.0.10:80 check cookie app1
server app2 192.168.0.11:80 check cookie app2
Here, SERVER_USED is the cookie name. HAProxy inserts a value identifying the selected server, either app1 or app2. On later requests, HAProxy reads that value and sends the request to the same server when it is available.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
What the directives mean
mode httpenables HTTP parsing and cookie handling.balance roundrobinselects a server for a request that has no usable persistence cookie. The persistence mechanism does not require round-robin; another balancing algorithm can be used.cookie SERVER_USED insertinstructs HAProxy to insert the backend cookie into the response.indirectkeeps the persistence cookie from being sent to the backend as an ordinary client cookie.nocacheadds response handling intended to prevent an intermediary cache from reusing a response that contains a server-specific persistence decision.checkenables health checks, allowing HAProxy to stop selecting a server that fails its check.cookie app1andcookie app2assign stable identifiers to the two servers.
Rollout procedure
- Confirm that the frontend and backend path is HTTP, not a raw TCP proxy. Cookie persistence is available in
mode http. - Add a
cookiedirective to the backend and a uniquecookieargument to every server line. - Validate the configuration with the HAProxy configuration checker used by your installation before reloading.
- Reload HAProxy using your normal zero-downtime procedure.
- Send a new client request and inspect the response headers for
SERVER_USED. Record which value was issued. - Send subsequent requests with that cookie and verify that the requests reach the matching backend. Test without the cookie as well; a new client should still be distributed according to the configured balance algorithm.
- Stop or fail the selected backend in a controlled test. Confirm that HAProxy routes the next request to an available server and that the application can recover the user’s state.
Do not treat the presence of a cookie as proof that the application session is durable. It only proves that the client has a routing hint.
Use dynamic cookie values when several HAProxy nodes share a configuration
Manually assigned values such as app1 and app2 are straightforward, but every HAProxy node must interpret a value in the same way. HAProxy can derive the cookie from the server address, port, and a shared secret:
backend app
mode http
cookie SERVER_USED insert indirect nocache dynamic
dynamic-cookie-key a-long-shared-secret
server app1 192.168.0.10:80 check
server app2 192.168.0.11:80 check
Use the identical dynamic-cookie-key on every HAProxy node that may receive the client. The server identity must also remain compatible across those nodes: the same backend server address and port must produce the same interpretation. If a server line includes an explicit cookie argument, that explicit value overrides the dynamic value.
Rank #2
- WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
- AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
- PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
- ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
- COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
Changing the secret or changing the identity used to derive a server’s value invalidates existing cookie values for clients that return through a node with the new settings. Plan such changes as a persistence migration rather than assuming old cookies will continue to work.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsConfigure source-IP persistence for TCP or HTTP
A stick table keyed by source IP works in both HTTP and TCP modes. The table remembers which backend server was selected for each observed client address.
backend app
mode tcp
stick-table type ip size 1m expire 30m
stick on src
server app1 192.168.0.10:80 check
server app2 192.168.0.11:80 check
How the table behaves
stick-table type ipstores IPv4 or IPv6 client addresses as the key type.size 1mallocates capacity for up to the configured table size; size the table for your expected active-client population and available memory.expire 30mremoves an entry after 30 minutes without the activity that refreshes it. The 30-minute value is the example used in HAProxy’s official session-persistence tutorial, not a universal recommendation.stick on srctells HAProxy to use the connection’s source address as the key.- The server checks determine whether a remembered destination remains eligible.
Source-IP affinity can merge unrelated players. For example, thousands of users behind one carrier-grade NAT address may share a single stick-table entry and therefore be sent to the same backend. The opposite problem occurs when a player’s apparent address changes during a session: HAProxy sees a new key and may select a different server. If your traffic passes through a reverse proxy, make sure the address HAProxy observes is the address you intend to use; do not assume an application-level forwarding header changes the stick-table key.
Keep affinity when clients can reach different HAProxy instances
A floating address, DNS record, or upstream load balancer can send successive connections from one player to different HAProxy processes. A local stick table cannot provide consistent affinity in that topology because each process has its own in-memory entries. Define peers so HAProxy replicates the table between nodes.
Rank #3
- Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
- Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
- Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
- ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
- Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
peers mycluster
peer lb1 192.168.1.10:10000
peer lb2 192.168.1.11:10000
backend app
stick-table type ip size 1m expire 30m peers mycluster
stick on src
server app1 192.168.0.10:80 check id 1
server app2 192.168.0.11:80 check id 2
Configure peer replication safely
- List every HAProxy node in the
peerssection with a reachable peer address and port. - Use the same peer names and table definition on every node. The table must reference the peer cluster with
peers mycluster. - Give corresponding backend servers explicit, matching IDs. In the example,
id 1andid 2ensure that all load balancers map a table entry to the same backend identity. - Permit peer traffic through host firewalls and network ACLs, and monitor the peer connection. A configuration that parses successfully can still fail to replicate if the transport is blocked.
- Test a client that alternates between HAProxy nodes. Create the stick entry through one node, then send the next connection through the other and verify that the remembered server is honored.
Peer replication is particularly useful in active-standby designs. It also lets the old HAProxy process transfer stick-table entries to a replacement process during a reload when the old process connects to the new one. Without that handoff, in-memory entries disappear when the old process exits.
Account for synchronization overhead
Every update that must be shared consumes memory and synchronization traffic. Large tables and high-frequency updates increase that overhead. Set the table size and expiration based on the number of active clients you actually need to remember, rather than choosing an unnecessarily large table. If the application can avoid affinity, removing the table eliminates this replication cost entirely.
Understand what happens when a backend fails
When a request carries a persistence cookie for a server that is down, HAProxy normally redispatches the request to another available server. The client may still send the old cookie, but the unavailable destination is not used while it fails health checks.
option persist changes this behavior by making HAProxy try the unavailable server first. This is a specialized choice for an environment where a flapping server may recover and where preserving the original destination is more important than immediately selecting a healthy alternative. It can also increase delay or failure exposure, so enable it only when that trade-off is deliberate.
Rank #4
- Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
- Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
- 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
- Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
- USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
Separate routing continuity from session continuity
After redispatch, the replacement backend receives the request, but it does not receive the failed server’s process memory. A login token held only in local memory, an in-process lobby, or a match object stored only on one machine cannot be recovered by HAProxy. To make failover meaningful, use one or more of these designs:
- Store authentication and session records in a shared database.
- Put short-lived session data in a shared cache reachable by every backend.
- Persist game or lobby state in a service designed for shared access rather than in one worker’s memory.
- Make the application stateless where the protocol and latency budget allow it, keeping state in off-server services.
- Design reconnect handling so a client can authenticate again and resume from durable state after a backend change.
Test the complete failure path, not just the HAProxy decision: fail a backend, observe redispatch, reconnect the client, and verify what gameplay, login, and transaction data remains available.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Reloads, server changes, and persistence lifetime
Reloads
A normal reload starts a new HAProxy process while the old process drains existing connections. Stick-table entries are process memory, so they are not automatically permanent. A configured peers handoff can transfer entries between the old and new processes when they connect as peers; without that mechanism, clients may be treated as new after the old process exits.
Adding or replacing a backend
Cookie persistence depends on the server value, while dynamic cookies depend on the server identity used to derive that value. Replacing a server with a different address or port can make old cookies point to an identity that no longer exists. Source-IP entries can likewise refer to a server that has been removed. Drain old connections, introduce the replacement with a deliberate identity plan, and verify behavior with both existing and new clients.
Best Value
- Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
- Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
- Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
- Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
- Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
Expiration
A cookie remains on the client according to the response and client behavior; the stick-table example instead expires an inactive source-IP entry after 30 minutes. These are separate lifetimes. Choose an expiration that covers the expected reconnect window without retaining stale client mappings indefinitely.
Operational checks and troubleshooting
Every request goes to one server, even for new clients
- Inspect whether a client is returning a persistence cookie from an earlier test.
- For source-IP affinity, check whether all traffic is arriving from one NAT, proxy, or gateway address.
- Confirm that health checks are passing for every intended backend and that the balancing algorithm is configured where new selections occur.
The cookie is present but requests are not sticky
- Confirm the request is traversing the backend configured with the matching cookie name.
- Check that each server has a unique explicit value, or that all nodes share the same dynamic-cookie secret and compatible server identity.
- Verify that the client returns the cookie on the relevant host and path and that an intermediary is not stripping it.
- Inspect HAProxy logs or per-server request counters to distinguish a missing cookie from a server that has failed its health check.
Affinity disappears after a reload
- Determine whether the configuration uses a peer-enabled stick table.
- Check connectivity between the old and new processes and between all HAProxy peers.
- Review table size and expiration; entries may have expired legitimately rather than being lost.
Players behind one network interfere with one another
This is the expected weakness of source-IP persistence when many users share one observed address. Use an HTTP cookie for an HTTP service, or redesign the application so shared state does not depend on one backend. Do not try to solve a user-identity problem by merely increasing the stick-table size; a larger table still has one key for the shared address.
A failed server causes login or match loss
That symptom indicates missing shared application state, not a failure of the persistence lookup itself. Verify where authentication, lobby, inventory, and reconnect data are stored, then test a fresh connection to the replacement backend.
Security and privacy considerations
Choose a cookie name and value that reveal no unnecessary internal details to players. Dynamic values avoid putting a plainly readable server label in the cookie, but the shared secret still must be protected and kept identical across eligible HAProxy nodes. Rotate it only with a plan for clients carrying old values.
Source-IP tables retain an address-to-server association for the configured expiration period. Set retention deliberately, restrict access to HAProxy statistics and logs, and account for address-sharing and address-changing behavior in your privacy and troubleshooting procedures.
A practical decision framework for game infrastructure
- Identify the protocol. Use cookie persistence only when the traffic is handled in HTTP mode. For a raw TCP game protocol, start with a source-IP table or remove the need for stickiness through shared state.
- Identify the client boundary. If one browser or launcher account must be distinguished from other users behind the same gateway, an HTTP cookie is more precise than the source address.
- Identify the HAProxy topology. If one HAProxy node receives all traffic, a local table may be sufficient. If traffic can move between nodes, configure peers and matching server IDs.
- Define the failure contract. Decide whether a failed backend should be replaced immediately, which is HAProxy’s normal behavior, or whether a specialized
option persistpolicy is justified. - Make state recoverable. Put anything required after redispatch in a shared or durable service, or make the application stateless.
- Test the transitions. Test first request, repeated request, node-to-node movement, backend failure, HAProxy reload, expired affinity, and clients behind shared or changing addresses.
The most robust design is usually the least dependent on stickiness: use persistence to improve locality and reduce unnecessary reconnects, while treating shared application state as the mechanism that makes failover safe.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




