Check server response of

Server response
NS records
Whois domain
Response headers
Request headers
Raw HTML code
301 Moved Permanently - l2eva.com
HTTP Status: 301
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Date: Fri, 16 May 2025 22:35:00 GMT
Content-Type: text/html
Content-Length: 167
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Fri, 16 May 2025 23:35:00 GMT
Location: https://l2eva.com/
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=a206ifGBN9VBwxPf%2Bt1eNoqIA06qRPIVHCxTUsQqnewKYRiPxRhQql6SWxUm3bUm4v11ymiUb5ROj7k3245kW2qpWes90ET0YmU2B0Ex%2FrP6REj8qzSC0metVV1QpVYE9nI65ofkktU%3D"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
X-Content-Type-Options: nosniff
Server: cloudflare
CF-RAY: 940e5882dbbd5423-TLL
alt-svc: h3=":443"; ma=86400
server-timing: cfL4;desc="?proto=TCP&rtt=7838&min_rtt=7838&rtt_var=3919&sent=1&recv=3&lost=0&retrans=0&sent_bytes=0&recv_bytes=165&delivery_rate=0&cwnd=249&unsent_bytes=0&cid=0000000000000000&ts=0&x=0"

HTTP Code 301 Moved Permanently

301 response code means that the requested resource has been permanently moved to a new URL. All future requests should use the new address.

When is Code 301 used?

  • When changing a website domain
  • When modifying URL structures
  • When setting up redirects for SEO

What does Code 301 mean for the user?

The browser will automatically redirect the user to the new address, and search engines will update their indexes.

302 Found - https://l2eva.com/
HTTP Status: 302
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Date: Fri, 16 May 2025 22:35:01 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Server: cloudflare
Cf-Ray: 940e588608195424-TLL
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Location: https://dev.l2eva.com/en/login
Content-Security-Policy: default-src 'self'; script-src 'self' https://code.jquery.com https://cdn.jsdelivr.net https://cdn.datatables.net https://challenges.cloudflare.com https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com https://js.stripe.com blob: 'unsafe-inline' 'unsafe-eval'; script-src-elem 'self' https://code.jquery.com https://cdn.jsdelivr.net https://cdn.datatables.net https://challenges.cloudflare.com https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com https://js.stripe.com blob: 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://cdnjs.cloudflare.com https://cdn.datatables.net https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com; style-src-elem 'self' 'unsafe-inline' https://fonts.googleapis.com https://cdnjs.cloudflare.com https://cdn.datatables.net https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com; img-src 'self' data: https://cdn.discordapp.com https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com; font-src 'self' https://fonts.gstatic.com https://cdnjs.cloudflare.com; connect-src 'self' https://challenges.cloudflare.com https://dev.l2eva.com https://api.ipify.org https://ipv4.icanhazip.com https://v4.ident.me https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com https://*.stripe.com *; object-src 'none'; frame-src 'self' https://www.youtube.com https://youtu.be https://challenges.cloudflare.com https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com https://*.stripe.com; media-src 'self'; worker-src blob:; base-uri 'self'; form-action 'self' https://dev.l2eva.com https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com https://*.stripe.com *;
X-Frame-Options: SAMEORIGIN
Referrer-Policy: no-referrer-when-downgrade
Permissions-Policy: geolocation=(), microphone=(), camera=()
Cf-Cache-Status: DYNAMIC
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=pNz1%2FNO%2FLTvnt4phinXdMM9nENZ%2FjK1MuY8FYwB%2BEErWlq2beTIDXkH5ELWMgBLsaPo6h143yDblGE4S3HR0ADaJRsR%2FDmjKh7fwJtvATAUARmtMgD77rQ9rZ1pdTSK3QbNUJePtOvIrGA%2BI"}],"group":"cf-nel","max_age":604800}
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Set-Cookie: L2EVASession=9763ng8rrjvmqvgelh91gnrho6; HttpOnly; SameSite=Lax; Secure; Path=/; Domain=dev.l2eva.com
alt-svc: h3=":443"; ma=86400
server-timing: cfL4;desc="?proto=TCP&rtt=8094&min_rtt=7981&rtt_var=1103&sent=11&recv=10&lost=0&retrans=0&sent_bytes=6706&recv_bytes=986&delivery_rate=794062&cwnd=257&unsent_bytes=0&cid=e6e08fbb03cc7e72&ts=260&x=0"

HTTP Code 302 Found (Moved Temporarily)

302 response code indicates that the requested resource is temporarily available at a different URL.

When is Code 302 used?

  • When temporarily changing a page URL
  • When testing new content
  • During temporary maintenance

What does Code 302 mean for the user?

The user is automatically redirected to the new URL, but search engines continue to index the old address.

200 OK - https://dev.l2eva.com/en
HTTP Status: 200
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Date: Fri, 16 May 2025 22:35:01 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Server: cloudflare
Cf-Ray: 940e588678c55424-TLL
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Content-Security-Policy: default-src 'self'; script-src 'self' https://code.jquery.com https://cdn.jsdelivr.net https://cdn.datatables.net https://challenges.cloudflare.com https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com https://js.stripe.com blob: 'unsafe-inline' 'unsafe-eval'; script-src-elem 'self' https://code.jquery.com https://cdn.jsdelivr.net https://cdn.datatables.net https://challenges.cloudflare.com https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com https://js.stripe.com blob: 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://cdnjs.cloudflare.com https://cdn.datatables.net https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com; style-src-elem 'self' 'unsafe-inline' https://fonts.googleapis.com https://cdnjs.cloudflare.com https://cdn.datatables.net https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com; img-src 'self' data: https://cdn.discordapp.com https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com; font-src 'self' https://fonts.gstatic.com https://cdnjs.cloudflare.com; connect-src 'self' https://challenges.cloudflare.com https://dev.l2eva.com https://api.ipify.org https://ipv4.icanhazip.com https://v4.ident.me https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com https://*.stripe.com *; object-src 'none'; frame-src 'self' https://www.youtube.com https://youtu.be https://challenges.cloudflare.com https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com https://*.stripe.com; media-src 'self'; worker-src blob:; base-uri 'self'; form-action 'self' https://dev.l2eva.com https://*.paypal.com https://*.paypalobjects.com https://*.cardinalcommerce.com https://*.stripe.com *;
X-Frame-Options: SAMEORIGIN
Referrer-Policy: no-referrer-when-downgrade
Permissions-Policy: geolocation=(), microphone=(), camera=()
Cf-Cache-Status: DYNAMIC
Vary: accept-encoding
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=5JAGD%2BsnZAuwomodG2UMAPEAEoHRseNFKOMG6SPi%2BrSyXlROob3pwmS5buO2P8ydjUUMTPaj1OlkRIf02LhzVqYKo2TDwOjpMV9pDISs55KEfYVwFj8WFx3TDCXmOxxYYdoRgqPepKm64W9C"}],"group":"cf-nel","max_age":604800}
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Set-Cookie: L2EVASession=ce8d54ard39rajss0tdraq1apu; HttpOnly; SameSite=Lax; Secure; Path=/; Domain=dev.l2eva.com
Set-Cookie: user_language=en; HttpOnly; SameSite=Lax; Secure; Path=/; Max-Age=31536000; Expires=Sat, 16 May 2026 22:35:01 GMT
alt-svc: h3=":443"; ma=86400
server-timing: cfL4;desc="?proto=TCP&rtt=8099&min_rtt=7977&rtt_var=525&sent=18&recv=14&lost=0&retrans=0&sent_bytes=9969&recv_bytes=1185&delivery_rate=973753&cwnd=257&unsent_bytes=0&cid=e6e08fbb03cc7e72&ts=369&x=0"

HTTP Code 200 OK

200 response code is a standard successful HTTP server response. It means that the client’s request (e.g., from a browser) was successfully processed, and the server is delivering the requested data.

