Changelog

Every change that reached the site, newest first. Fixes included, not just the good news.

Last updated

When a VIP ends

  • changedA VIP whose time runs out is told: a notice in the bell and once on screen, and the overlay page explains what changed and how to renew. A VIP overlay link from an account whose VIP has ended now shows “Your VIP has ended” in OBS, with how to carry on with the free overlay, instead of quietly losing its extras.
  • changedThe privacy policy says the server is in Türkiye, and that an account keeps whether it has been told its VIP ended.

Privacy policy, terms and roadmap brought up to date

  • changedThe privacy policy now says what it had left out: that signing in sends your Steam ID to FACEIT to find your FACEIT account, and what is kept of it; which FACEIT account a VIP key is locked to; support attachments and when a VIP ends; every small thing kept in your browser, not just three of them; how long overlay lookups are held, which was longer than it said; and which outside services the site touches and what each one sees. The site sends no email, and the policy now says so.
  • changedThe terms describe VIP as it is now — the Player card and Scoreboard layouts, motion, a background, the mark off — and no longer say a VIP link works for whoever it is handed to: the key is locked to one FACEIT account. The FAQ answers what VIP adds and whether the site follows the GDPR and KVKK. The roadmap gains a Discord bot, opt-in email and 2D replays, and its console reference count is current.

One set of overlay designs

  • changedThe overlay has one set of designs, the same for everyone. Three of the four VIP-only layouts are gone. The Player card stays for VIPs, now in the same panel as every other design, and the Scoreboard moves to VIP as it was, with the flag beside the name. VIP is those two layouts, a background of your own and the motion. An overlay already using one of the old VIP layouts keeps its arrangement and draws in the standard panel.
  • changedA VIP key used on a FACEIT account it does not belong to now says so in OBS — “This VIP key does not match”, with where to open a ticket — instead of quietly drawing the free overlay, which looked like a bug. A key nobody has — mistyped, or a few letters deleted from a real one — gets a card too, asking for the k= part to be taken off the link. The overlay editor warns before you copy a link that would show either.
  • fixedA card row with a lot in it wraps onto a second line instead of running off the edge of the card, where OBS cut off the elo and everything after it. Each part in the card editor has a move button that puts it in another row or column; before, the only way was to take it off and add it again.
  • fixedCountry and region rank no longer run together: each is its flag and then its position, with room between them. A player FACEIT does not rank — its ranking covers the top of each region — shows the flag and “unranked” instead of nothing, which looked like the part had not loaded.
  • fixedSwitching the overlay editor from one player to another could save the first player’s elo as the second one’s starting point, so the second showed a loss they never had for ten hours, on stream too. The starting point now always comes from the same reading as the elo, and the starting points saved before this fix are dropped.
  • fixedThe announcement line is there the moment a page opens, on every page, instead of popping in a moment after each one. Closing it still hides that announcement in your browser; the next one shows again.

Crosshair generator, config generator

  • changedThe crosshair page is named for what it is — a crosshair generator — and says what the new CS codes are; the converter is named as the config generator it is. The FAQ answers “my code starts with CS and has no dashes”.

Overlay background uploads

  • fixedA VIP overlay background over 1 MB took the whole page down to “This page couldn’t load”, though the page said 3 MB was fine. Pictures up to 3 MB go up now, a larger one is turned away with a sentence before it is sent, and an upload that fails for any other reason says so instead of breaking the page.

CS2’s new crosshair codes

  • addedCrosshair codes in CS2’s new format — the ones that start with CS and have no dashes — now open on the crosshair page and in the merger: style, colour, the new outline colour, thickness, outline, length, gap, screen height, spread limit and split distance. The layout was worked out against codes copied out of the game next to the settings the game wrote for them, not guessed.
  • addedThe share code box speaks the new format too: paste a CS code and it stays a CS code, and every change you make is written back into one. The older CSGO- code, which CS2 still imports, is one line under it. The outline colour is drawn in the preview and written into the commands as cl_crosshairoutline_r/g/b/a. The T shape, centre dot and following recoil are read and written too. Only the split opacities, split ratio and scope dot are not mapped yet; a code carrying them keeps them untouched, and a crosshair whose split values were changed here gets the CSGO- code instead.
  • addedReference pages for cl_crosshairoutline_r, _g, _b and _a, and cl_ironsight_dot_scale.
  • fixedA CS code is taken everywhere a crosshair code is: a crosshair list no longer answers “Not a crosshair share code”, the merger reads one pasted into either side, and a link to the crosshair page carrying one unfurls into that crosshair’s card.
  • changedCodes the site hands out are CS2’s new kind wherever the crosshair fits it: the crosshair on a config’s page, a converted pre-update code in a list, and the old-to-new converter. One whose split values or negative gap have no known place in the new layout still gets the CSGO- kind, which CS2 imports. A config’s outline colour commands are read too.

The 30 September crosshair update

  • fixedThe crosshair preview opened most codes on a 1080 × 1080 screen stretched to 16:9, so every crosshair on the page was drawn 1.78 times too wide and the Dynamic Quad’s ring came out as an ellipse. A code that only says how tall the screen was now opens on the widescreen one, which is what most people play on and what CS2 draws unstretched.
  • changedCS2 changed the crosshair code on 30 September, to carry the outline colour and the scope dot: new codes start with CS, have no dashes and are 46 characters long. Pasted here they were turned away as “not a share code”; they are now recognised, checksum and all, and the page says it cannot read them yet. Reading them is next — Valve has not published the layout, so it is being pinned against real codes from the game rather than guessed.

Saved configs keep up with CS2 updates

  • addedA config saved to your account is checked against every CS2 update the checker knows about. When one breaks a line in it — a renamed crosshair command, a CS:GO setting the game ignores — the bell says which config, and the config’s page names the commands and fixes them in one click. “Not now” keeps it quiet until the next update breaks something else.
  • addedThe site watches Steam for Counter-Strike 2 updates every ten minutes and posts the patch notes to the vora.tools Discord, with the console commands they mention and links to Steam, counter-strike.net and SteamDB. A build Valve ships without notes is posted too, after three hours.

Old CS:GO commands have pages, and tutorials are easier to find

  • addedA page for every CS:GO command the checker knows CS2 dropped — cl_interp, net_graph, cl_bob_lower_amt and the rest, 23 of them — saying it does nothing now and what to use instead. They were 404s, and they are exactly the names people search for when an old config stops working. The command list has a “Gone from CS2” section for them.
  • fixedcl_righthand was described as a working command on its reference page while the checker, correctly, flagged it as removed. CS2 does not have it: cl_prefer_lefthanded replaced it, with the meaning inverted, and H or switchhands swaps hands for the moment. The page says so now, and a test keeps the reference and the checker from disagreeing again.
  • changedTutorials are in the navigation, beside Support, and the home page has a “First time?” row linking straight to the four walkthroughs. They were a footer link, the one place somebody new to all this never looks.

Dead commands stop offering themselves

  • fixedThe reference page for a crosshair command CS2 renamed or removed said so in its first line, then offered the old command with a Copy button underneath — cl_crosshairsize "1", cl_crosshaircolor "5", lines the game answers with "unknown command". Those pages now say what happened and link the command to use instead; only a renamed one’s new name can be copied.
  • changedcl_fixedcrosshairgap, cl_crosshair_outlinethickness and cl_crosshairusealpha are treated as removed everywhere, not only on their reference pages. CS2’s own console confirmed it, so the converter and the config rewrite now comment them out like the other two.

Announcement links

  • changedSelect text in an announcement and link it to an internal page; the separate link button also supports custom text instead of Read more, and its toolbar now fits the icon instead of stretching across the form.

Dynamic Quad preview

  • fixedThe Dynamic Quad preview no longer invents centre bars at zero length, and its accuracy marks scale with crosshair thickness.

Crosshair colour picker

  • changedChoose crosshair colours in a site-styled picker with saturation, hue, HEX and RGB controls; the exact channel values are kept for the game config.

Half crosshair outline

  • fixedThe Half outline option now stays selected and renders its partial outline in the preview.

Crosshair preview scale

  • fixedCrosshair previews now open at a 2× close-up with the game scene enlarged by the same amount, so small crosshairs are easier to inspect without changing their proportions.

Config link format

  • removedNamed VIP config URLs are deferred; all configs continue to use their existing /configs/{id} links.

