hello guys i tried knowing what is causing captcha not working but i have no clue here in config.java
//Captcha
public static boolean CAPTCHA_ALLOW;
public static long CAPTCHA_ANSWER_SECONDS;
public static long CAPTCHA_JAIL_SECONDS;
public static long CAPTCHA_TIME_BETWEEN_TESTED_SECONDS;
public static long CAPTCHA_TIME_BETWEEN_REPORTS_SECONDS;
public static int CAPTCHA_MIN_LEVEL;
public static int CAPTCHA_COUNT;
public static String[] CAPTCHA_PUNISHMENT;
public static boolean EVENT_RANDOM_TASK;
public static long EVENT_RANDOM_TIME;
==========================================
//Captcha
CAPTCHA_ALLOW = otherSettings.getProperty("AllowCaptcha", true);
CAPTCHA_ANSWER_SECONDS = otherSettings.getProperty("CaptchaAnswerTime", 15L);
CAPTCHA_JAIL_SECONDS = otherSettings.getProperty("CaptchaJailTime", 1800L);
CAPTCHA_TIME_BETWEEN_TESTED_SECONDS = otherSettings.getProperty("CaptchaDelayBetweenCaptchas", 1800L);
CAPTCHA_TIME_BETWEEN_REPORTS_SECONDS = otherSettings.getProperty("CaptchaReportDelay", 7200);
CAPTCHA_MIN_LEVEL = otherSettings.getProperty("CaptchaMinLevel", 40);
CAPTCHA_COUNT = otherSettings.getProperty("CaptchaCount", 2);
CAPTCHA_PUNISHMENT = otherSettings.getProperty("CaptchaPunishment", new String[] { "JAIL:90", "JAIL:350", "JAIL:900", "BAN:-100" });
==========================================
captcha.java :
package l2f.gameserver.handler.voicecommands.impl.BotReport;
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import l2f.gameserver.Config;
import l2f.commons.util.Rnd;
import l2f.gameserver.data.htm.HtmCache;
import l2f.gameserver.model.Player;
import l2f.gameserver.network.serverpackets.NpcHtmlMessage;
import l2f.gameserver.network.serverpackets.PledgeCrest;
import l2f.gameserver.vote.DDSConverter;
/**
* Class that handles Generating and Sending Captcha Image to the Player
*/
public class Captcha
{
private static final char[] CAPTCHA_TEXT_POSSIBILITIES = {'A','B','C','D','E','F','G','H','K','L','M','P','R','S','T','U','W','X','Y','Z'};
private static final int CAPTCHA_WORD_LENGTH = 5;
private static final int CAPTCHA_MIN_ID = 1900000000;
private static final int CAPTCHA_MAX_ID = 2000000000;
/**
* Generation new Captcha ID
* Generation random Captcha Text
* Generating BufferedImage
* Sending BufferedImage as PledgeCrest to the Target
* Sending HTML Window with Captcha to the player
* @param target that will receive image and html Window
* @return Captcha Text that player will try to write on Text Box
*/
public static String sendCaptcha(Player target)
{
int captchaId = generateRandomCaptchaId();
char[] captchaText = generateCaptchaText();
BufferedImage image = generateCaptcha(captchaText);
PledgeCrest packet = new PledgeCrest(captchaId, DDSConverter.convertToDDS(image).array());
target.sendPacket(packet);
sendCaptchaWindow(target, captchaId);
return String.valueOf(captchaText);
}
/**
* Getting data/html-en/captcha.htm HTML
* Replacing %captchaId% and %time%
* Sending it as HTML window
* @param target Player that will receive html
* @param captchaId ID of the image to replace
*/
private static void sendCaptchaWindow(Player target, int captchaId)
{
String text = HtmCache.getInstance().getNotNull("captcha.htm", target);
text = text.replace("%captchaId%", String.valueOf(captchaId));
text = text.replace("%time%", String.valueOf(Config.CAPTCHA_ANSWER_SECONDS));
NpcHtmlMessage msg = new NpcHtmlMessage(0);
msg.setHtml(text);
target.sendPacket(msg);
}
private static char[] generateCaptchaText()
{
char[] text = new char[5];
for (int i = 0; i < CAPTCHA_WORD_LENGTH; i++)
text[i] = CAPTCHA_TEXT_POSSIBILITIES[Rnd.get(CAPTCHA_TEXT_POSSIBILITIES.length)];
return text;
}
private static int generateRandomCaptchaId()
{
return Rnd.get(CAPTCHA_MIN_ID, CAPTCHA_MAX_ID);
}
private static BufferedImage generateCaptcha(char[] text)
{
Color textColor = new Color(38, 213, 30);
Color circleColor = new Color(73, 100, 151);
Font textFont = new Font("comic sans ms", Font.BOLD, 24);
int charsToPrint = 5;
int width = 256;
int height = 64;
int circlesToDraw = 8;
float horizMargin = 20.0f;
double rotationRange = 0.7; // this is radians
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = (Graphics2D) bufferedImage.getGraphics();
//Draw an oval
g.setColor(new Color(30,31,31));
g.fillRect(0, 0, width, height);
g.setColor(circleColor);
for ( int i = 0; i < circlesToDraw; i++ ) {
int circleRadius = (int) (Math.random() * height / 2.0);
int circleX = (int) (Math.random() * width - circleRadius);
int circleY = (int) (Math.random() * height - circleRadius);
g.drawOval(circleX, circleY, circleRadius * 2, circleRadius * 2);
}
g.setColor(textColor);
g.setFont(textFont);
FontMetrics fontMetrics = g.getFontMetrics();
int maxAdvance = fontMetrics.getMaxAdvance();
int fontHeight = fontMetrics.getHeight();
float spaceForLetters = -horizMargin * 2.0F + width;
float spacePerChar = spaceForLetters / (charsToPrint - 1.0f);
for ( int i = 0; i < charsToPrint; i++ )
{
char characterToShow = text[i];
// this is a separate canvas used for the character so that
// we can rotate it independently
int charWidth = fontMetrics.charWidth(characterToShow);
int charDim = Math.max(maxAdvance, fontHeight);
int halfCharDim = charDim / 2;
BufferedImage charImage = new BufferedImage(charDim, charDim, BufferedImage.TYPE_INT_ARGB);
Graphics2D charGraphics = charImage.createGraphics();
charGraphics.translate(halfCharDim, halfCharDim);
double angle = (Math.random() - 0.5) * rotationRange;
charGraphics.transform(AffineTransform.getRotateInstance(angle));
charGraphics.translate(-halfCharDim,-halfCharDim);
charGraphics.setColor(textColor);
charGraphics.setFont(textFont);
int charX = (int) (0.5 * charDim - 0.5 * charWidth);
charGraphics.drawString(String.valueOf(characterToShow), charX, (charDim - fontMetrics.getAscent()) / 2 + fontMetrics.getAscent());
float x = horizMargin + spacePerChar * i - charDim / 2.0f;
int y = (height - charDim) / 2;
g.drawImage(charImage, (int) x, y, charDim, charDim, null, null);
charGraphics.dispose();
}
g.dispose();
return bufferedImage;
}
}
im enable it via the other.ini too but it just won't work inside the game no page will appear nothing even i tried with l2mythras - l2 ava - l2age all of the sources have the same problem captcha won't work at all enabling it from config.java - captcha.java - other.ini even when i check the server id and it just won't show up anyone will know how to make it work or will advice me using another captcha system it will be easy to adabt in this source because it aint easy in this kind pack of files to adabt thank's to all
We can help your Telegram group or channel grow fast with real, targeted Telegram members, safely and efficiently.
Our Telegram Member Add service lets you add members to Telegram group or channel from real, active communities — not bots or fakes.
With this Telegram group growth service, you’ll see results within hours, backed by clear reporting and safe automation.
✅ What We Offer
• Done-for-you Telegram Member Add campaigns (Groups · Channels)
• Targeted Telegram members from real, active users
• Fast growth — up to 10K members in 24 hours
• English-speaking or regional audiences (US · UK · EU)
• Fully managed Telegram channel growth service with reports & analytics
💡 Why Choose Us
We don’t use spam or fake accounts.
Our process safely adds members to your Telegram group or channel through verified multi-account setups, proxy rotation, and opt-out compliance.
This ensures lasting growth and minimizes churn.
Every campaign is managed by experts using tested Telegram infrastructure and growth systems.
We also recommend combining Member Add with Telegram Mass DM for better engagement and retention after join.
🧩 Works Best For
• Businesses or communities launching new Telegram channels
• Crypto, SaaS, and marketing projects needing visibility
• Influencers and agencies growing multiple Telegram groups
• Anyone seeking a reliable Telegram group growth service with real members
📩 To Get More Information
Telegram : @TeleLoopPulse
Website : https://telegramgrowthstudio.com/telegram-member-add.html
Custom High Five server L2insolence will open 2025-10-17 21:00 GMT+2 ! ! !
Web site: http://www.l2insolence.eu
All info updates on Discord: https://discord.gg/duMjnj3y9A
Last wipe was more then 1 year ago.
We have custom skill, farm zones, materials for items to buy.
Custom wepons, armor, jewels and more.
All items in game have own stats. With custom looks. Glowing etc.
Rates
XP, SP: 25x
Spoil and Drop: 10x
Adena: 20x
Server Hard Farm
Enchantment
Safe enchant Weapon: +20099
Safe enchant Armor: +20099
Max enchant Weapon: +20099
Max enchant Armor: +20099
Normal scrolls: 100%
Blessed scrolls: 100%
You can use scrolls or item enchant NPC to make +++ abd life beter.
NPC Buffer
There's an NPC buffer in all of our main towns: Aden, Giran and Goddard.
It supplies Prophet Buffs, Songs and Dances for a small fee. Include all buff.
We have custom self buffs learned with npc with custom stats.
Global Gatekeeper
GM Shop with normal items and custom ones, vote NPC, Event NPC, item upgrader NPC.
Raid Bosses, every zone have its own boss and drops for rare mats.
Olympiad
The olympiad is ongoing every two weeks.
Meaning if you become a hero you will have your hero status for two weeks. And hero have own custom stats on items.
Question
HorrorSlyer
hello guys i tried knowing what is causing captcha not working but i have no clue here in config.java
//Captcha public static boolean CAPTCHA_ALLOW; public static long CAPTCHA_ANSWER_SECONDS; public static long CAPTCHA_JAIL_SECONDS; public static long CAPTCHA_TIME_BETWEEN_TESTED_SECONDS; public static long CAPTCHA_TIME_BETWEEN_REPORTS_SECONDS; public static int CAPTCHA_MIN_LEVEL; public static int CAPTCHA_COUNT; public static String[] CAPTCHA_PUNISHMENT; public static boolean EVENT_RANDOM_TASK; public static long EVENT_RANDOM_TIME; ========================================== //Captcha CAPTCHA_ALLOW = otherSettings.getProperty("AllowCaptcha", true); CAPTCHA_ANSWER_SECONDS = otherSettings.getProperty("CaptchaAnswerTime", 15L); CAPTCHA_JAIL_SECONDS = otherSettings.getProperty("CaptchaJailTime", 1800L); CAPTCHA_TIME_BETWEEN_TESTED_SECONDS = otherSettings.getProperty("CaptchaDelayBetweenCaptchas", 1800L); CAPTCHA_TIME_BETWEEN_REPORTS_SECONDS = otherSettings.getProperty("CaptchaReportDelay", 7200); CAPTCHA_MIN_LEVEL = otherSettings.getProperty("CaptchaMinLevel", 40); CAPTCHA_COUNT = otherSettings.getProperty("CaptchaCount", 2); CAPTCHA_PUNISHMENT = otherSettings.getProperty("CaptchaPunishment", new String[] { "JAIL:90", "JAIL:350", "JAIL:900", "BAN:-100" }); ========================================== captcha.java : package l2f.gameserver.handler.voicecommands.impl.BotReport; import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import l2f.gameserver.Config; import l2f.commons.util.Rnd; import l2f.gameserver.data.htm.HtmCache; import l2f.gameserver.model.Player; import l2f.gameserver.network.serverpackets.NpcHtmlMessage; import l2f.gameserver.network.serverpackets.PledgeCrest; import l2f.gameserver.vote.DDSConverter; /** * Class that handles Generating and Sending Captcha Image to the Player */ public class Captcha { private static final char[] CAPTCHA_TEXT_POSSIBILITIES = {'A','B','C','D','E','F','G','H','K','L','M','P','R','S','T','U','W','X','Y','Z'}; private static final int CAPTCHA_WORD_LENGTH = 5; private static final int CAPTCHA_MIN_ID = 1900000000; private static final int CAPTCHA_MAX_ID = 2000000000; /** * Generation new Captcha ID * Generation random Captcha Text * Generating BufferedImage * Sending BufferedImage as PledgeCrest to the Target * Sending HTML Window with Captcha to the player * @param target that will receive image and html Window * @return Captcha Text that player will try to write on Text Box */ public static String sendCaptcha(Player target) { int captchaId = generateRandomCaptchaId(); char[] captchaText = generateCaptchaText(); BufferedImage image = generateCaptcha(captchaText); PledgeCrest packet = new PledgeCrest(captchaId, DDSConverter.convertToDDS(image).array()); target.sendPacket(packet); sendCaptchaWindow(target, captchaId); return String.valueOf(captchaText); } /** * Getting data/html-en/captcha.htm HTML * Replacing %captchaId% and %time% * Sending it as HTML window * @param target Player that will receive html * @param captchaId ID of the image to replace */ private static void sendCaptchaWindow(Player target, int captchaId) { String text = HtmCache.getInstance().getNotNull("captcha.htm", target); text = text.replace("%captchaId%", String.valueOf(captchaId)); text = text.replace("%time%", String.valueOf(Config.CAPTCHA_ANSWER_SECONDS)); NpcHtmlMessage msg = new NpcHtmlMessage(0); msg.setHtml(text); target.sendPacket(msg); } private static char[] generateCaptchaText() { char[] text = new char[5]; for (int i = 0; i < CAPTCHA_WORD_LENGTH; i++) text[i] = CAPTCHA_TEXT_POSSIBILITIES[Rnd.get(CAPTCHA_TEXT_POSSIBILITIES.length)]; return text; } private static int generateRandomCaptchaId() { return Rnd.get(CAPTCHA_MIN_ID, CAPTCHA_MAX_ID); } private static BufferedImage generateCaptcha(char[] text) { Color textColor = new Color(38, 213, 30); Color circleColor = new Color(73, 100, 151); Font textFont = new Font("comic sans ms", Font.BOLD, 24); int charsToPrint = 5; int width = 256; int height = 64; int circlesToDraw = 8; float horizMargin = 20.0f; double rotationRange = 0.7; // this is radians BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g = (Graphics2D) bufferedImage.getGraphics(); //Draw an oval g.setColor(new Color(30,31,31)); g.fillRect(0, 0, width, height); g.setColor(circleColor); for ( int i = 0; i < circlesToDraw; i++ ) { int circleRadius = (int) (Math.random() * height / 2.0); int circleX = (int) (Math.random() * width - circleRadius); int circleY = (int) (Math.random() * height - circleRadius); g.drawOval(circleX, circleY, circleRadius * 2, circleRadius * 2); } g.setColor(textColor); g.setFont(textFont); FontMetrics fontMetrics = g.getFontMetrics(); int maxAdvance = fontMetrics.getMaxAdvance(); int fontHeight = fontMetrics.getHeight(); float spaceForLetters = -horizMargin * 2.0F + width; float spacePerChar = spaceForLetters / (charsToPrint - 1.0f); for ( int i = 0; i < charsToPrint; i++ ) { char characterToShow = text[i]; // this is a separate canvas used for the character so that // we can rotate it independently int charWidth = fontMetrics.charWidth(characterToShow); int charDim = Math.max(maxAdvance, fontHeight); int halfCharDim = charDim / 2; BufferedImage charImage = new BufferedImage(charDim, charDim, BufferedImage.TYPE_INT_ARGB); Graphics2D charGraphics = charImage.createGraphics(); charGraphics.translate(halfCharDim, halfCharDim); double angle = (Math.random() - 0.5) * rotationRange; charGraphics.transform(AffineTransform.getRotateInstance(angle)); charGraphics.translate(-halfCharDim,-halfCharDim); charGraphics.setColor(textColor); charGraphics.setFont(textFont); int charX = (int) (0.5 * charDim - 0.5 * charWidth); charGraphics.drawString(String.valueOf(characterToShow), charX, (charDim - fontMetrics.getAscent()) / 2 + fontMetrics.getAscent()); float x = horizMargin + spacePerChar * i - charDim / 2.0f; int y = (height - charDim) / 2; g.drawImage(charImage, (int) x, y, charDim, charDim, null, null); charGraphics.dispose(); } g.dispose(); return bufferedImage; } }
im enable it via the other.ini too but it just won't work inside the game no page will appear nothing even i tried with l2mythras - l2 ava - l2age all of the sources have the same problem captcha won't work at all enabling it from config.java - captcha.java - other.ini even when i check the server id and it just won't show up anyone will know how to make it work or will advice me using another captcha system it will be easy to adabt in this source because it aint easy in this kind pack of files to adabt thank's to all
0 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now