When is Code 200 used?

  • When loading a web page
  • When successfully receiving an API response
  • When processing a form or another HTTP request

What does Code 200 mean for the user?

The user receives content without errors, and the page or application functions properly. If Code 200 is accompanied by data, the browser or program processes and displays it to the user.

GET / HTTP/1.1
Host: l2eva.com
Accept: */*
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="author" content="L2EVA CBT">
	<link rel="icon" href="https://dev.l2eva.com/assets/img/favicon.svg" type="image/svg+xml">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Ysabeau:wght@400;500;600;700&family=Manrope:wght@400;500;600&display=swap" rel="stylesheet">

    <title>Login to L2EVA CBT - L2EVA CBT</title>

    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet">
    <link href="https://dev.l2eva.com/assets/css/login.css" rel="stylesheet">
    <script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit"></script>	
</head>

<body class="login-page bg-gradient-primary">
    <div id="particles-container"></div>
    <div class="animated-background"></div>
    <div class="background-overlay"></div>
<div class="page-container">
    <div class="container">

        <!-- Outer Row -->
        <div class="row justify-content-center">
            <div class="col-xl-10 col-lg-12 col-md-9">
				<div class="d-flex justify-content-center mt-4 logo-container">
					<img src="https://dev.l2eva.com/assets/img/logo.webp" alt="L2EVA CBT" class="logo">
				</div>
                <div id="launcher-login-card" class="card o-hidden border-0 shadow-lg position-relative">
						<div class="language-dropdown-wrapper">
							<div class="dropdown">
								<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-expanded="false">
									English								</button>
								<div class="dropdown-menu dropdown-menu-right">
									<a class="dropdown-item language-select" data-lang="en" href="https://dev.l2eva.com/en/login?set_lang=en">English</a><a class="dropdown-item language-select" data-lang="el" href="https://dev.l2eva.com/en/login?set_lang=el">Ελληνικά</a><a class="dropdown-item language-select" data-lang="ru" href="https://dev.l2eva.com/en/login?set_lang=ru">Русский</a><a class="dropdown-item language-select" data-lang="pt" href="https://dev.l2eva.com/en/login?set_lang=pt">Português</a>								</div>
							</div>
						</div>
						    <!-- Turnstile floating widget -->
						<div class="turnstile-floating-wrapper">
							<div class="cf-turnstile" data-sitekey="0x4AAAAAAA4jmZpTdo0uLFB3" data-theme="dark"></div>
						</div>
                    <div class="card-body p-0">
                        <!-- Nested Row within Card Body -->
                        <div class="row">
                            <div class="col-lg-6 d-none d-lg-block bg-login-image">
                                <div class="alert-box d-none"></div>
                            </div>
                            <div class="col-lg-6 mt-4" id="login-div">
                                <div class="p-5">
                                    <div class="text-center">
                                        <h1 class="h4 text-gray-900 mb-4">Login to L2EVA CBT</h1>
                                    </div>
									<form class="user" method="post" id="login-form">
                                        <!-- Hidden field for real IP address -->
                                        <input type="hidden" name="real_ip_address" id="real_ip_address" value="">
										<div class="form-group">
											<input type="text" class="form-control form-control-user" placeholder="Account name" name="login_name" required>
										</div>
										<div class="form-group">
											<div class="password-field-container">
												<input type="password" class="form-control form-control-user" placeholder="Password" name="password" id="login-password" required>
												<button type="button" class="toggle-password" data-target="login-password">
													<i class="fas fa-eye"></i>
												</button>
											</div>
										</div>
										<div class="form-group">
											<div class="custom-control custom-checkbox small">
												<input type="checkbox" class="custom-control-input" id="rememberMe" name="rememberme" value="1" checked>
												<label class="custom-control-label" for="rememberMe">Remember Me</label>
											</div>
										</div>
										<button type="submit" class="btn btn-primary btn-user btn-block signin-btn">
											Login										</button>
									</form>
                                    <hr>
                                    <div class="text-center">
                                        <a class="reset-btn" href="?form=reset">Forgot Password?</a>
                                    </div>
                                    <div class="text-center mt-3">
                                        <a href="?form=register" class="btn btn-secondary btn-user btn-block register-btn">Create a new account</a>
                                    </div>
                                </div>
                            </div>
                            <div class="col-lg-6 mt-4 d-none" id="register-div">
                                <div class="p-5">
                                    <div class="text-center">
                                        <h1 class="h4 text-gray-900 mb-4">Register at L2EVA CBT</h1>
                                    </div>
                                    <form class="user" method="post" id="register-form">
                                        <!-- Hidden field for real IP address -->
                                        <input type="hidden" name="real_ip_address" id="register_real_ip_address" value="">
                                        <div class="form-group">
                                            <input type="text" class="form-control form-control-user" placeholder="Account name" name="register_name" required>
                                        </div>
                                        <div class="form-group position-relative">
                                            <div id="password-strength-meter" class="d-none">
                                                <div class="progress">
                                                    <div id="password-strength-bar" class="progress-bar" role="progressbar" style="width: 0%;" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
                                                </div>
                                                <small id="password-strength-text" class="form-text mt-1"></small>
                                                <div id="password-requirements" class="mt-2">
                                                    <small class="d-block"><span id="req-length" class="text-danger"><i class="fas fa-times"></i></span> 8-20 characters</small>
                                                    <small class="d-block"><span id="req-uppercase" class="text-danger"><i class="fas fa-times"></i></span> At least one uppercase letter</small>
                                                    <small class="d-block"><span id="req-lowercase" class="text-danger"><i class="fas fa-times"></i></span> At least one lowercase letter</small>
                                                    <small class="d-block"><span id="req-number" class="text-danger"><i class="fas fa-times"></i></span> At least one number</small>
                                                    <small class="d-block"><span id="req-special" class="text-danger"><i class="fas fa-times"></i></span> At least one special character</small>
                                                </div>
                                            </div>
                                            <div class="password-field-container">
                                                <input type="password" class="form-control form-control-user"
                                                    placeholder="Set a password" name="password1" id="password1" required>
                                                <button type="button" class="toggle-password" data-target="password1">
                                                    <i class="fas fa-eye"></i>
                                                </button>
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <div class="password-field-container">
                                                <input type="password" class="form-control form-control-user"
                                                    placeholder="Retype your password" name="password2" id="password2" required>
                                                <button type="button" class="toggle-password" data-target="password2">
                                                    <i class="fas fa-eye"></i>
                                                </button>
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <input type="email" class="form-control form-control-user"
                                                placeholder="Your email" name="email" required>
                                        </div>
                                        <button type="submit" class="btn btn-primary btn-user btn-block register-submit-btn">
                                            Register                                        </button>
										<div class="alert alert-success d-none">Your account has been created, but it requires verification. We have sent you an email with a link to verify your account.</div>
                                    </form>
                                    <hr>
                                    <div class="text-center mt-3">
                                        <a href="#" class="btn btn-secondary btn-user btn-block back-btn login-btn">Back to login</a>
                                    </div>
                                </div>
                            </div>
                            
                            <!-- Invitation Code Verification Step -->
                            <div class="col-lg-6 mt-4 d-none" id="invitation-code-div">
                                <div class="p-5">
                                    <div class="text-center">
                                        <h1 class="h4 text-gray-900 mb-4">Registration Closed</h1>
                                    </div>
                                    <p class="text-muted mb-4">
                                        Registrations are currently closed. If you have an invitation code, please enter it below to proceed with registration.                                    </p>
                                    <form class="user" method="post" id="invitation-code-form">
                                        <div class="form-group">
                                            <input type="text" class="form-control form-control-user"
                                                placeholder="Invitation code" name="verify_invitation_code" required>
                                        </div>
                                        <button type="submit" class="btn btn-primary btn-user btn-block invitation-code-submit-btn">
                                            Verify Code                                        </button>
                                    </form>
                                    <hr>
                                    <div class="text-center mt-3">
                                        <a href="#" class="btn btn-secondary btn-user btn-block back-btn login-btn">Back to login</a>
                                    </div>
                                </div>
                            </div>
                            
                            <!-- Referral Code Verification Step -->
                            <div class="col-lg-6 mt-4 d-none" id="referral-code-div">
                                <div class="p-5">
                                    <div class="text-center">
                                        <h1 class="h4 text-gray-900 mb-4">Referral Code</h1>
                                    </div>
                                    <p class="text-muted mb-4">
                                        If you have a referral code, please enter it below. This is optional and you can skip this step if you don't have one.                                    </p>
                                    <form class="user" method="post" id="referral-code-form">
                                        <div class="form-group">
                                            <input type="text" class="form-control form-control-user"
                                                placeholder="Referral code" name="verify_referral_code">
                                        </div>
                                        <button type="submit" class="btn btn-primary btn-user btn-block referral-code-submit-btn">
                                            Verify Code                                        </button>
                                        <button type="button" class="btn btn-secondary btn-user btn-block skip-referral-btn mt-2">
                                            Skip this step                                        </button>
                                    </form>
                                    <hr>
                                    <div class="text-center mt-3">
                                        <a href="#" class="btn btn-secondary btn-user btn-block back-btn login-btn">Back to login</a>
                                    </div>
                                </div>
                            </div>
                            
                            <div class="col-lg-6 mt-4 d-none" id="reset-div">
                                <div class="p-5">
                                    <div class="text-center">
                                        <h1 class="h4 text-gray-900 mb-4">Reset your password</h1>
                                    </div>
                                    <form class="user" method="post" id="reset-form">
                                        <div class="form-group">
											<label>Type your account's name</label>
                                            <input type="text" class="form-control form-control-user" placeholder="Account name" name="reset_password" required>
                                        </div>
										<button type="submit" class="btn btn-primary btn-user btn-block reset-submit-btn">
                                            Reset password                                        </button>
										<div class="alert alert-success d-none">We have sent you an email with a link to change your password.</div>
                                    </form>
                                    <hr>
                                    <div class="text-center mt-3">
                                        <a href="#" class="btn btn-secondary btn-user btn-block back-btn login-btn">Back to login</a>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
                  <!-- New Section for Server Features -->
					<div id="features-section" class="row justify-content-center my-5">
						<div class="col-xl-10 col-lg-12 col-md-9 mt-4">
							<div class="row justify-content-center">
								<div class="col-md-4 mb-3">
									<div class="card shadow feature-box text-center">
										<div class="card-body">
											<div class="feature-icon mb-3">
												<i class="fas fa-balance-scale"></i>
											</div>
											<h4>Fair and Free-to-Play</h4>
											<p>Enjoy a truly free-to-play experience with balanced gameplay, ensuring everyone has a fair chance to succeed.</p>
										</div>
									</div>
								</div>
								<div class="col-md-4 mb-3">
									<div class="card shadow feature-box text-center">
										<div class="card-body">
											<div class="feature-icon mb-3">
												<i class="fas fa-layer-group"></i>
											</div>
											<h4>Hybrid of Eva and Essence</h4>
											<p>Experience the best of both worlds with a hybrid system that blends unique features from Eva and Essence.</p>
										</div>
									</div>
								</div>
								<div class="col-md-4 mb-3">
									<div class="card shadow feature-box text-center">
										<div class="card-body">
											<div class="feature-icon mb-3">
												<i class="fas fa-tools"></i>
											</div>
											<h4>Top-Tier Development</h4>
											<p>Developed by a team of experts dedicated to delivering high-quality content and regular updates.</p>
										</div>
									</div>
								</div>
							</div>
						</div>
					</div>

					<!-- Discord Join Section -->
					<div id="discord-section" class="row justify-content-center my-4">
						<div class="col-xl-10 col-lg-12 col-md-9">
							<div class="row justify-content-center">
								<div class="col-md-6 text-center">
									<a href="https://discord.gg/l2eva" target="_blank" class="btn btn-discord btn-lg btn-block shadow">
										<i class="fab fa-discord mr-2"></i> Join our Discord community									</a>
									<p class="text-muted mt-2">Get support, connect with other players, and stay updated on server news</p>
								</div>
							</div>
						</div>
					</div>
					
						    <!-- Footer -->
							<div id="footer-section" class="container-footer">
								<div class="row justify-content-center">
									<div class="col-xl-10 col-lg-12 col-md-9">
										<footer class="login-footer">
											<p class="mb-0">&copy; 2025 L2EVA CBT. All rights reserved. <span style="color: #888888; font-weight: normal;">EVA CMS v1.2.1</span></p>
											<p class="mb-0">
												<a href="#" class="text-white mx-2" data-toggle="modal" data-target="#privacyPolicyModal">Privacy Policy</a> | 
												<a href="#" class="text-white mx-2" data-toggle="modal" data-target="#termsOfServiceModal">Terms of Service</a>
											</p>
										</footer>
									</div>
								</div>
							</div>
    </div>
</div>
	
    <!-- Bootstrap core JavaScript-->
    <script src="https://code.jquery.com/jquery-3.7.0.min.js" integrity="sha256-2Pmvv0kuTBOenSvLm6bvfBSSHrUJ+3A7x6P5Ebd07/g=" crossorigin="anonymous"></script>
	<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct" crossorigin="anonymous"></script>

    <!-- Custom scripts for all pages-->
    <script src="https://dev.l2eva.com/assets/js/main.js"></script>		
	<script src="https://cdn.jsdelivr.net/npm/particles.js"></script>
	<script src="https://dev.l2eva.com/assets/js/bg-particles.js"></script>
	<script src="https://dev.l2eva.com/assets/js/login-procedure.php"></script>
	<script src="https://dev.l2eva.com/assets/js/sound.js"></script>

	
<!-- Hidden elements for JavaScript translations -->
<div id="translation-success" data-text="Success" style="display: none;"></div>
<div id="translation-error" data-text="Error" style="display: none;"></div>
<div id="translation-captcha-error" data-text="CAPTCHA not completed. Please try again." style="display: none;"></div>
<div id="translation-network-error" data-text="Network response was not ok" style="display: none;"></div>
<div id="translation-unexpected-error" data-text="Unexpected error occurred. Please try again." style="display: none;"></div>
<div id="translation-something-wrong" data-text="Something went wrong. Please try again." style="display: none;"></div>
<div id="translation-account-created" data-text="Your account has been created, but it requires verification. We have sent you an email with a link to verify your account." style="display: none;"></div>
<div id="translation-reset-email-sent" data-text="We have sent you an email with a link to change your password." style="display: none;"></div>
<div id="translation-registrations-closed" data-text="Registrations are currently closed. You need a valid invitation code to register." style="display: none;"></div>
<div id="translation-valid-invitation-code" data-text="Valid invitation code. Proceeding to registration form." style="display: none;"></div>
<div id="translation-valid-referral-code" data-text="Valid referral code. Proceeding to registration form." style="display: none;"></div>
<div id="translation-2fa-title" data-text="Two-Factor Authentication" style="display: none;"></div>
<div id="translation-2fa-prompt" data-text="Please enter the verification code from your authenticator app." style="display: none;"></div>
<div id="translation-backup-code-prompt" data-text="Use a backup code instead" style="display: none;"></div>
<div id="translation-verify-button" data-text="Verify" style="display: none;"></div>
<div id="translation-cancel-button" data-text="Cancel" style="display: none;"></div>
<div id="translation-2fa-code-required" data-text="Please enter a verification code." style="display: none;"></div>
<div id="translation-2fa-invalid-code" data-text="Invalid verification code. Please try again." style="display: none;"></div>

<!-- 2FA Verification Modal -->
<div class="modal fade" id="twoFactorModal" tabindex="-1" role="dialog" aria-labelledby="twoFactorModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false">
    <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="twoFactorModalLabel">
                    Two-Factor Authentication                </h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                <p>Please enter the verification code from your authenticator app.</p>
                <form id="two-factor-form">
                    <div class="form-group">
                        <input type="text" class="form-control" id="otp-code" placeholder="Verification code" autocomplete="off" required>
                    </div>
                    <div class="form-group">
                        <div class="custom-control custom-checkbox">
                            <input type="checkbox" class="custom-control-input" id="use-backup-code">
                            <label class="custom-control-label" for="use-backup-code">Use backup code instead</label>
                        </div>
                        <small class="form-text text-muted mt-1 d-none" id="backup-code-info">Backup codes were sent to the email address associated with this account.</small>
                    </div>
                    <div id="backup-code-container" class="form-group d-none">
                        <input type="text" class="form-control" id="backup-code" placeholder="Backup code" autocomplete="off">
                    </div>
                    <div class="alert alert-danger d-none" id="two-factor-error"></div>
                    <button type="submit" class="btn btn-primary btn-block">Verify</button>
                </form>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>

<script>
// Store the verified invitation code
let verifiedInvitationCode = localStorage.getItem('verifiedInvitationCode') || '';

// Check registration status when clicking register button
document.querySelector('.register-btn').addEventListener('click', function(e) {
    e.preventDefault();
    
    // Make an AJAX request to check if registrations are disabled
    fetch('https://dev.l2eva.com/en/api/check-registration-status')
        .then(response => {
            if (!response.ok) {
                throw new Error(document.getElementById('translation-network-error').dataset.text);
            }
            return response.json();
        })
        .then(data => {
            // Hide all form divs
            document.querySelectorAll('#login-div, #register-div, #reset-div, #invitation-code-div, #referral-code-div').forEach(div => {
                div.classList.add('d-none');
            });
            
            if (data.disabled) {
                // If registrations are disabled, show invitation code verification form
                document.getElementById('invitation-code-div').classList.remove('d-none');
            } else {
                // If registrations are enabled, show the referral code form first
                document.getElementById('referral-code-div').classList.remove('d-none');
            }
        })
        .catch(error => {
            console.error('Error:', error);
            alert(error.message || document.getElementById('translation-unexpected-error').dataset.text);
        });
});

// Add event listener to the registration form
document.getElementById('register-form').addEventListener('submit', function(e) {
    // Check if we need to add the invitation code
    if (localStorage.getItem('verifiedInvitationCode')) {
        // Check if we already have the hidden field
        if (!document.getElementById('invitation_code_hidden')) {
            // Create and add the hidden field
            const storedCode = localStorage.getItem('verifiedInvitationCode');
            const hiddenInput = document.createElement('input');
            hiddenInput.type = 'hidden';
            hiddenInput.name = 'invitation_code';
            hiddenInput.id = 'invitation_code_hidden';
            hiddenInput.value = storedCode;
            this.appendChild(hiddenInput);
        }
    }
    
    // Check if we need to add the referral code
    if (localStorage.getItem('verifiedReferralCode')) {
        // Check if we already have the hidden field
        if (!document.getElementById('referral_code_hidden')) {
            // Create and add the hidden field
            const storedCode = localStorage.getItem('verifiedReferralCode');
            const hiddenInput = document.createElement('input');
            hiddenInput.type = 'hidden';
            hiddenInput.name = 'referral_code';
            hiddenInput.id = 'referral_code_hidden';
            hiddenInput.value = storedCode;
            this.appendChild(hiddenInput);
        }
    }
});

// Handle invitation code verification form submission
document.getElementById('invitation-code-form').addEventListener('submit', function(e) {
    e.preventDefault();
    
    // Get the invitation code
    const code = document.querySelector('input[name="verify_invitation_code"]').value.trim();
    if (!code) {
        showAlert(document.getElementById('translation-registrations-closed').dataset.text, 'danger');
        return;
    }
    
    // Create form data
    const formData = new FormData();
    formData.append('code', code);
    
    // Add CAPTCHA token if needed
    if (window.turnstileCallback) {
        const token = turnstileCallback();
        if (!token) {
            showAlert(document.getElementById('translation-captcha-error').dataset.text, 'danger');
            return;
        }
        formData.append('cf-turnstile-response', token);
    }
    
    // Show loading state
    const submitBtn = document.querySelector('.invitation-code-submit-btn');
    const originalBtnText = submitBtn.innerHTML;
    submitBtn.innerHTML = '<i class="fas fa-spinner fa-spin"></i> ' + originalBtnText;
    submitBtn.disabled = true;
    
    // Verify the invitation code
    fetch('https://dev.l2eva.com/en/api/check-registration-status', {
        method: 'POST',
        body: formData
    })
    .then(response => {
        if (!response.ok) {
            throw new Error(document.getElementById('translation-network-error').dataset.text);
        }
        return response.json();
    })
    .then(data => {
        // Reset button state
        submitBtn.innerHTML = originalBtnText;
        submitBtn.disabled = false;
        
        if (data.success) {
            // Store the verified code
            verifiedInvitationCode = data.code;
            
            // Also store in localStorage to persist across page refreshes
            localStorage.setItem('verifiedInvitationCode', data.code);
            
            // Show success message
            showAlert(document.getElementById('translation-valid-invitation-code').dataset.text, 'success');
            
            // Wait 2 seconds before proceeding to the registration form
            setTimeout(function() {
                // Hide invitation code div and show registration form
                document.getElementById('invitation-code-div').classList.add('d-none');
                document.getElementById('register-div').classList.remove('d-none');
                
                // Add the verified code to the hidden field in the registration form
                const hiddenInput = document.createElement('input');
                hiddenInput.type = 'hidden';
                hiddenInput.name = 'invitation_code';
                hiddenInput.id = 'invitation_code_hidden';
                hiddenInput.value = verifiedInvitationCode;
                document.getElementById('register-form').appendChild(hiddenInput);
            }, 2000);
        } else {
            // Show error message
            showAlert(data.message, 'danger');
        }
    })
    .catch(error => {
        // Reset button state
        submitBtn.innerHTML = originalBtnText;
        submitBtn.disabled = false;
        
        showAlert(error.message || document.getElementById('translation-unexpected-error').dataset.text, 'danger');
    });
});

// Handle referral code verification form submission
document.getElementById('referral-code-form').addEventListener('submit', function(e) {
    e.preventDefault();
    
    // Get the referral code
    const code = document.querySelector('input[name="verify_referral_code"]').value.trim();
    
    // Create form data
    const formData = new FormData();
    formData.append('code', code);
    
    // Add CAPTCHA token if needed
    if (window.turnstileCallback) {
        const token = turnstileCallback();
        if (!token) {
            showAlert(document.getElementById('translation-captcha-error').dataset.text, 'danger');
            return;
        }
        formData.append('cf-turnstile-response', token);
    }
    
    // Show loading state
    const submitBtn = document.querySelector('.referral-code-submit-btn');
    const originalBtnText = submitBtn.innerHTML;
    submitBtn.innerHTML = '<i class="fas fa-spinner fa-spin"></i> ' + originalBtnText;
    submitBtn.disabled = true;
    
    // Verify the referral code
    fetch('https://dev.l2eva.com/en/api/check-referral-code', {
        method: 'POST',
        body: formData
    })
    .then(response => {
        if (!response.ok) {
            throw new Error(document.getElementById('translation-network-error').dataset.text);
        }
        return response.json();
    })
    .then(data => {
        // Reset button state
        submitBtn.innerHTML = originalBtnText;
        submitBtn.disabled = false;
        
        if (data.success) {
            // Store the verified code
            const verifiedReferralCode = data.code;
            
            // Also store in localStorage to persist across page refreshes
            localStorage.setItem('verifiedReferralCode', data.code);
            
            // Show success message
            showAlert(document.getElementById('translation-valid-referral-code').dataset.text, 'success');
            
            // Wait 2 seconds before proceeding to the registration form
            setTimeout(function() {
                // Hide referral code div and show registration form
                document.getElementById('referral-code-div').classList.add('d-none');
                document.getElementById('register-div').classList.remove('d-none');
                
                // Add the verified code to the hidden field in the registration form
                const hiddenInput = document.createElement('input');
                hiddenInput.type = 'hidden';
                hiddenInput.name = 'referral_code';
                hiddenInput.id = 'referral_code_hidden';
                hiddenInput.value = verifiedReferralCode;
                document.getElementById('register-form').appendChild(hiddenInput);
            }, 2000);
        } else {
            // Show error message
            showAlert(data.message, 'danger');
        }
    })
    .catch(error => {
        // Reset button state
        submitBtn.innerHTML = originalBtnText;
        submitBtn.disabled = false;
        
        showAlert(error.message || document.getElementById('translation-unexpected-error').dataset.text, 'danger');
    });
});

// Handle skip referral code button click
document.querySelector('.skip-referral-btn').addEventListener('click', function(e) {
    e.preventDefault();
    
    // Hide referral code div and show registration form
    document.getElementById('referral-code-div').classList.add('d-none');
    document.getElementById('register-div').classList.remove('d-none');
    
    // Add an empty referral code field to indicate the user skipped this step
    const hiddenInput = document.createElement('input');
    hiddenInput.type = 'hidden';
    hiddenInput.name = 'referral_code';
    hiddenInput.id = 'referral_code_hidden';
    hiddenInput.value = '';
    document.getElementById('register-form').appendChild(hiddenInput);
    
    // Clear any stored referral code
    localStorage.removeItem('verifiedReferralCode');
});

// Add event listener to toggle password visibility
document.addEventListener('DOMContentLoaded', function() {
    const togglePasswordButtons = document.querySelectorAll('.toggle-password');
    togglePasswordButtons.forEach(button => {
        button.addEventListener('click', function() {
            const targetInput = document.getElementById(this.dataset.target);
            if (targetInput.type === 'password') {
                targetInput.type = 'text';
                this.querySelector('i').className = 'fas fa-eye-slash';
            } else {
                targetInput.type = 'password';
                this.querySelector('i').className = 'fas fa-eye';
            }
        });
    });
});
</script>

<!-- Privacy Policy Modal -->
<div class="modal fade" id="privacyPolicyModal" tabindex="-1" role="dialog" aria-labelledby="privacyPolicyModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-lg" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="privacyPolicyModalLabel">Privacy Policy</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="font-size: 1.5rem; opacity: 0.8;">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                
<div class="privacy-policy-content" id="privacy-policy-en" >
    <h2>Privacy Policy</h2>
    <p>Last updated: March 7, 2025</p>
    
    <h3>1. Introduction</h3>
    <p>Welcome to L2EVA. We respect your privacy and are committed to protecting your personal data. This privacy policy will inform you about how we look after your personal data when you visit our website and tell you about your privacy rights and how the law protects you.</p>
    
    <h3>2. Data We Collect</h3>
    <p>We may collect, use, store and transfer different kinds of personal data about you which we have grouped together as follows:</p>
    <ul>
        <li><strong>Identity Data</strong> includes username, password, and game character information.</li>
        <li><strong>Contact Data</strong> includes email address and Discord ID (if provided).</li>
        <li><strong>Technical Data</strong> includes internet protocol (IP) address, browser type and version, time zone setting and location, operating system and platform, and other technology on the devices you use to access this website.</li>
        <li><strong>Usage Data</strong> includes information about how you use our website and game services.</li>
    </ul>
    
    <h3>3. How We Use Your Data</h3>
    <p>We will only use your personal data when the law allows us to. Most commonly, we will use your personal data in the following circumstances:</p>
    <ul>
        <li>To register you as a new customer and manage your account</li>
        <li>To provide and improve our services</li>
        <li>To manage our relationship with you</li>
        <li>To administer and protect our business and website</li>
    </ul>
    
    <h3>4. Data Security</h3>
    <p>We have put in place appropriate security measures to prevent your personal data from being accidentally lost, used or accessed in an unauthorized way, altered or disclosed.</p>
    
    <h3>5. Your Legal Rights</h3>
    <p>Under certain circumstances, you have rights under data protection laws in relation to your personal data, including the right to request access, correction, erasure, restriction, transfer, or to object to processing.</p>
    
    <h3>6. Contact Us</h3>
    <p>If you have any questions about this privacy policy or our privacy practices, please contact us.</p>
</div>

<div class="privacy-policy-content" id="privacy-policy-el" style="display: none;">
    <h2>Πολιτική Απορρήτου</h2>
    <p>Τελευταία ενημέρωση: 7 Μαρτίου 2025</p>
    
    <h3>1. Εισαγωγή</h3>
    <p>Καλώς ήρθατε στο L2EVA. Σεβόμαστε το απόρρητό σας και δεσμευόμαστε να προστατεύσουμε τα προσωπικά σας δεδομένα. Αυτή η πολιτική απορρήτου θα σας ενημερώσει για το πώς φροντίζουμε τα προσωπικά σας δεδομένα όταν επισκέπτεστε τον ιστότοπό μας και θα σας ενημερώσει για τα δικαιώματα απορρήτου σας και πώς ο νόμος σας προστατεύει.</p>
    
    <h3>2. Δεδομένα που Συλλέγουμε</h3>
    <p>Μπορούμε να συλλέξουμε, να χρησιμοποιήσουμε, να αποθηκεύσουμε και να μεταφέρουμε διαφορετικά είδη προσωπικών δεδομένων για εσάς, τα οποία έχουμε ομαδοποιήσει ως εξής:</p>
    <ul>
        <li><strong>Δεδομένα Ταυτότητας</strong> περιλαμβάνουν όνομα χρήστη, κωδικό πρόσβασης και πληροφορίες χαρακτήρα παιχνιδιού.</li>
        <li><strong>Δεδομένα Επικοινωνίας</strong> περιλαμβάνουν διεύθυνση email και Discord ID (εάν παρέχεται).</li>
        <li><strong>Τεχνικά Δεδομένα</strong> περιλαμβάνουν διεύθυνση πρωτοκόλλου διαδικτύου (IP), τύπο και έκδοση προγράμματος περιήγησης, ρύθμιση ζώνης ώρας και τοποθεσία, λειτουργικό σύστημα και πλατφόρμα, και άλλη τεχνολογία στις συσκευές που χρησιμοποιείτε για πρόσβαση σε αυτόν τον ιστότοπο.</li>
        <li><strong>Δεδομένα Χρήσης</strong> περιλαμβάνουν πληροφορίες σχετικά με το πώς χρησιμοποιείτε τον ιστότοπο και τις υπηρεσίες παιχνιδιού μας.</li>
    </ul>
    
    <h3>3. Πώς Χρησιμοποιούμε τα Δεδομένα σας</h3>
    <p>Θα χρησιμοποιήσουμε τα προσωπικά σας δεδομένα μόνο όταν ο νόμος μας το επιτρέπει. Συνήθως, θα χρησιμοποιήσουμε τα προσωπικά σας δεδομένα στις ακόλουθες περιπτώσεις:</p>
    <ul>
        <li>Για να σας εγγράψουμε ως νέο πελάτη και να διαχειριστούμε τον λογαριασμό σας</li>
        <li>Για να παρέχουμε και να βελτιώσουμε τις υπηρεσίες μας</li>
        <li>Για να διαχειριστούμε τη σχέση μας με εσάς</li>
        <li>Για να διαχειριστούμε και να προστατεύσουμε την επιχείρηση και τον ιστότοπό μας</li>
    </ul>
    
    <h3>4. Ασφάλεια Δεδομένων</h3>
    <p>Έχουμε θέσει σε εφαρμογή κατάλληλα μέτρα ασφαλείας για να αποτρέψουμε την τυχαία απώλεια, χρήση ή πρόσβαση στα προσωπικά σας δεδομένα με μη εξουσιοδοτημένο τρόπο, την αλλοίωση ή την αποκάλυψη.</p>
    
    <h3>5. Τα Νομικά σας Δικαιώματα</h3>
    <p>Υπό ορισμένες συνθήκες, έχετε δικαιώματα βάσει των νόμων προστασίας δεδομένων σε σχέση με τα προσωπικά σας δεδομένα, συμπεριλαμβανομένου του δικαιώματος να ζητήσετε πρόσβαση, διόρθωση, διαγραφή, περιορισμό, μεταφορά ή να αντιταχθείτε στην επεξεργασία.</p>
    
    <h3>6. Επικοινωνήστε μαζί μας</h3>
    <p>Εάν έχετε ερωτήσεις σχετικά με αυτήν την πολιτική απορρήτου ή τις πρακτικές απορρήτου μας, επικοινωνήστε μαζί μας.</p>
</div>

<div class="privacy-policy-content" id="privacy-policy-ru" style="display: none;">
    <h2>Политика Конфиденциальности</h2>
    <p>Последнее обновление: 7 марта 2025 г.</p>
    
    <h3>1. Введение</h3>
    <p>Добро пожаловать в L2EVA. Мы уважаем вашу конфиденциальность и стремимся защищать ваши личные данные. Эта политика конфиденциальности расскажет вам о том, как мы заботимся о ваших личных данных, когда вы посещаете наш веб-сайт, и расскажет вам о ваших правах на конфиденциальность и о том, как закон защищает вас.</p>
    
    <h3>2. Данные, которые мы собираем</h3>
    <p>Мы можем собирать, использовать, хранить и передавать различные виды персональных данных о вас, которые мы сгруппировали следующим образом:</p>
    <ul>
        <li><strong>Идентификационные данные</strong> включают имя пользователя, пароль и информацию о персонаже игры.</li>
        <li><strong>Контактные данные</strong> включают адрес электронной почты и Discord ID (если предоставлено).</li>
        <li><strong>Технические данные</strong> включают IP-адрес, тип и версию браузера, настройку часового пояса и местоположение, операционную систему и платформу, а также другие технологии на устройствах, которые вы используете для доступа к этому веб-сайту.</li>
        <li><strong>Данные об использовании</strong> включают информацию о том, как вы используете наш веб-сайт и игровые сервисы.</li>
    </ul>
    
    <h3>3. Как мы используем ваши данные</h3>
    <p>Мы будем использовать ваши персональные данные только тогда, когда закон позволяет нам это делать. Чаще всего мы будем использовать ваши персональные данные в следующих обстоятельствах:</p>
    <ul>
        <li>Для регистрации вас в качестве нового клиента и управления вашей учетной записью</li>
        <li>Для предоставления и улучшения наших услуг</li>
        <li>Для управления нашими отношениями с вами</li>
        <li>Для администрирования и защиты нашего бизнеса и веб-сайта</li>
    </ul>
    
    <h3>4. Безопасность данных</h3>
    <p>Мы приняли соответствующие меры безопасности для предотвращения случайной потери, использования или доступа к вашим персональным данным несанкционированным способом, изменения или раскрытия.</p>
    
    <h3>5. Ваши законные права</h3>
    <p>При определенных обстоятельствах у вас есть права в соответствии с законами о защите данных в отношении ваших персональных данных, включая право запрашивать доступ, исправление, удаление, ограничение, передачу или возражать против обработки.</p>
    
    <h3>6. Свяжитесь с нами</h3>
    <p>Если у вас есть вопросы об этой политике конфиденциальности или наших практиках конфиденциальности, пожалуйста, свяжитесь с нами.</p>
</div>

<div class="privacy-policy-content" id="privacy-policy-pt" style="display: none;">
    <h2>Política de Privacidade</h2>
    <p>Última atualização: 7 de março de 2025</p>
    
    <h3>1. Introdução</h3>
    <p>Bem-vindo ao L2EVA. Respeitamos sua privacidade e estamos comprometidos em proteger seus dados pessoais. Esta política de privacidade irá informá-lo sobre como cuidamos de seus dados pessoais quando você visita nosso site e informá-lo sobre seus direitos de privacidade e como a lei o protege.</p>
    
    <h3>2. Dados que Coletamos</h3>
    <p>Podemos coletar, usar, armazenar e transferir diferentes tipos de dados pessoais sobre você, que agrupamos da seguinte forma:</p>
    <ul>
        <li><strong>Dados de Identidade</strong> incluem nome de usuário, senha e informações do personagem do jogo.</li>
        <li><strong>Dados de Contato</strong> incluem endereço de e-mail e ID do Discord (se fornecido).</li>
        <li><strong>Dados Técnicos</strong> incluem endereço de protocolo de internet (IP), tipo e versão do navegador, configuração de fuso horário e localização, sistema operacional e plataforma, e outras tecnologias nos dispositivos que você usa para acessar este site.</li>
        <li><strong>Dados de Uso</strong> incluem informações sobre como você usa nosso site e serviços de jogo.</li>
    </ul>
    
    <h3>3. Como Usamos Seus Dados</h3>
    <p>Só usaremos seus dados pessoais quando a lei nos permitir. Mais comumente, usaremos seus dados pessoais nas seguintes circunstâncias:</p>
    <ul>
        <li>Para registrá-lo como um novo cliente e gerenciar sua conta</li>
        <li>Para fornecer e melhorar nossos serviços</li>
        <li>Para gerenciar nosso relacionamento com você</li>
        <li>Para administrar e proteger nossos negócios e site</li>
    </ul>
    
    <h3>4. Segurança de Dados</h3>
    <p>Implementamos medidas de segurança apropriadas para evitar que seus dados pessoais sejam acidentalmente perdidos, usados ou acessados de maneira não autorizada, alterados ou divulgados.</p>
    
    <h3>5. Seus Direitos Legais</h3>
    <p>Em determinadas circunstâncias, você tem direitos sob as leis de proteção de dados em relação aos seus dados pessoais, incluindo o direito de solicitar acesso, correção, exclusão, restrição, transferência ou se opor ao processamento.</p>
    
    <h3>6. Entre em Contato Conosco</h3>
    <p>Se você tiver alguma dúvida sobre esta política de privacidade ou nossas práticas de privacidade, entre em contato conosco.</p>
</div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>

<!-- Terms of Service Modal -->
<div class="modal fade" id="termsOfServiceModal" tabindex="-1" role="dialog" aria-labelledby="termsOfServiceModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-lg" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="termsOfServiceModalLabel">Terms of Service</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="font-size: 1.5rem; opacity: 0.8;">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                
<div class="terms-of-service-content" id="terms-of-service-en" >
    <h2>Terms of Service</h2>
    <p>Last updated: March 7, 2025</p>
    
    <h3>1. Acceptance of Terms</h3>
    <p>By accessing and using this website and our services, you accept and agree to be bound by the terms and provisions of this agreement. If you do not agree to abide by the above, please do not use this service.</p>
    
    <h3>2. User Accounts</h3>
    <p>When you create an account with us, you must provide accurate, complete, and current information. Failure to do so constitutes a breach of the Terms, which may result in immediate termination of your account on our Service.</p>
    <p>You are responsible for safeguarding the password that you use to access the Service and for any activities or actions under your password.</p>
    <p>You agree not to disclose your password to any third party. You must notify us immediately upon becoming aware of any breach of security or unauthorized use of your account.</p>
    
    <h3>3. Game Rules and Conduct</h3>
    <p>You agree to follow all game rules and guidelines. Prohibited activities include but are not limited to:</p>
    <ul>
        <li>Cheating, hacking, or exploiting game mechanics</li>
        <li>Using unauthorized third-party software</li>
        <li>Engaging in abusive behavior towards other players</li>
        <li>Selling or trading accounts or virtual items for real money</li>
    </ul>
    
    <h3>4. Intellectual Property</h3>
    <p>The Service and its original content, features, and functionality are and will remain the exclusive property of L2EVA and its licensors. The Service is protected by copyright, trademark, and other laws.</p>
    
    <h3>5. Termination</h3>
    <p>We may terminate or suspend your account immediately, without prior notice or liability, for any reason whatsoever, including without limitation if you breach the Terms.</p>
    
    <h3>6. Limitation of Liability</h3>
    <p>In no event shall L2EVA, nor its directors, employees, partners, agents, suppliers, or affiliates, be liable for any indirect, incidental, special, consequential or punitive damages, including without limitation, loss of profits, data, use, goodwill, or other intangible losses, resulting from your access to or use of or inability to access or use the Service.</p>
    
    <h3>7. Changes</h3>
    <p>We reserve the right, at our sole discretion, to modify or replace these Terms at any time. If a revision is material we will try to provide at least 30 days' notice prior to any new terms taking effect.</p>
    
    <h3>8. Contact Us</h3>
    <p>If you have any questions about these Terms, please contact us.</p>
</div>

<div class="terms-of-service-content" id="terms-of-service-el" style="display: none;">
    <h2>Όροι Χρήσης</h2>
    <p>Τελευταία ενημέρωση: 7 Μαρτίου 2025</p>
    
    <h3>1. Αποδοχή Όρων</h3>
    <p>Με την πρόσβαση και τη χρήση αυτού του ιστότοπου και των υπηρεσιών μας, αποδέχεστε και συμφωνείτε να δεσμεύεστε από τους όρους και τις διατάξεις αυτής της συμφωνίας. Εάν δεν συμφωνείτε να συμμορφωθείτε με τα παραπάνω, παρακαλούμε μην χρησιμοποιείτε αυτήν την υπηρεσία.</p>
    
    <h3>2. Λογαριασμοί Χρηστών</h3>
    <p>Όταν δημιουργείτε έναν λογαριασμό μαζί μας, πρέπει να παρέχετε ακριβείς, πλήρεις και τρέχουσες πληροφορίες. Η αποτυχία να το κάνετε αυτό αποτελεί παραβίαση των Όρων, η οποία μπορεί να οδηγήσει σε άμεση διακοπή του λογαριασμού σας στην Υπηρεσία μας.</p>
    <p>Είστε υπεύθυνοι για τη διαφύλαξη του κωδικού πρόσβασης που χρησιμοποιείτε για την πρόσβαση στην Υπηρεσία και για οποιεσδήποτε δραστηριότητες ή ενέργειες υπό τον κωδικό πρόσβασής σας.</p>
    <p>Συμφωνείτε να μην αποκαλύψετε τον κωδικό πρόσβασής σας σε οποιονδήποτε τρίτο. Πρέπει να μας ειδοποιήσετε αμέσως μόλις αντιληφθείτε οποιαδήποτε παραβίαση ασφαλείας ή μη εξουσιοδοτημένη χρήση του λογαριασμού σας.</p>
    
    <h3>3. Κανόνες Παιχνιδιού και Συμπεριφορά</h3>
    <p>Συμφωνείτε να ακολουθείτε όλους τους κανόνες και τις οδηγίες του παιχνιδιού. Οι απαγορευμένες δραστηριότητες περιλαμβάνουν, αλλά δεν περιορίζονται σε:</p>
    <ul>
        <li>Απάτη, hacking ή εκμετάλλευση μηχανισμών παιχνιδιού</li>
        <li>Χρήση μη εξουσιοδοτημένου λογισμικού τρίτων</li>
        <li>Συμμετοχή σε καταχρηστική συμπεριφορά προς άλλους παίκτες</li>
        <li>Πώληση ή ανταλλαγή λογαριασμών ή εικονικών αντικειμένων για πραγματικά χρήματα</li>
    </ul>
    
    <h3>4. Πνευματική Ιδιοκτησία</h3>
    <p>Η Υπηρεσία και το πρωτότυπο περιεχόμενο, οι λειτουργίες και η λειτουργικότητά της είναι και θα παραμείνουν αποκλειστική ιδιοκτησία του L2EVA και των αδειοδοτών του. Η Υπηρεσία προστατεύεται από πνευματικά δικαιώματα, εμπορικά σήματα και άλλους νόμους.</p>
    
    <h3>5. Τερματισμός</h3>
    <p>Μπορούμε να τερματίσουμε ή να αναστείλουμε τον λογαριασμό σας αμέσως, χωρίς προηγούμενη ειδοποίηση ή ευθύνη, για οποιονδήποτε λόγο, συμπεριλαμβανομένης χωρίς περιορισμό της παραβίασης των Όρων.</p>
    
    <h3>6. Περιορισμός Ευθύνης</h3>
    <p>Σε καμία περίπτωση το L2EVA, ούτε οι διευθυντές, οι υπάλληλοι, οι συνεργάτες, οι πράκτορες, οι προμηθευτές ή οι συνεργάτες του, δεν θα ευθύνονται για οποιεσδήποτε έμμεσες, τυχαίες, ειδικές, επακόλουθες ή τιμωρητικές ζημίες, συμπεριλαμβανομένων χωρίς περιορισμό, απώλειας κερδών, δεδομένων, χρήσης, καλής θέλησης ή άλλων άυλων απωλειών, που προκύπτουν από την πρόσβασή σας ή τη χρήση ή την αδυναμία πρόσβασης ή χρήσης της Υπηρεσίας.</p>
    
    <h3>7. Αλλαγές</h3>
    <p>Διατηρούμε το δικαίωμα, κατά την αποκλειστική μας διακριτική ευχέρεια, να τροποποιήσουμε ή να αντικαταστήσουμε αυτούς τους Όρους ανά πάσα στιγμή. Εάν μια αναθεώρηση είναι ουσιώδης, θα προσπαθήσουμε να παράσχουμε τουλάχιστον 30 ημέρες ειδοποίηση πριν από την έναρξη ισχύος οποιωνδήποτε νέων όρων.</p>
    
    <h3>8. Επικοινωνήστε μαζί μας</h3>
    <p>Εάν έχετε ερωτήσεις σχετικά με αυτούς τους Όρους, επικοινωνήστε μαζί μας.</p>
</div>

<div class="terms-of-service-content" id="terms-of-service-ru" style="display: none;">
    <h2>Условия Использования</h2>
    <p>Последнее обновление: 7 марта 2025 г.</p>
    
    <h3>1. Принятие Условий</h3>
    <p>Получая доступ и используя этот веб-сайт и наши услуги, вы принимаете и соглашаетесь соблюдать условия и положения настоящего соглашения. Если вы не согласны соблюдать вышеуказанное, пожалуйста, не используйте эту услугу.</p>
    
    <h3>2. Учетные Записи Пользователей</h3>
    <p>При создании учетной записи у нас вы должны предоставить точную, полную и актуальную информацию. Невыполнение этого требования является нарушением Условий, что может привести к немедленному прекращению вашей учетной записи в нашем Сервисе.</p>
    <p>Вы несете ответственность за сохранение пароля, который вы используете для доступа к Сервису, и за любые действия или действия под вашим паролем.</p>
    <p>Вы соглашаетесь не раскрывать свой пароль третьим лицам. Вы должны немедленно уведомить нас, как только вам станет известно о любом нарушении безопасности или несанкционированном использовании вашей учетной записи.</p>
    
    <h3>3. Правила Игры и Поведение</h3>
    <p>Вы соглашаетесь следовать всем правилам и руководствам игры. Запрещенные действия включают, но не ограничиваются:</p>
    <ul>
        <li>Обман, взлом или эксплуатация игровых механик</li>
        <li>Использование несанкционированного стороннего программного обеспечения</li>
        <li>Участие в оскорбительном поведении по отношению к другим игрокам</li>
        <li>Продажа или обмен учетных записей или виртуальных предметов за реальные деньги</li>
    </ul>
    
    <h3>4. Интеллектуальная Собственность</h3>
    <p>Сервис и его оригинальный контент, функции и функциональность являются и останутся исключительной собственностью L2EVA и его лицензиаров. Сервис защищен авторским правом, товарным знаком и другими законами.</p>
    
    <h3>5. Прекращение</h3>
    <p>Мы можем немедленно прекратить или приостановить вашу учетную запись без предварительного уведомления или ответственности по любой причине, включая, без ограничений, если вы нарушаете Условия.</p>
    
    <h3>6. Ограничение Ответственности</h3>
    <p>Ни при каких обстоятельствах L2EVA, ни его директора, сотрудники, партнеры, агенты, поставщики или аффилированные лица не несут ответственности за любые косвенные, случайные, особые, последующие или штрафные убытки, включая, без ограничений, потерю прибыли, данных, использования, доброй воли или других нематериальных потерь, возникающих в результате вашего доступа или использования или невозможности доступа или использования Сервиса.</p>
    
    <h3>7. Изменения</h3>
    <p>Мы оставляем за собой право, по нашему собственному усмотрению, изменять или заменять эти Условия в любое время. Если пересмотр является существенным, мы постараемся предоставить уведомление не менее чем за 30 дней до вступления в силу любых новых условий.</p>
    
    <h3>8. Свяжитесь с Нами</h3>
    <p>Если у вас есть вопросы об этих Условиях, пожалуйста, свяжитесь с нами.</p>
</div>

<div class="terms-of-service-content" id="terms-of-service-pt" style="display: none;">
    <h2>Termos de Serviço</h2>
    <p>Última atualização: 7 de março de 2025</p>
    
    <h3>1. Aceitação dos Termos</h3>
    <p>Ao acessar e usar este site e nossos serviços, você aceita e concorda em estar vinculado aos termos e disposições deste acordo. Se você não concordar em cumprir o acima exposto, por favor, não use este serviço.</p>
    
    <h3>2. Contas de Usuário</h3>
    <p>Quando você cria uma conta conosco, deve fornecer informações precisas, completas e atualizadas. O não cumprimento disso constitui uma violação dos Termos, o que pode resultar no encerramento imediato de sua conta em nosso Serviço.</p>
    <p>Você é responsável por proteger a senha que usa para acessar o Serviço e por quaisquer atividades ou ações realizadas com sua senha.</p>
    <p>Você concorda em não divulgar sua senha a terceiros. Você deve nos notificar imediatamente ao tomar conhecimento de qualquer violação de segurança ou uso não autorizado de sua conta.</p>
    
    <h3>3. Regras do Jogo e Conduta</h3>
    <p>Você concorda em seguir todas as regras e diretrizes do jogo. As atividades proibidas incluem, mas não se limitam a:</p>
    <ul>
        <li>Trapacear, hackear ou explorar mecânicas do jogo</li>
        <li>Usar software de terceiros não autorizado</li>
        <li>Envolver-se em comportamento abusivo com outros jogadores</li>
        <li>Vender ou trocar contas ou itens virtuais por dinheiro real</li>
    </ul>
    
    <h3>4. Propriedade Intelectual</h3>
    <p>O Serviço e seu conteúdo original, recursos e funcionalidades são e permanecerão propriedade exclusiva da L2EVA e seus licenciadores. O Serviço é protegido por direitos autorais, marcas registradas e outras leis.</p>
    
    <h3>5. Encerramento</h3>
    <p>Podemos encerrar ou suspender sua conta imediatamente, sem aviso prévio ou responsabilidade, por qualquer motivo, incluindo, sem limitação, se você violar os Termos.</p>
    
    <h3>6. Limitação de Responsabilidade</h3>
    <p>Em nenhum caso a L2EVA, nem seus diretores, funcionários, parceiros, agentes, fornecedores ou afiliados, serão responsáveis por quaisquer danos indiretos, incidentais, especiais, consequenciais ou punitivos, incluindo, sem limitação, perda de lucros, dados, uso, boa vontade ou outras perdas intangíveis, resultantes do seu acesso ou uso ou incapacidade de acessar ou usar o Serviço.</p>
    
    <h3>7. Alterações</h3>
    <p>Reservamo-nos o direito, a nosso exclusivo critério, de modificar ou substituir estes Termos a qualquer momento. Se uma revisão for material, tentaremos fornecer pelo menos 30 dias de aviso antes que quaisquer novos termos entrem em vigor.</p>
    
    <h3>8. Entre em Contato Conosco</h3>
    <p>Se você tiver alguma dúvida sobre estes Termos, entre em contato conosco.</p>
</div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>

<!-- Add JavaScript to fetch real IPv4 address -->
<script>
// Function to fetch the user's real IPv4 address from multiple external services
async function fetchRealIPv4Address() {
    const ipServices = [
        'https://api.ipify.org?format=json',
        'https://api.ipdata.co?api-key=test',
        'https://ipapi.co/json/',
        'https://api.seeip.org/jsonip',
        'https://api.db-ip.com/v2/free/self'
    ];
    
    // Try each service until we get a valid IPv4 address
    for (const service of ipServices) {
        try {

            const response = await fetch(service, { timeout: 3000 });
            if (!response.ok) continue;
            
            const data = await response.json();
            // Different services use different field names for the IP
            const ip = data.ip || data.IPv4 || data.ipv4 || data.query || '';
            
            // Validate that this is an IPv4 address (simple regex check)
            if (ip && /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(ip)) {

                return ip;
            }
        } catch (error) {
            // Continue to the next service if this one fails
        }
    }
    
    // If all services fail, return empty string
    return '';
}

// Fetch the IP address when the page loads
document.addEventListener('DOMContentLoaded', async function() {
    try {
        const ipAddress = await fetchRealIPv4Address();
        if (ipAddress) {
            // Set the IP address in both login and register hidden form fields
            document.getElementById('real_ip_address').value = ipAddress;
            
            // Also set it in the registration form if it exists
            const registerIpField = document.getElementById('register_real_ip_address');
            if (registerIpField) {
                registerIpField.value = ipAddress;
            }
            

            
            // Also store in localStorage as backup
            localStorage.setItem('real_ip_address', ipAddress);
        }
    } catch (error) {

    }
});

// Also set the IP address when the form is submitted (in case it wasn't ready yet)
document.getElementById('login-form').addEventListener('submit', function(event) {
    // If we have the IP in localStorage but not in the form, use that
    const storedIP = localStorage.getItem('real_ip_address');
    const formIP = document.getElementById('real_ip_address').value;
    
    if (!formIP && storedIP) {
        document.getElementById('real_ip_address').value = storedIP;

    }
});
</script>

</body>
</html>                               

Whois info of domain

Domain Name: L2EVA.COM
Registry Domain ID: 2943841366_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.papaki.gr
Registrar URL: http://www.papaki.com
Updated Date: 2024-12-20T18:08:30Z
Creation Date: 2024-12-20T14:44:53Z
Registry Expiry Date: 2025-12-20T14:44:53Z
Registrar: Enartia Single Member S.A.
Registrar IANA ID: 1727
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: +30.2118002275
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
Name Server: GEMMA.NS.CLOUDFLARE.COM
Name Server: SULLIVAN.NS.CLOUDFLARE.COM
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2025-05-16T22:34:51Z <<<
For more information on Whois status codes, please visit https://icann.org/epp
NOTICE: The expiration date displayed in this record is the date the
TERMS OF USE: You are not authorized to access or query our Whois
by the following terms of use: You agree that you may use this Data only
to: (1) allow, enable, or otherwise support the transmission of mass