Config imports and crosshair previews

  • addedImport one or more CS2 .vcfg files in the config editor; valid settings are converted into editable .cfg text in your browser.
  • fixedCrosshairs in compact lists and profile cards now scale to fit their preview tile, while the full preview keeps its game-pixel scale.

A clearer crosshair colour picker

  • changedThe crosshair colour button now shows its paintbrush, current colour and hex value together; selecting a colour updates the preview immediately.

One crosshair colour control

  • changedThe crosshair colour is now chosen from one paintbrush button; preset dots and duplicate RGB sliders are gone.
  • fixedModern crosshair share codes now preview their alpha value directly, without the legacy Use alpha switch.

Crosshair preview scale

  • fixedCrosshair previews now open at 1× game-pixel scale; zoom magnifies the preview for inspection.
  • changedThe preview shows the resting crosshair. Movement and firing controls were removed because browser playback could not reproduce CS2's weapon-state behaviour accurately.

Crosshair preview and colour picker

  • changedCrosshair previews include half-step zoom controls; 1x represents configured game-pixel size.
  • addedChoose any crosshair colour with the colour picker; custom colours update the generated settings and share code.

Config page header alignment

  • fixedThe logo and account controls now align with the wider content on shared config pages.

VIP contact on Discord

  • changedVIP enquiries can now reach us through @echowq on Telegram or @bandrollu on Discord.

Config-matched previews

  • changedA shared config's crosshair preview now uses the resolution saved in its cs2_video.txt, and opening it in the editor carries that resolution along.

Crosshair previews at game scale

  • changedCrosshair previews now open at a balanced 2x magnification, with 1x available for checking true game-pixel size; thumbnails and share cards use the same scale.
  • fixedMagnified previews now enlarge one-pixel minimum line widths along with the scene, so thin and zero-thickness crosshairs keep the right proportions.
  • fixedZero-gap crosshairs now join cleanly at the centre, including thicker lines, across previews.

Video settings and saving a config

  • fixedAmbient occlusion now follows CS2's stored menu values, so Medium is not shown as High.
  • changedThe converter's save action is larger and sits below the generated config, where it is easier to find.

The changelog on Discord

  • addedWhat changes on the site can now go to our Discord as well: each entry as its own post, with what was added, changed and fixed, and a link back here.

Player configs, where you can find them

  • changedThe Configs page is Player configs now, and it is on the home page - the latest shared configs with their video settings, one click from each - and in the dock and phone menu, instead of only a link in the footer.
  • changedPlayer configs are listed by who shared them: the site's own first, then admins', support's and VIPs', then everybody's, newest first within each.

Quick answers inside a sentence

  • fixedA support quick answer only worked as the whole reply. Written with more text around it - "/we-will-fix, should be done tonight" - it reached the player as the bare command. It is written out wherever it appears now, the rest of the message kept, and the reply box shows support exactly what will be sent before it goes.

Links in tickets you can click

  • fixedA page written into a ticket - "have a look at /tutorials" - arrived as plain text nobody could click, and so did full web addresses. Both are links now, and a tutorial named anywhere in a message, not only on a line of its own, gets its card underneath.
  • addedvora.tools/tutorial, singular, goes to the tutorials, the way people tend to type it.

Tutorials in tickets, and a better player

  • addedSupport can send you one of the tutorials from a ticket. It arrives as a card - the walkthrough's title, what it covers, and whether there is a video - one click from the tutorial itself.
  • changedThe tutorial video player puts its controls over the picture and tucks them away while a video plays and the pointer rests. Hovering the timeline shows the time and the step at that point, the step you are in is named beside the clock, and a double click goes full screen.
  • added1152 × 864 is in the crosshair page's resolution lists, with the other 4:3 sizes.
  • fixedClosing or answering a ticket left the notification bell counting it for up to ten seconds, so a ticket just closed as solved still looked open. The bell updates the moment you close or send.

Dynamic Quad drawn the way CS2 draws it

  • fixedThe Dynamic Quad - CS2's default crosshair - looked like a solid ring through a cross in every preview on the site. Measured against Valve's own picture of the new styles, it is now what the game shows: a small fixed cross, and four thin arcs on the diagonals, each about a quarter of the way round with clear gaps where the arms point, sitting well outside the cross and spreading further as you move. Share cards draw it the same way.
  • changedTutorial videos can be up to 100 MB, up from 20, and play by fetching only the part being watched, so a long recording starts quickly and seeks without waiting for the whole file.

A notification bell, and why a ticket closed

  • addedA bell beside your account in the header counts what is waiting for you - replies from support you have not read - and lists them, one click from each. It updates within seconds on any page.
  • addedA closed ticket says why: solved, no reply, a duplicate, spam, or something else. Support picks the reason when closing; closing your own ticket marks it solved.
  • addedFor the support team, the bell also lists every ticket waiting on them, and a new ticket - or a player writing back into one - arrives with a notice and a sound of its own, different from the reply chime players hear.

Crosshair previews closer to the game, and tutorial videos

  • changedCrosshair thumbnails in lists and on config pages magnify at most twice instead of four times. A small crosshair used to turn into four big blocks; it now looks like what you see in game, only a little larger.
  • addedTutorials can have their recording set from the site: a video uploaded to the media library is picked for a tutorial there, and the walkthrough plays it with no change to the site's code.
  • fixedVideos over 10 MB could not be uploaded to the media library even though it accepts up to 20 MB - the upload arrived cut short. Uploads also show in the library straight away now instead of after a reload.

Your video settings come with a converted config

  • fixedDropping cs2_video.txt into the converter beside your .vcfg files showed your video settings, but Save kept only the config and left them behind. They are saved with it now, the save panel says so, and the config's page shows them - through a sign-in in the middle, too.

A config reads like a settings page

  • addedA shared config now opens with its settings laid out in cards, the way pro settings sites show a player: the crosshair drawn, with a code CS2 takes and a copy button, then mouse, viewmodel, bob, HUD and radar, each value read from the file. Only what the config actually sets is shown - no defaults filled in - and the full file is still below for anyone who wants every line.

Video settings on profiles

  • addedA config saved with its cs2_video.txt now shows the headline of it - resolution, refresh rate and display mode - in the Configs list on its owner's profile and in your own list of configs, the same as on the public Configs page.

Replies as they happen, and every shared config in one place

  • changedA ticket you have open updates by itself: when support replies, the message appears in the thread within a few seconds, with a quiet chime. Anywhere else on the site the reply notice now arrives within seconds too, instead of at your next click.
  • addedA Configs page listing every public config, newest first, with who shared it and the headline of its video settings - resolution, refresh rate and display mode - right in the list.

See your video settings before you share them

  • changedOpening cs2_video.txt while saving a config now shows the full video settings panel - resolution, refresh rate, display mode and every advanced setting - exactly as the shared config will show it, instead of four values and a count.
  • fixedThe Support badge looked like the VIP one: the same small diamond in a different colour. It has its own lifebuoy and a blue fill now, so nobody mistakes one for the other.

Files from support

  • addedThe support team can attach a screenshot, a PDF or a config file to a reply. Screenshots show in the ticket, everything else downloads, and only you and the support team can open them. Players cannot upload files, so nothing in a ticket was put there by a stranger.
  • changedThe terms now say what support will never ask you for, that support can send files, and what office hours mean for your ticket.

Office hours, and faster answers

  • addedThe support desk can keep office hours. Outside them, the support page and your ticket say the team is offline and when it answers again - for example from 10:00 tomorrow - instead of a reply estimate the night cannot keep. Tickets are still accepted and keep their place.
  • addedThe support team has quick answers for the questions that come up again and again. The message you receive is the full answer, written out, never a shortcut.

Where your ticket stands, where you can see it

  • changedYour place in the queue, the tickets ahead of you and the estimated reply now sit right above the reply box, worked out fresh on every visit. They used to be inside the automatic reply at the top of the thread, which every new message pushed further out of sight.
  • addedEvery ticket now opens with a reminder that support will never ask for your password, Steam Guard codes, login details or personal information, and that anyone who does is not us.
  • changedTwo open tickets at a time, down from three. At the limit the support page shows your open tickets to write into instead of a form that would be refused, and a refused ticket names them.
  • removedQuick send, added earlier today. Filling in the form for you turned out to be less useful than it looked.

Support, tidied up

  • addedQuick send on the support page: pick what the ticket is about and the form fills in a subject and the questions we would ask anyway, so the first reply can be an answer.
  • changedTighter limits against ticket spam: three open tickets at a time, five new ones a day even if you close them, five minutes between new tickets, and three messages in a row before we have answered. Sending the same message twice is refused. None of this slows the support team down.
  • changedYour ticket list shows the latest five with Load more for the rest, the reply boxes grow as you write up to a point and then scroll, and “Support desk” is just Support everywhere, with one Support entry in the account menu.
  • fixedA long word or link with no spaces in it ran off the side of the screen in a ticket, a config’s title, a description or a profile name. It wraps now, and a description longer than six lines is folded behind Show more.
  • removedThe prepared answers beside the ticket form, and the prepared-reply manager in the staff area. Nothing used them any more.

Crosshair links that show the crosshair

  • addedThe crosshair page keeps your crosshair in the address bar as you edit it, so a reload or the back button no longer loses it, and the link is a share link. Pasted into Discord or anywhere else that shows previews, it unfurls into a card of that crosshair, drawn at 1080p with its sizes in pixels.
  • addedThe crosshair preview can show a 4:3 or 16:10 resolution stretched across a 16:9 monitor, which is how most people on 4:3 play: arms get wider, vertical lines thicker and slightly soft, the way the scaler makes them. It is on by default for those resolutions and one click turns it off for black bars.
  • fixedA sensitivity link typed with a decimal comma, like ?sens=1,5, fell back to 1.8 and showed the wrong numbers. It is read as 1.5 now, the same as the field already did.

A password check before publishing

  • addedSaving a config as public or unlisted now stops if it holds a password: rcon_password, sv_password, a server token, or a bind that joins a server with one. It shows the lines with the password hidden, and one button empties them. You can still publish as it is by ticking that you meant to, and a private config is never checked.
  • changedReset on the crosshair page asks first. It used to throw away every change in one click; now the first click asks, the second resets, and the question goes away on its own if you leave it.
  • changedThe invisible mark in a generated config now reads “this config created by vora.tools” and is written on four of the header lines instead of one, so deleting the title line no longer takes it with it. It still sits only in comment lines the game never reads, and still says nothing about who made the file.

The FAQ, terms and roadmap caught up

  • fixedThe FAQ said no page on this site would accept a file. That stopped being true when saved configs started taking your cs2_video.txt and support tickets started keeping what you write, so the answer now says what the tools never send and the two things you can choose to.
  • addedA FAQ answer for the question everyone is asking this week: why CS2 calls an old crosshair code old or invalid, and how to get one that works.
  • changed“Where do I report a problem?” points to support tickets, the crosshair preview answer mentions the screen picker it now has, and the terms have a section on support: who reads a ticket, what is kept, and that a reply estimate is not a promise. The terms also say what VIP actually adds, which is a handle and avatar as well as the overlay’s finish.

A Support role

  • addedSupport is a role now, given from a person’s page like Admin and VIP, with a badge of its own. It works the support desk, can look people up to answer them, and has everything VIP has. It cannot ban, grant anything, or open the audit log, and the staff area shows it only the two sections it can use.
  • addedSupport is in the dock and the account menu on every screen, not only the phone menu.
  • removedThe quick-reply panel inside a ticket is gone. Prepared answers are still on the support page, where players read them before writing.
  • fixedA ticket’s automatic reply changed shape every time the ball changed hands: it folded when support answered and opened up again when you replied. It keeps its queue numbers only until support first writes, and after that stays as it is; where the ticket stands now is shown beside its heading.
  • fixedA message in a ticket said only “You”, which did not say whether you had written as the player or as support. It shows who it is from, and “you” beside it.
  • fixedNotices no longer jump. One leaving from the middle of a stack used to fade and then vanish, dropping everything above it in a single frame, and the fourth in a burst made the first disappear with no animation at all. Both now slide.

Admins choose what a ticket shows

  • addedAdmins can now switch off, for players, the ticket number, the automatic first reply and each part of it — queue position, tickets ahead, estimated reply — and whether players may close their own tickets. Support staff always see everything. Every change is written to the audit log.
  • addedWith ticket numbers hidden, a player sees none anywhere: not in the list, the heading, the notices or the page’s own source, and their ticket’s address uses an opaque id instead of the number. A prepared reply that mentions the number uses the ticket’s subject instead.

Know where your ticket stands

  • addedA new ticket gets an answer straight away: your place in the queue, how many tickets are ahead of you, and an estimated reply time. The numbers are worked out each time you open the ticket, so they are never an hour out of date, and the estimate is the typical first reply over recent tickets — measured, not promised. Until there are enough answered tickets to measure, it says what we aim for and that it is an aim.
  • changedConversations read better: messages sent close together are grouped, Steam avatars show beside yours, and support is signed as support.
  • addedFor the support team: prepared replies one click from the reply box — working on it, contact us by email, need more detail, fixed — dropped into the box to adjust before sending, with the ticket number filled in. The desk lists what is waiting in queue order, the same order players are shown, and a ticket can be closed from the desk without opening it.

Support tickets you can follow

  • addedEvery ticket has a number of its own — #VT-0042 — and a page of its own with the whole conversation on it. Your tickets are listed by number with where each one stands, and one with a new reply is marked until you open it.
  • addedWhen support replies, you are told wherever you are on the site, with a link straight to the reply. Each reply is announced once, not on every page you open.
  • changedOpening, replying to and closing a ticket now say so in the corner of the screen, including when something was refused and why. Before, a sent ticket and a refused one looked the same: the form cleared either way.
  • addedTickets are on the record. Messages cannot be edited or deleted once sent, by you or by us, and who opened, wrote into and closed each ticket is logged with the time — never what was said. The privacy policy says so too.

Support desk

  • addedSigned-in players can open private support tickets, reply to the team and close requests when they are resolved.
  • addedAdmins can grant a separate Support role; support staff see only ticket content, a player's handle, public account details and last sign-in.
  • addedSupport staff can maintain prepared replies for common questions.
  • changedSupport is linked in the phone menu and a dedicated footer help panel, with a redesigned ticket inbox and reply flow.
  • fixedThe footer now explains that account data is saved only when you choose to save it, instead of implying that nothing is ever uploaded.
  • fixedThe admin media picker now shows the selected filename in a clearer upload panel.
  • fixedDynamic shadow values now follow the current CS2 menu selection: value 1 is All and value 2 is Sun Only.

Small accuracy fixes

  • changedSensitivity distances now show two decimal places, including the scoped distance, so small differences are not rounded away.
  • fixedThe roadmap no longer lists shareable crosshair links as upcoming; opening a crosshair from its share code in the URL already works.
  • addedCrosshair commands can now be saved to a player config from the crosshair tool, with the same visibility choice as the other tools.
  • addedYou can also append the current crosshair to one of your saved configs; its other settings stay in place.
  • addedSharing a public player config now produces a card with the player's name and only the sensitivity, resolution, and crosshair actually present in the saved files.
  • fixedThe crosshair preview now passes the Shooting state into the renderer, so shot feedback is visible on styles that support it.
  • addedAdmins can add optimized WebP images to the site's media library; uploads are checked from their bytes and cannot serve as executable files.
  • addedThe admin media library now accepts MP4 and WebM clips up to 20 MB, checks their container signatures, and supports playback seeking.
  • fixedPrivacy and Terms now explain which optional files are saved with a config, their visibility, and how administrator media is stored, served and retained in database backups after deletion.
  • fixedChoosing a new file in Check clears the previous video settings first, so a failed or unrelated upload cannot leave stale settings on screen.
  • changedDropping cs2_video.txt into the main converter now opens its Video Settings card beside the conversion; video settings stay separate from executable cfg commands.

Dynamic Quad drawn the way the game draws it

  • fixedCrosshair commands now round the updated pixel settings to integers. This stops the game rejecting a generated length such as 1.1 and abandoning the remaining settings on that line.
  • fixedStyle 7 is CS2’s new default crosshair and the preview now draws its fixed cross and four curved accuracy arcs. Valve describe it as “a static cross with an additional dynamic quad that reflects the weapon accuracy”: the cross stays still, and four curved arcs spread outwards as the weapon opens up. That is what it draws now, and the preview’s Moving and Shooting buttons show the marks move while the cross does not.
  • changedThe page opens on that crosshair, because it is what the game opens on — length 8, thickness 2, gap 4, full outline, green, spread limit 255. Reset goes back to the game’s defaults rather than to an example out of the patch notes.

Crosshair lists draw the right crosshair

  • fixedThumbnails in a saved list were drawing pre-update codes as though their numbers were pixels. donk’s crosshair is 1 / 1 / −4.5 under the old scale; read as pixels that is one-pixel arms with no gap, which the tile then magnified eight times into four white blocks. Old codes are converted before they are drawn, and a tile stops magnifying at 4× — past that a crosshair whose bars are as long as they are thick is just four squares.
  • fixedCopying a crosshair out of a saved list handed you a code CS2 refuses, for the same reason. The list now shows and copies a code the game takes, and says underneath when it converted one and at which resolution.
  • changedThe console commands, ranges and defaults for every crosshair setting are now CS2’s own, read out of the game rather than inferred: style 0–8 with their real names up to the new Static Square, the outline as none / full / half, and the four settings Valve dropped — cl_crosshairusealpha, cl_crosshaircolor, cl_fixedcrosshairgap and cl_crosshair_outlinethickness — marked gone. Reset on the crosshair page goes back to the game’s actual defaults now, not to an example from the patch notes.

Video settings read properly

  • changedA config’s video settings now say High, Very High, Anisotropic 4X, Sun Only and Disabled (Highest Quality) instead of Level 2, Level 3 and Level 0. CS2 writes these as bare numbers and publishes no key, so each ladder is pinned by making three things agree: the options the game’s own menu offers, a launcher that documents which number it writes, and real cs2_video.txt files read back. A number that lands off the end of a ladder still prints as a number rather than borrowing its neighbour’s name.
  • fixedCMAA2 was shown as “Boost player contrast”. It is neither — it is one of the choices in the anti-aliasing dropdown, so it appears there now, and Boost Player Contrast is a different setting that this file does not carry at all.
  • addedAn “Old code → new code” converter that is simply always on the crosshair page, with its own box. Pasting into the main box still converts on its own; this is for anybody working through a list of codes, who wants to paste one, take the answer and paste the next without the page changing underneath them.

Old crosshair codes work again

  • fixedPaste a crosshair code from before the September update and the box handed you the same code back — which CS2 stopped accepting on 24 September, answering it with “old or invalid crosshair code”. It is converted on the way in now, so the code in the box is always one the game takes. The conversion was sitting underneath the whole time, collapsed, labelled for people whose crosshair “looks smaller”; that is not what had happened to anybody.
  • fixedThe conversion itself was wrong twice over. It rounded to a tenth and printed that, while the code it wrote stored a whole pixel — so the page said 2.3 and the game said 2. And it capped length and gap at 25.5 and 12.7, the old format’s ceilings, while writing the new format, which holds 255: a 1440p player with a big crosshair was quietly handed a smaller one.
  • fixedConverting no longer renumbers your crosshair style. The update changed what the size numbers mean, not what the styles are called, and remapping them was handing people a different crosshair from the one they pasted.
  • changedThe merger’s “paste a crosshair share code” box is open instead of hidden behind a line of grey text, and it asks which resolution an old code came from rather than assuming 1920×1080 — the assumption was right for most people and wrong for every 4:3 player.

A signature you can read

  • changedThe invisible mark in a generated config now spells out “created by vora.tools” instead of only a build number. It still says nothing whatsoever about who generated the file — two people converting the same config on the same day get byte-identical output, and there is a test that holds it to that.

Video settings in backups

  • fixedWhen both cs2_video.txt and cs2_video.txt.bak are saved with a config, each video profile now has its own settings panel so the current and previous values are both visible.

Safer uploads and search listings

  • fixedOverlay image uploads must now match their actual PNG, JPEG or WebP bytes; executable files renamed as images are rejected before storage.
  • changedThe homepage now describes its CS2 tools directly in search and sharing metadata, and www.vora.tools permanently redirects to the canonical domain.

Crosshairs after the format change

  • changedVideo settings now have a compact resolution and display summary near the top of a shared config, and a backup containing video.cfg is recognised and shown there too.
  • fixedThe config Doctor accepts .bak backups and reads cs2_video.txt as a settings overview instead of reporting that it has no config commands.
  • addedA Doctor repair download removes earlier duplicate binds, repeated documented settings and commands CS2 removed, while keeping unknown commands and comments intact.
  • addedSaved config pages can include a trustedlaunch.cfg report, shown as plain text with a clear note that it may reveal local software paths.
  • fixedThe crosshair decoder now reads the V3 and V4 share codes CS2 started using on 23 and 24 September, while keeping old codes readable. Copying or editing a current code preserves its pixel values, screen height and outline mode.
  • changedThe config merger accepts a crosshair share code directly. Current codes become their current console settings, and old codes are converted to pixel units using 1920 × 1080 as the stated default resolution.
  • changedVIP result motion now settles sooner and more cleanly when a match updates the overlay. The ambient drift keeps its existing timing and look.
  • fixedTrying several FACEIT names in a row could send overlapping lookups and hit FACEIT's rate limit before the right name was checked. Preview requests now pause briefly between names, and a rate-limited response says to wait instead of claiming the player does not exist.
  • fixedCrosshair previews now scale legacy codes before drawing, render the current circle, quad and square styles separately, and show full or half outlines correctly. Moving and shooting previews ease between states.
  • addedShared config pages now collect the player’s files beside their profile details, with separate downloads for the config, cs2_video.txt, a .bak backup and launchoptions.cfg.

Tutorials

  • addedWalkthroughs for the four things people get stuck on: finding the files CS2 wrote your settings into, turning them into an autoexec.cfg and running it, crosshair share codes, and the FACEIT overlay in OBS. Every step is written out, so a tutorial can be read, searched and copied out of rather than only watched.
  • addedA player built here rather than an embed. The steps are the chapters — they are marked on the scrub bar, the one you are in lights up, and clicking one jumps to it. No third-party frame on a site whose whole point is that nothing leaves your browser, and the page still works with the video missing or JavaScript off.
  • changedThe FAQ answer about video settings said they were excluded and stopped there. They still are, correctly — but a config saved to your account now shows them, so the answer says where to look.

A config is more than its .cfg

  • addedA saved config can carry your video settings now. Open the cs2_video.txt sitting beside your .vcfg files and the resolution, aspect ratio, refresh rate, display mode and the graphics ladder appear on the page. The converter goes on leaving that file out, correctly — none of it is a console command — so this is where it finally gets shown.
  • addedLaunch options too, pasted from Steam, with a line on what each one does. The CS:GO leftovers get named as such: ‑tickrate in a CS2 line is somebody’s config from 2019 being copied around, and it does nothing at all now.
  • changedWhere CS2 writes a graphics setting as a bare number with no published meaning — shadow quality, texture detail and the rest of that group — the page prints the number and says so, rather than picking a word like “High” and hoping. The settings the game does describe are named properly.

The overlay knows who you are

  • addedSign in with Steam and the overlay editor opens on your own FACEIT account, with the preview already running. FACEIT indexes CS2 players by the Steam account they connected, so there was never a reason to make you type a name the site could have looked up.
  • added“Not you?” beside it, for smurfs, second accounts and anyone whose FACEIT is on a different Steam account. What you pick stays picked — the automatic lookup never writes over it — and one click puts it back.
  • changedA VIP overlay key is now tied to that account before the URL is ever opened, instead of claiming the first nickname it sees. Trying the tool out on a friend’s nickname used to hand the key to the friend; that guess is gone, and keys that were claimed the old way still have the button that undoes it.

VIP for a while, not only forever

  • addedVIP can be granted for 15 days, 30 days, 90 days or a year as well as with no end date, and renewed at any time by granting it again. The end date is on the person’s admin page and in the audit log, because “VIP granted” a month later does not answer the only question anyone has about it.
  • changedA grant that runs out takes the powers and nothing else: the handle keeps resolving until VIP is actually revoked. Breaking somebody’s public link on a timer is a harsher thing than taking the motion off their overlay, and there is a button for it either way.
  • fixedCrosshair thumbnails in a list were drawn against a smear. Filling the tile means magnifying a small crosshair eight times, and the same magnifier applied to a 1920-wide screenshot left four pixels of it stretched across the tile. The scene now stays at its own scale, so it is a sharp crop of the map again.

Old crosshair code in, new one out

  • addedA converter under the share code box, for the crosshair that got smaller on 23 September. Nothing you did caused it: the code still decodes to the same numbers, and CS2 now reads those numbers as pixels instead of putting them through a scale. Give it the resolution you played at and it gives back the code that draws the size you had.
  • addedIt asks for a resolution because the old scale came off one: a length of 3 was 6.75 pixels at 1080p and 4.8 on a stretched 1024×768, so one answer would have been right for one player in three. The pixel counts are printed either side of the conversion, because the old scale was never published and a number worked out from how the game used to draw should be checkable rather than trusted.
  • changedThe crosshair page says what the update actually did - values are pixels, and the game rescales them itself when you change resolution - instead of the old line about one unit being 2.25 pixels.
  • fixedA deploy carried the developer’s own local database up to the server and left 39 MB of it in three places. It was never reachable - both paths answered 404 - but the upload’s skip list only covered what existed when it was written, and the deploy script now removes it and says so if it ever turns up again.
  • changedHalf-outlines, the static square style and the Dynamic Spread Limit are named on the page and deliberately not implemented. Valve described them in prose without console names, and an eighteen-byte share code of the current version has no room for them. Guessing at three command names and writing them into somebody's autoexec is not a feature.

Overlay motion, taken apart

  • changedThe VIP overlay's motion was one choice out of five; it is now three switches that work independently. The number arriving, the panel breathing and the slow drift of light are separate things - turn on the ones you want, in any combination.
  • addedThe drift has a speed. Anywhere between one pass every 8 seconds and one every 2 minutes, because the right answer depends on what else is moving on your stream.
  • fixedTwo results landing back to back animated once. A second match arriving while the elo was still counting left the panel completely still, and two wins in a row moved the number only for the first - the animation had nothing telling it to start again.
  • removedThe Edge look - a coloured bar down the left-hand side - is gone rather than repaired. It took its corners from the panel, so it bulged past a rounded edge, and on an overlay with no panel at all it was a stripe floating in the middle of the stream.
  • changedA VIP overlay URL now belongs to one FACEIT account: the first one it is opened with. The same address with somebody else's nickname draws the free overlay - every part, every colour, with the mark on and nothing moving. It is the account and not the name, so changing your FACEIT nickname does not break your overlay, and there is a button on the overlay page to point the URL at a different player if it ever latched onto the wrong one.
  • changedA VIP background may be up to 3 MB, from 512 KB. It is still resized and re-encoded here, so what ends up on your stream is the same size it always was.

The notices, and what the doctor knows

  • fixedThe doctor called r_drawtracers_firstperson a dead command. The game still has it, and the line it was telling people to delete works - it is now documented as the setting it is. It should never have been on that list: the rule is that nothing goes on it without evidence, and this went on it on a hunch.
  • changedThe announcement strip across the top of the site was a grey bar that read as chrome. It now carries a rule of colour along its top edge, an icon saying whether it is news or a warning, full-strength text, and a link that looks like one.
  • addedThe changelog can say “removed”. Taking something away is not a change and it is certainly not a fix, and it is the line a returning visitor most needs to find.
  • changedThe crosshair preview asks which screen you play on by shape - 1:1, 4:3, 16:10 or 16:9 - with the real resolutions under each, instead of a list headed “1080p”. The shape is what a CS player picks first, and a stretched 4:3 at 768 lines draws every number here smaller than the guides assume. Square resolutions are in the list too: 1080 × 1080 is a real answer and it is the same size as 1920 × 1080, which the line underneath now says out loud rather than leaving the control looking broken.
  • changedThe crosshair page opens on a crosshair you can see. It used to start from the pre-update game default - length 2, thickness 0.5, gap -1 - which under the new pixel units draws a five-pixel speck, at a gap CS2 no longer accepts. It now starts from Valve's own worked example in the patch notes: length 8, thickness 1, gap 4. Reset goes there too.
  • fixedThe preview opened at 1x, where a real CS2 crosshair is a few pixels across and impossible to judge. It now opens zoomed far enough to see - the scene zooms with it, so nothing about the proportions changes - and 1x is still one drag away when you want life size.
  • fixedCrosshair thumbnails in a list were far too small. They were drawn at a fixed 2x, which was right while a value meant 2.25 pixels - since the update made values into pixels, an ordinary pro crosshair was a 21-pixel mark in an 88×56 tile and a small one was a five-pixel speck. Each thumbnail is now zoomed to fill its tile, so you can tell one from another without opening it.

CS2's new crosshair units

  • changedValve's 23 September update made crosshair thickness, length and gap plain pixel counts, and the site now draws them that way. Thickness 1, length 8, gap 4 is a 1-pixel crosshair with 8-pixel bars and a 4-pixel gap - exactly as the patch notes describe it, rather than the arbitrary scale everything was converted through before.
  • changedA gap of 0 is respected, which the update fixed in the game, and the negative gaps that every share code written before it carries are clamped to 0 - CS2 has no negative gap any more, and drawing one would show you a crosshair your game cannot make.

VORACUP is gone

  • removedThe tournament side of the site - matches, rosters, map vetoes, server bookings and the Organizer rank - has been removed, along with the game server behind it. The rows it kept were dropped with it, and the privacy page says so.
  • changedThis site is a set of tools for Counter-Strike settings again. Nothing about the tools changed.

Overlay motion, redone

  • changedThe animated looks were rewritten and cut from five to four: Tick brings the new elo in from the direction it moved, Swell gives the panel one breath, Edge lights a bar in your own win or loss colour without moving anything, and Drift is one slow pass of light every twenty seconds.
  • addedA "play a win" button on the overlay page, so you can watch what a result looks like instead of waiting half an hour for one. It runs the real count through the real widget, and it is there before you type a nickname.
  • changedThe overlay editor is two tabs now. Everything about the design is in the first; motion, your background and the mark are together in the second, which says what it is to people who do not have it rather than scattering three locked controls through the page.
  • fixedAdmins and the owner could not use the VIP overlay features they are supposed to have: the check read the VIP flag instead of asking whether the account holds VIP powers. An unlisted config no longer disappears from your own profile either - you see your unlisted and private ones, labelled, and nobody else does.

VIP overlays

  • addedFive animated looks for the overlay: Pulse, Rise, Sweep, Glow and Neon. Anyone can try them in the editor and watch them move; running one on a stream is VIP.
  • addedVIP accounts can put one background image of their own behind the overlay. It is re-encoded here, stored on our server, and only their own overlay can fetch it.
  • changedThe vora.tools mark stays on the free overlay. It is what pays for the server, and taking it off is now part of VIP.
  • changedThe privacy page and the terms say what VIP is, how it is arranged, and what is kept for it.

CS2 renamed the crosshair settings

  • changedCounter-Strike 2's 23 September update renamed cl_crosshairsize, cl_crosshairthickness, cl_crosshairgap and cl_crosshairalpha, and removed the colour preset. Every command this site writes now uses the names the game has, and a crosshair that used a preset is written out as the colour it stood for instead of losing it.
  • changedConfigs written before that update are still read: both spellings work everywhere a config is pasted in.
  • addedCheck a config and it now names the replacement for each renamed line, instead of calling it an unknown command.
  • fixedThe overlay no longer carries one player's numbers over to another: searching a second nickname used to show the first one's elo as a huge loss, and saved that as the session's starting point. Ranks the FACEIT API returns as zero are hidden rather than shown as "#0".

VORACUP match page

  • addedMap veto cards show each map from above - the game's own overview - and the maps the veto leaves are drawn the same way, in the order they are played, with who picked them and which one is the decider.
  • changedA captain's turn is harder to miss: a larger banner that says whether it is a ban or a pick, the maps they can take outlined, the clock turning red in its last ten seconds, and "Your turn" in the tab's title.
  • addedAdmins and organizers can download the game server's HLTV demos from /mac, and a match's own demos from its page.
  • fixedOn a match page, a player who is on the roster but not on the game server is shown by their Steam name instead of a STEAM_0 ID.

VORACUP matches

  • addedAn Organizer rank, between Admin and VIP, given by the owner from the admin panel. Organizers create VORACUP matches and run the game server during a booking the owner approves; their badge shows next to their name like the others.
  • addedA match page follows the game as it is played: once the veto ends the server loads the first map by itself, and the page shows the phase, the score, the round, pauses and who is on the server.
  • addedVORACUP server control: organizers ask for a time on the game server, the owner approves it, and during that booking they can send messages that show in game as [Admin], pause, restart a round, set the freeze time, change the map and kick. Every command is written to the audit log.
  • addedVORACUP matches at /mac: an organiser sets up two teams and sends each its link, players join with Steam, and the two captains run the map veto in turn - bans, picks and a decider, each with a 30-second clock that chooses for a captain who runs out.
  • changedThe privacy policy says what a VORACUP match keeps: which team you joined, the veto, and that your Steam ID and team go to our own game server so it lets you in on your team.

The overlay's win and loss counts

  • fixedOn stream, "wins today" and "losses today" appeared a moment after the rest of the widget, showing a dash first. The day is now worked out on the widget's first frame, so the counts are there with everything else.
  • changedThe win and loss tiles read as counts again rather than as neon boxes: a hairline border at any size instead of one that thickened as you scaled the widget, the number in its own colour, and the word under it smaller, tracked out and quieter.
  • changedThe win/loss bar has a gap between the two halves, so it reads as wins against losses instead of one strip with a seam.
  • addedThe overlay page opens with an example widget on a real map, so you can see what you are about to make before typing a nickname.

Hidden content can always be restored

  • fixedA config or list an admin had hidden could get stuck that way: if its author then set it to Private, it left every page an admin could open and nobody could put it back. Admins now have a Hidden page listing everything hidden, with a Restore button on each - and for a private one it shows no title, only who wrote it and when it was hidden.

Your own Steam folder

  • addedSigned in, "Where CS2 keeps them" shows the userdata folder with your account number already filled in, and a button to copy the full path for a default Steam install.

Crosshair lists draw every crosshair whole

  • fixedThe small pictures on a crosshair list, and the strip on a profile, cut off any crosshair bigger than the picture - a long-armed one showed only its middle. Each is now zoomed to fit, so the whole crosshair is always there, in proportion to the map behind it.
  • fixedSaving a config or a list that was refused - a missing title, say - quietly set who can see it back to Private, so pressing Save again could save a public config as private. Your choice now stays.
  • fixedPressing Escape in the "You were saving this before you signed in" box threw that config away. Only the Discard button does now.
  • fixedSigned in in another tab, the Save panel could still say you were signed out, and if your session ended while saving it said to sign in without a way to. It checks again when opened, and offers sign-in while keeping what was on screen.
  • fixedOn a config or list page, asking to delete it squeezed a long title into a sliver beside the confirmation. The confirmation now opens across the page under the title.
  • fixedA title or name starting with Arabic or Hebrew text was cut off from the wrong end in lists, and on a phone a crosshair list row left its name a few letters wide. Both have their room back.
  • fixedSmaller things: an avatar that failed to load early stayed a blank square instead of the pattern; the list editor lost keyboard focus when a row reached the top or bottom or was removed; a name stopped at 20 emoji instead of 40 characters; changing only who can see something did not warn before leaving; at your limit, New config opened a form that could only be refused; the profile link, the author name and the converter's Essentials / Clean / Everything choice were too small to tap on a phone; the account menu showed no outline when moved through with the keyboard; buttons now give way slightly when pressed; and dates read Sep, not Sept.

Limits by account role, and clearer page titles

  • changedThe tool pages say what they are in the words people search with - a CS2 vcfg to cfg converter, a CS2 crosshair code generator and decoder - in their titles and headings.
  • changedAn account keeps up to 5 configs and 5 crosshair lists; VIPs 10 of each. Anyone who already had more keeps everything they saved, and can add more once they are under the limit.

Accounts, saved configs and crosshair lists

  • addedSign in with Steam. You sign in on Steam's own page, and the site gets your Steam ID and, from your public Steam profile, your name and picture - no email, no password. Every tool still works without an account.
  • addedSave a config straight from Convert, Merge or Binds, or write one yourself, and keep up to 50. Each is public, unlisted or private, has its own page with a download link, and public ones are listed on your profile.
  • addedCrosshair lists: a ranked set of up to 100 share codes - your own, or the ten pros you copy from - drawn over a real map, with each code one click from the crosshair tool.
  • addedProfiles at /u/ followed by your Steam ID, or a handle of your own for VIPs, with Owner, Admin and VIP badges.
  • addedDelete your account, and everything in it, from your account page at any time.
  • changedThe privacy policy and terms of use are rewritten for accounts: exactly what an account keeps, the two cookies signing in sets, who can see what you save, and what may not be shared.
  • addedThe crosshair tool opens a crosshair from its address: /crosshair?code= followed by a share code.

Small fixes across the tools

  • fixedOn a phone, several controls were smaller than a fingertip: the crosshair's number fields, the overlay's move and hide buttons, the paste toggles, and the links in the footer. They are all at least 44 pixels tall now, and tapping anywhere on the key search box focuses it.
  • fixedThe key search, the share code box and the crosshair's number fields barely changed when focused with the keyboard. The boxes now light up in blue, and the numbers are underlined.
  • fixedThe crosshair tool could not import its own One line output - commands chained with semicolons. It reads them now, and still ignores a semicolon inside a bind.
  • fixedA share code whose value is too large for one was cut down and called a match code. It is refused as not a share code.
  • fixedDoctor missed a setting written twice when the two lines differed only in capital letters - Sensitivity and sensitivity - and Compare listed such a line as removed and added. The console treats them as one setting, and so do both tools now.
  • fixedMerge read a .vcfg as console commands, turning its binds into settings and its braces into commands. It reads the files the game writes the way the converter does, and says so when a file has nothing in it to merge. Doctor does the same for pasted .vcfg text.
  • fixedDoctor and Compare read the video settings file the game writes, cs2_video.txt, as console commands instead of setting it aside as having nothing to check.
  • fixedThe stream overlay let you hide every part, or take everything off the card - and the link then showed OBS the default overlay instead of the empty one in the preview. The last part now stays.
  • fixedThe checksum in a generated config's header was wrong for about one config in 64, so recomputing it with a standard SHA-256 did not match. It is right now, and configs made before the fix still check out as unedited.

Merge keeps unbindall where you put it

  • fixedMerge moved an unbindall at the top of a config down below the binds, so the merged autoexec unbound every key the moment it ran - mouse1 included. Commands a config opens with now stay at the top, commands it closes with stay at the bottom, and a config with an exec in the middle keeps its lines in the order they were written.
  • fixedThe line at the top of a merged config counted commands like exec and echo as binds. It counts binds.
  • fixedThe number next to a crosshair slider could not take a negative or decimal value typed by hand: typing -2.5 into gap came out as 05. It takes what you type now.
  • fixedPasting a crosshair out of a .vcfg ignored its on/off settings - dot, outline, T-style, alpha, recoil - because the game writes those as true and false. They are read now.
  • fixedCompare listed the same value written two ways as a change - "cl_crosshairsize raised from 2 to 2" for the game's 2.000000 against a config's 2, and false against 0. Those are no longer listed, so the settings that really differ are not buried.

Easier to read, and the phone menu says where you are

  • fixedThe light grey used for hints, footnotes and headings across the site was a shade too dark to read comfortably against the background - measured, it fell short of the contrast accessibility guidelines ask of text. It is lighter everywhere now, and still reads as quieter than the text around it.
  • fixedOn a phone, the menu button said Home on every page that is not a tool - the FAQ, the changelog, the legal pages. It says Menu there now.

Cards count wins along the bottom

  • changedA new card shows wins against losses along its bottom edge rather than level progress, which at level 10 was a full bar that never moved. Cards already set up keep the bar they have.

Security updates

  • fixedAn overlay address with certain values in it - a size of toString, or a broken percent sign in the nickname - showed an error page instead of the overlay. Both now fall back the way every other bad value does.
  • changedThe site runs on a newer release of its framework, which closes two security holes published against the version it was on. One of them was in an image endpoint this site never used, so that endpoint is now switched off entirely rather than only patched.
  • fixedThe structured data in each page's source escaped a character in a way that did nothing. Only the site's own text ever reached it, so nothing could be misused - but it would have mattered the day something else did.

Overlay cards you arrange yourself

  • addedA card layout for the stream overlay. Put your level badge large on the left, name over elo in the middle and your wins and losses boxed on the right - or anything else anywhere else. The card has a column down each side, three rows between them with a left and a right end, and a bar along the bottom, and every part can go in any of them. It reflows when you resize the browser source, so nothing drifts out of place in OBS.
  • addedWins and losses as numbers, counted over this stream, today, or your last 5, 10 or 20 matches. Shown in boxes that are outlined, filled with colour or plain, or as a single 5W – 3L line.
  • addedThree bars that can go anywhere: wins against losses, how far through your level you are in that level's own colour, and your recent results as a strip.
  • addedYour own colours for the border, the text, and what a win and a loss look like everywhere on the widget; a border up to four pixels wide; statistics with the label above the number, scoreboard-style; and results as W and L letters instead of bars. Two new starting points use them: Scoreboard and Stat card.
  • fixedThe colour controls in the overlay editor are finger-sized on a phone. The six background swatches were 28 pixels across, well under what a thumb can hit without landing on the one next to it.
  • changedEvery overlay already in OBS draws exactly what it drew before. The card is opt in, and that was measured rather than assumed: the addresses streamers are using were rendered next to the live site and compared pixel for pixel.

Taps in the middle of a phone screen work again

  • fixedOn a phone, a block in the middle of every page ignored taps - more than half the screen's width, from the upper third down to the bottom - and any button or slider under it did nothing at all. The closed menu keeps its full size so that it can animate open, and the box around it went on catching the taps meant for the page underneath. Found while testing the overlay editor on a phone, and measured rather than guessed: the menu's box was what the browser reported under the finger.

Moving crosshairs, drawn the way the game draws them

  • fixedA Classic crosshair now splits when you turn on Moving. Each arm travels out in one piece until it reaches the split distance, then breaks in two: the inner piece stays there and the outer piece keeps going, each at its own alpha, with the split ratio deciding how long each one is. Three of those four settings were read from the share code correctly and then never drawn, so moving their sliders changed nothing.
  • fixedLegacy crosshairs open when you turn on Moving, whatever their split distance. They used to borrow that number from the split style, so a Legacy crosshair with a split distance of 0 did not move at all — and seven of the eight professional moving crosshairs we checked are Legacy.
  • changedThe share codes were never the problem: eight real moving crosshairs from professionals decode exactly as the reference decoder reads them, field for field. They are part of the tests now, so a code that looks wrong can be checked rather than guessed about. The movement section also says which of its settings apply to the style you picked.
  • changedThe navigation bar is grouped: your config files, the things you set up to play with, and the stream overlay, with a thin line between each. Nine identical circles in a row read as a crowd; a few short runs can be read at a glance. On a phone the menu shows the same groups by name.

Elo reaches the stream three times faster

  • changedThe overlay asks every ten seconds instead of every thirty, so a result is on your stream within about ten seconds of FACEIT having it rather than the best part of a minute.
  • changedIt costs nothing extra. A full reading is four requests to FACEIT — the player, two rankings and the recent matches — and the elo is in the first one alone. Those four used to be refreshed together, so asking more often would have meant three times the requests, all of them. The elo is now on its own short clock and the rest on a ninety-second one, which works out slightly cheaper than the old thirty-second refresh of everything.
  • addedA test counts the requests. How much of the shared FACEIT quota one overlay uses per minute is the thing most easily broken by a change that looks nothing like networking, and nothing else in the project would have noticed.

The elo counts

  • changedWhen your elo moves, the number counts to it — up in green when you win, down in red when you lose, settling back to white once it lands. It used to grow ten percent for a second and shrink back, which reads as a twitch rather than as a result.
  • changedIt counts the way something arriving does: quickly at first, then easing into the last few points. A one-point change is over almost at once and a fifty takes a little longer, because a counter that always takes the same time tells you nothing about the size of what happened.
  • fixedThree things it has to survive on a live stream, and does: a second result landing mid-count carries on from the figure on screen rather than starting again; a jump too large to be a match result — a first reading, or a different player — snaps instead of counting through hundreds; and if frames stop because the scene is hidden, the correct number is still what is on screen. It also respects a machine set to reduce motion.

How see-through the panel is, is yours to set

  • addedA slider for the tinted panel. It had been a fixed number twice and both were wrong for somebody — the old one could not hold white text over a sunlit wall, and the one that replaced it took away the see-through look that is the whole reason to pick a tinted panel in the first place. Which number is right depends entirely on what you play on, and only you know that.
  • changedThe slider stops short of both ends on purpose: fully see-through is the None background wearing a border, and fully opaque is the Solid one. Three backgrounds should mean three different things.

Overlays update themselves after a deploy

  • fixedAn overlay running in OBS kept the page it loaded, so a fix could ship and the stream would carry on showing the old widget. The elo still moved — that is data, and it was being fetched — but the code was not, so one stream went on drawing the level badge that had already been replaced, and the only way to get the new one was to switch scenes. Every answer now says which build served it, and a page older than that reloads itself once.
  • changedIt costs no extra request: the build is a header on the reply the widget was already asking for. And it cannot loop — the build it reloaded for is written down first, so a page that somehow still disagrees stops instead of refreshing every thirty seconds in front of an audience.
  • changedThe editor preview is left alone. Reloading the page under someone who is mid-edit would throw their work away.

The overlay, read over a real game

  • fixedThe Blur background never blurred anything on a stream. `backdrop-filter` blurs what sits behind an element in its own page, and OBS gives a browser source a transparent page and composites the game on afterwards — so there was nothing to blur. Screenshots with it on and off are byte-identical. It had been a plain 55% black box the whole time, which is why it looked like it had no background at all.
  • changedSo the panel is built to work without one: opaque enough to hold white text over a sunlit wall, a soft highlight down from the top edge so it reads as a surface, and a text shadow for the bright end. It is called Tinted now, because that is what it is. Saved OBS addresses keep working unchanged.
  • fixedThe editor preview did blur, because a preview has a page behind it — so it was promising a frosted panel the stream never delivered. It now shows exactly what goes out.
  • changedThe level badge is FACEIT's own artwork instead of our drawing of it. Copied onto this domain rather than hot-linked, because nothing here loads from anyone else's server. The hand-drawn one stays as the fallback: a broken-image icon must never appear on top of somebody's stream.
  • changedThe widget put the same gap between every pair of items, so a level badge sat as far from the nickname it labels as the elo sat from a region rank. Nothing read as a group and the whole thing read as a list. Spacing now follows what belongs together — tight within, wide between. The order still comes entirely from your URL.
  • fixedElo reaches the stream about twice as fast. The overlay polled every 30 seconds and the server cached for 30 seconds, and two equal numbers double the delay: a poll landing inside the window got a copy fetched 29 seconds earlier and then showed it for another 30. The cache is shorter than the poll now, and this costs no extra requests to FACEIT.
  • fixedThe elo no longer skipped its flash when a player won, lost, and landed back on the number they started at.
  • changedRegion and country ranks are printed with a thousands separator. #164,398 is a magnitude; #164398 is six digits to count.

Three more things on the overlay

  • addedHow much elo is left before your next FACEIT level — the number you are actually chasing, counted down rather than shown as a total.
  • addedThe run you are on. Three wins in a row is a thing a viewer reacts to; WLWWW is a thing they have to decode. A single result is not called a run.
  • addedYour last match on its own — result, K/D and ADR — because that is the question chat asks most.
  • addedOne sponsor line in the footer. Everything here is free and the server is not, so that is how it gets paid for — a name and a link, served from this domain, with no ad network, no pixel and nothing that learns anything about you. It says what it is for while nobody has taken it.
  • changedThe roadmap said advertising of any kind was never coming. That was broader than what was meant, so it now says what is genuinely never coming — an ad network, a tracker, analytics — rather than being quietly deleted. A promise that turns out to be too broad gets made precise in public.
  • changedThe elo-to-next-level line is dropped, silently, whenever our idea of where a level starts disagrees with the level FACEIT reports for that player. The thresholds are not published anywhere we can read, so the table is checked against the truth we are already being handed and goes quiet rather than putting a number we are unsure of in front of an audience for three hours.

Binds and aliases without the console

  • addedSay what you want to happen, then how you want to set it off: a key you press, a word you type in the console, or both. Typing d2 to join your server and pressing F5 to join it are the same thing triggered two ways, so they are one question here rather than two tools.
  • added24 things worth binding, in the words you would use to ask for them — drop the bomb, buy an AK, take out the molotov or incendiary, clear the blood off the walls when you reload. Categories down one side, three or four options at a time down the other, each saying what it does and what the console command is without being pointed at.
  • addedBuild a buy: pick the gun, the armour and the grenades you actually want and drag them into the order you want them bought. Fixed combinations only ever cover the loadouts somebody thought to write down, and an M4 with grenades was not one of them. It also says which side a loadout works on — buy ak47 on the CT side does nothing at all, in silence.
  • addedToasts, for results that land somewhere you are not looking: what you just added, the config you just loaded, a value that was refused. Copy still confirms inside the button — there is nothing to read there, so a toast would be an interruption carrying no content.
  • addedDrop your existing config in first and everything gets added to it, so what you copy out is the whole file rather than a fragment to paste by hand. It also warns you when a key you picked is already bound to something in there — only the last bind on a key counts, which is how a config quietly stops doing what you think.
  • changedThe converter can add binds to what it just produced, without a trip to another page and a copy-paste to join the two.
  • addedA roadmap: what is being worked on, what is planned, what we are only considering, and — on a site whose main claim is that your files never leave your computer — the things we will not build. No dates on it, because we would be guessing, and a date that slips turns "not yet" into "late".
  • fixedThe footer promised "a bind editor and a pro settings library are next" for a week after the bind editor shipped. It now links to the roadmap, which is the one place that list is kept and so cannot go stale.
  • changedThe privacy page named three tools when there are eight. All of them still run in your browser and nothing is uploaded — that part was never wrong — but the sentence describing it was a version behind. It also now says the thing the bind builder already warns about: a server password you put in a bind ends up in a plain text file on your machine.
  • fixedReading several pages quickly could get you blocked from the site for an hour. Every page prefetches the links in view, and with the dock, the footer and the phone menu that is around thirty requests before you click anything — enough to trip a rate limit that was never meant for real visitors, and a blocker downstream turned those refusals into a ban. The navigation no longer prefetches, the limit has room for a real page load, and being rate limited no longer counts towards being blocked at all.
  • fixedThe tool bar at the bottom stopped responding to clicks on a desktop while looking perfectly normal.
  • fixedThe phone menu appeared with no animation at all — it snapped open, which reads as arriving late however fast it is. Two separate reasons, both measured rather than guessed: an element cannot fade out of being hidden, and the scale and slide were named in a way that animated nothing. It now opens in under a tenth of a second with the movement front-loaded, so it is on screen before you have finished pressing.
  • fixedOn a phone the row of tool icons was wider than the screen — nine targets at the size a finger needs do not fit a 360px display — so the first and last were off both edges and could not be reached at all. The phone now gets a single button showing the page you are on, and a list of names when you press it. Icons with no labels were never readable on a touch screen anyway: there is no hover there to explain them.
  • fixedChoosing something in the bind builder could not be undone; clicking it again now puts it back.
  • fixedA very long buy is refused while you build it rather than when you press Add, so you are not told at the end that the loadout you just assembled will not fit on one line.
  • changedJump throw is not in the list. Valve removed the bind from Counter-Strike 2, and listing something that no longer works is worse than not having it.

Compare two configs

  • addedDrop in two copies of your config and read the difference as sentences. Counter-Strike rewrites these files every time you move a slider and never says what it changed, so the copy you backed up in March and the one on disk now differ in ways nobody can see.
  • addedA sensitivity change is reported in movement rather than decimals: not 2.1 to 1.9, which means nothing on its own, but 10% lower, so the same 360° now takes 11% more mouse movement. That figure holds whatever DPI you use.
  • addedIt also says the thing people get wrong about deleting a line: it does not put the setting back. Nothing runs, so the game keeps whatever value it already had.
  • changedSession state is counted, never listed — which maps the browser had selected, when a popup was dismissed. The game rewrites dozens of those on its own, and a report you have to scroll past hides the three lines you actually changed.

Check a config

  • addedA new tool that reads a config back and says which lines have stopped working. Counter-Strike never tells you: a dead command does not warn, does not log, and the setting simply never applies — so people carry a line forward for years believing it does something.
  • addedIt names the commands CS2 removed and what replaced each one, finds keys bound twice (only the last bind survives), binds calling an alias nothing defines, and values outside the range the game accepts.
  • addedIt will not call a command dead just because we have not heard of it. Counter-Strike has thousands of console commands and our reference covers the ones real configs contain, so an unfamiliar name is reported as "no notes on this" and nothing stronger. A config straight out of the game reports nothing wrong, which is the whole point.
  • changedThe converter now shows the same check on what it just produced, so there is no second upload to get it.

The overlay is only the overlay

  • fixedThe overlay page put the site's navigation bar on your stream. It sat in the layout every page on the site shares, and the overlay had no way to take it back off.
  • fixedThe overlay panel stretched to the full width of the browser source instead of hugging its contents, painting a bar across the screen. The editor's preview never showed this, because the preview centred the panel and the real page did not.
  • changedThe browser source now ends where the widget ends, so "fit to content" in OBS gives you the right size, and none of the site's own JavaScript loads on your streaming machine.
  • addedSize → Fill the source, for anyone who would rather not type numbers: make the browser source whatever size you want the widget to be and it follows. Off by default — at 100% the widget is drawn at the size it was designed at, and one that resizes itself to whatever box it lands in is harder to predict.
  • fixedFilling a browser source shorter than the widget sliced its bottom edge off mid-border, because the widget was scaled to the source's width without checking the result still fit its height. It now shrinks to fit both. A browser source can no longer scroll either — a scrollbar had been showing up along the right-hand side on stream.
  • fixedIn the editor, the last option of the Corners control was drawn 14 pixels outside the border it sits in: those buttons could not shrink below their own labels and nothing stopped them spilling out. They wrap now. The options were also called Square, Rounded and Round — the last two two letters apart, meaning a 6px corner and a full circle. They read Square, Soft and Round.

A reference for every setting

  • addedA page for each of the 147 Counter-Strike 2 settings that actually turn up in a real config: what it does, what values it takes, the line to paste, and which tool here changes it.
  • addedAn index grouped by what each setting affects — crosshair, viewmodel, mouse, audio and the rest — so you can read a category rather than search for a name you half remember.
  • changedThese are the same notes the converter has always shown beside your own settings. They were only visible to someone who already had a config open; now they are a page anyone can find.

FACEIT overlay for streams

  • addedA live FACEIT overlay for OBS. Put in a nickname, arrange what it shows, copy one URL. It carries your level, elo, the change since you went live or since midnight, your country flag and rank, your last matches as win/loss marks, and ADR, K/D, K/R, headshot percentage and win rate over the last 5, 10 or 20 games.
  • addedFive presets to start from, then drag the parts into the order you want, hide what you do not, and set the background, colour, corners, font and size. The whole design lives in the URL, so there is nothing to sign up for and nothing to lose.
  • addedThe level badge is drawn the way FACEIT draws it: a dial whose coloured arc grows with the level, so a glance tells you roughly where someone sits without reading the number.
  • changedThe elo change is counted in your own browser rather than fetched, because FACEIT's match history carries no rating — which also means nothing about you is stored on our side. The statistics are recent rather than lifetime, since a career average does not move while you play.
  • changedThe privacy policy now describes the overlay separately. It is the one tool that asks our server for something, and the page says exactly what is sent and what is not kept.

Sensitivity converter

  • addedPut in the game, sensitivity and DPI you play at, and get the matching sensitivity for every other game at once.
  • addedIt leads with cm/360 and inches/360 rather than a bare number, because that distance is the only thing that actually compares between games — and the only figure you can check against your own mousepad.
  • changedOnly games whose conversion is settled are listed. Rainbow Six Siege ties sensitivity to field of view and Fortnite uses a percentage scale, so both are left out rather than guessed at.

It works on a phone now

  • fixedThe home and crosshair pages scrolled sideways on a phone, pushing half the content off the edge of the screen.
  • fixedThe icons in the bottom bar only responded to a tap in their middle 20 pixels, so navigating on a phone mostly did nothing. Tapping the name of a setting next to a switch did nothing either.
  • changedSliders, colour swatches and the small buttons on the crosshair page are finger-sized on touch screens, and unchanged with a mouse.

A name, a face, and the pages that were missing

  • addedThe site has a mark of its own: a T-style crosshair, the shape cl_crosshair_t 1 actually draws in game.
  • addedA footer that links every tool in words, a proper 404, and this changelog alongside the FAQ, privacy policy and terms.
  • fixedSharing a link to any tool page produced a bare line of text instead of a preview card. Each tool now has its own.
  • fixedThe home page had no link to the crosshair or merge tools other than the icon bar, so most people never found them.
  • changedThe icon bar no longer shows the bind editor and pro settings as greyed-out entries. They are still coming; the footer says so instead.

First working version

  • addedConvert: drop the .vcfg files CS2 writes and get back a grouped, annotated autoexec.cfg, with the dead menu state stripped out.
  • addedCrosshair: paste a CSGO- share code to see the crosshair drawn over a real map, or build one and take the code with you.
  • addedMerge: combine two configs, choosing which one wins for binds, crosshair, mouse and every other section.
  • fixedThe crosshair preview drew the crosshair three times larger than the map behind it, so nothing on it could be judged. The scene and the crosshair now scale together.
  • fixedUploading a .txt or .bak file threw a parser error instead of saying the file was not a settings file.