Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #16  
Old 03-15-2012, 03:28 PM
Warking
Hill Giant
 
Join Date: Mar 2012
Location: Norrath
Posts: 132
Default

That worked!! Users can now log in. Thanks everyone!!!
Reply With Quote
  #17  
Old 03-30-2012, 03:19 AM
Noport
Opcode Ninja
 
Join Date: Mar 2009
Location: San francisco
Posts: 426
Default

If you have a website for your users to login install Apache and php use this below i dug this up from May 2007 was posted on cavedude site
Code:
<?php
/*******************************************
*      Aerewen's Uber Fake Pub Server      *
*         Why? Because we can :oD          *
********************************************

I will be providing no support for this utility as it
was originally created for use on my server only, but I
wanted everyone else to be able to share their PEQ servers
with friends in an easy-to-use manner. This tool will
prevent you from having to manually update the database
account table.

Put this page on your site after setting the variables below to
the information of the MySQL database with the PEQ info in it.
*/
$DB_ADDY = "localhost"; //address:port for the MySQL server
$DB_USER = "root"; //username to login to MySQL with
$DB_PASS = "mypassword"; //password to login to MySQL with
$DB_DB = "peq"; //database name to use "peq" for default installation

$server_name "Name of Your Server"; //set the name of your server here
$admin_level = 250; //default level of admin to give to people who sign up
//This WILL NOT modify admin of people logging in to the server.

/*
Have your friends access this page on the webserver, enter a 
username/password to create an account, and click Login/Create.
This will create their account with the level of access specified
in $admin_level. It will then detect the IP address they accessed
the page from, and update the account table with that IP.

Before connecting to your PEQ server, you should always have people
login from this page to update their IP if needed.
*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><?php echo $server_name; ?> PEQ Server Authentication</title>
<style type="text/css">
<!--
body,td,th {
	font-family: Geneva, Arial, Helvetica, sans-serif;
	font-size: 14px;
	color: #CCCCCC;
}
body {
	background-color: #000000;
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
.style1 {font-size: 9px}
.formelements {
	font-family: Geneva, Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	color: #FFFFFF;
	background-color: #333333;
	border: thin solid #666666;
}
a {
	font-family: Geneva, Arial, Helvetica, sans-serif;
	font-size: 14px;
	color: #CCCCCC;
}
a:link {
	text-decoration: none;
}
a:visited {
	text-decoration: none;
	color: #CCCCCC;
}
a:hover {
	text-decoration: underline;
	color: #CCCCCC;
}
a:active {
	text-decoration: none;
	color: #CCCCCC;
}
.style4 {font-size: 10px}
-->
</style>
</head>

<body>
<div align="center"><?php
if(!isset($_POST['Submit'])){
?>
  <form id="form1" name="form1" method="post" action="index.php">
    <table width="500" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="174" align="right" valign="top"><div align="right">Username:&nbsp;&nbsp;</div></td>
        <td width="326" align="left" valign="top"><input name="username" type="text" class="formelements" id="username" size="40" maxlength="9" />
        <br />
        <span class="style1">*must be 9 characters or less</span> </td>
      </tr>
      <tr>
        <td align="right" valign="top"><div align="right">Password:&nbsp;&nbsp;</div></td>
        <td align="left" valign="top"><input name="password" type="password" class="formelements" id="password" size="40" maxlength="9" />
          <br />
          <span class="style1">*must be 9 characters or less</span></td>
      </tr>
      <tr>
        <td colspan="2" align="center" valign="top"><input name="Submit" type="submit" class="formelements" value="Login/Create" />&nbsp;&nbsp;&nbsp;<input name="Reset" type="reset" class="formelements" value="Clear" /></td>
      </tr>
    </table>
  </form>
<?php
} else {
	//set font color
	$link = mysql_connect($DB_ADDY,$DB_USER,$DB_PASS);
	mysql_select_db($DB_DB,$link);
	$sql = "SELECT * FROM `account` WHERE `name` = '". $_POST['username']. "'";
	$res = mysql_query($sql,$link);
	if(mysql_num_rows($res) != 0){
		//username was found
		$info = mysql_fetch_assoc($res);
		if($info['password'] == $_POST['password']){
			//password matches
			if($_SERVER['REMOTE_ADDR'] != $info['minilogin_ip']){
				//ip address has changed
				$sql = "UPDATE `account` SET `minilogin_ip` = '". $_SERVER['REMOTE_ADDR']. "' WHERE `name` = '". $_POST['username']. "' AND `password` = '". $_POST['password']. "'";
				$sql2 = "UPDATE `account` SET `minilogin_ip` = '0.0.0.0' WHERE `minilogin_ip` = '". $_SERVER['REMOTE_ADDR']. "'";
				if(($res = mysql_query($sql2,$link)) && mysql_query($sql,$link)){
					echo '<font color="#00FF00">';
					echo 'Your IP address was successfully updated. You may now start EverQuest Titanium Edition and log in to the server.';
					echo '</font>';
				} else {
					echo '<font color="#FF0000">';
					echo 'There was an error updating your IP address. Please try again later or contact an admin for assistance.';
					echo '</font>';
				}
			} else {
				//ip didnt change
				echo '<font color="#00FF00">';
				echo 'Your IP address has not changed. You may now start EverQuest Titanium Edition and log in to the server.';
				echo '</font>';
			}
		} else {
			//password was wrong
			echo '<font color="#FF0000">';
			echo 'The username: '. $_POST['username']. '<br />Already exists in our database, and the password<br />you entered for it was incorrect.<br />';
			echo 'If this is your account, please <a href="index.php">go back</a>, re-enter your password, and try again.<br />';
			echo 'If you were attempting to create a new account, please try a different user name.';
			echo '</font>';
		}
	} else {
		//username was not found create it now
		$newno = "SELECT `id` FROM `account` ORDER BY `id` DESC LIMIT 1";
		$res = mysql_query($newno,$link);
		$newno = mysql_fetch_assoc($res);
		$newno = ($newno['id'] + 1);
		$sql = "INSERT INTO `account` VALUES (". $newno. ",'". $_POST['username']. "','',0,'". $_POST['password']. "',". $admin_level. ",". $newno. ",0,0,'". $_SERVER['REMOTE_ADDR']. "',0,0)";
		$sql2 = "UPDATE `account` SET `minilogin_ip` = '0.0.0.0' WHERE `minilogin_ip` = '". $_SERVER['REMOTE_ADDR']. "'";
		if(($res = mysql_query($sql2,$link)) && mysql_query($sql,$link)){
			echo '<font color="#00FF00">';
			echo 'New account created successfully. You may now start EverQuest Titanium Edition and log in to the server using:<br />';
			echo 'Username: '. $_POST['username']. '<br />Password: '. $_POST['password']. '<br />*username and password are case sensitive!';
			echo '</font>';
		} else {
			echo '<font color="#FF0000">';
			echo 'There was an error while trying to create your account. Please try again later.';
			echo '</font>';
		}
	}
}
?><br /><br />
<span class="style4">Before logging in to our server, please make sure you have downloaded the eqhost.txt and copied it into your EverQuest directory.<br />
For a new copy of eqhost.txt, right click <a href="eqhost.txt" class="style4">This Link</a> and
choose &quot;Save Target As&quot;.<br />
This file will replace the existing one in your EverQuest directory, which defaults to: C:\Program Files\Sony\EverQuest\<br />
If you need any assistance, please contact an admin.<br />All content is protected under the GPL. Scripts are &copy;2007 Icesnake Web Solutions, LLC</span></div>
</body>
</html>
Edit eqemu_config.xml
Code:
		<!-- Loginserver information.  DO NOT EDIT -->
		<loginserver>
			<host>eqlplogin1.com</host>
			<port>5999</port>
			<account>xxxxxxx</account>
			<password>xxxxxx</password>
		</loginserver>
Enter the same Username and password you put in tblserveradminregistration under peqlogindb
Don't forget to edit C:\Windows\System32\drivers\etc\hosts
Your welcome Warking! I enjoy seen chrsschb flip his desk over heheha 80)
Reply With Quote
  #18  
Old 04-03-2012, 09:20 AM
Noport
Opcode Ninja
 
Join Date: Mar 2009
Location: San francisco
Posts: 426
Default

if you still need a file called PublicLogin.exe let me know 80) don't waste your time looking for it i found it in the back of the tool shed.
Reply With Quote
  #19  
Old 10-14-2012, 11:56 AM
Warking
Hill Giant
 
Join Date: Mar 2012
Location: Norrath
Posts: 132
Default

After the latest 2214 revision has anyone noticed an issue with some clients logging in? I have one client that can still log in fine but sometimes gets disconnected randomly, but it could be his computer. I have another that once he enters his username and password it just crashes.

However, I can login fine locally.

The related thread this is posted in is my setup from earlier in the year. Were there port changes in the latest DB update? Do I need to update my peqlogindb after a peq DB update?
Reply With Quote
  #20  
Old 11-05-2012, 10:01 PM
Noport
Opcode Ninja
 
Join Date: Mar 2009
Location: San francisco
Posts: 426
Default

not that i'm aware of warking i had the same happen to me on f2p client (gets disconnected randomly). answer no need to update peqlogindb
Reply With Quote
  #21  
Old 11-15-2012, 03:45 PM
crinos96
Fire Beetle
 
Join Date: Nov 2012
Posts: 7
Default

Ok I seem to have the same problem down to the T. I can login from internal computers fine but external ones can only get to the login server. As soon as they select the server it just hangs till it kicks them back to login. He said he fixed it with this

Changed the config files to the server hostname. server hosts file changed to add server IP = server hostname. Then Changing the client's windows and eq hostfiles for external IP = server hostname. eqhosts to server hostname:5999

I'm just not sure of what this is. I believe it is telling me to edit my config again and the client side but I'm not 100% sure of what it is I'm trying to edit. All ports are forwarded and external requests and see the server and it says up, but when they try and login it just hangs and won't pass them off to the world. I'm not sure where to go because it doesn't even give me any errors. I can see the fix seems to be right here I just don't understand it. Can anyone help me out with this a little?
Reply With Quote
  #22  
Old 11-15-2012, 10:32 PM
Noport
Opcode Ninja
 
Join Date: Mar 2009
Location: San francisco
Posts: 426
Default

make sure your server is setup as a public server under variables in your peq database
Reply With Quote
  #23  
Old 11-15-2012, 10:38 PM
crinos96
Fire Beetle
 
Join Date: Nov 2012
Posts: 7
Default

Already did. For the life of me I can't figure out why the login server won't hand the client off to the world.
Reply With Quote
  #24  
Old 11-15-2012, 10:40 PM
Noport
Opcode Ninja
 
Join Date: Mar 2009
Location: San francisco
Posts: 426
Default

edit eqemu_config change the host to your real ip address or dot com etc. on the local use your network ip address
Reply With Quote
  #25  
Old 11-16-2012, 12:02 AM
crinos96
Fire Beetle
 
Join Date: Nov 2012
Posts: 7
Default

Here is my eqemu_config


<server>
<world>
<shortname>old</shortname>
<longname>Old School</longname>


<address>192.168.0.9</address>
<localaddress>75.134.xx.xxx</localaddress>


<loginserver>
<host>192.168.0.9</host>
<port>5998</port>
<account>admin</account>
<password>xxxxxxxx</password>
</loginserver>


<!--<locked/>-->
<!-- <unlocked/> -->

<!-- Sets the ip/port for the tcp connections. Both zones and console (if enabled). Defaults are shown -->
<tcp ip="192.168.0.9" port="9000" telnet="enable"/>

<!-- Sets the shared key used by zone/launcher to connect to world -->
<key>12345</key>

<!-- Enable and set the port for the HTTP service. Defaults are shown -->
<http port="9080" enabled="true" mimefile="mime.types" />
</world>

<!-- Chatserver (channels) information. Defaults shown -->
<chatserver>
<host>channels.eqemulator.net</host>
<port>7778</port>
</chatserver>

<!-- Mailserver (in-game mail) information. Defaults shown -->
<mailserver>
<host>192.168.0.9</host>
<port>7779</port>
</mailserver>

<zones>
<defaultstatus>20</defaultstatus>

<!-- Sets port range for world to use to auto configure zones -->
<ports low="7000" high="7100"/>
</zones>


<database>
<host>127.0.0.1</host>
<port>3306</port>
<username>root</username>
<password>yes</password>
<db>peq</db>
</database>

<!-- Launcher Configuration -->
<launcher>
<!-- <logprefix>logs/zone-</logprefix> -->
<!-- <logsuffix>.log</logsuffix> -->
<!-- <exe>zone.exe or ./zone</exe> -->
<!-- <timers restart="10000" reterminate="10000"> -->
</launcher>

<!-- File locations. Defaults shown -->
<files>
<!-- <spells>spells_us.txt</spells> -->
<!-- <opcodes>opcodes.conf</opcodes> -->
<!-- <logsettings>log.ini</logsettings> -->
<!-- <eqtime>eqtime.cfg</eqtime> -->
</files>
<!-- Directory locations. Defaults shown -->
<directories>
<!-- <maps>maps</maps> -->
<!-- <quests>quests</quests> -->
<!-- <plugins>plugins</plugins> -->
</directories>
</server>
Reply With Quote
  #26  
Old 11-16-2012, 12:47 AM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

Address and local address are reversed. Local is your local network address, address is your public address on the internet.
Reply With Quote
  #27  
Old 11-17-2012, 09:00 PM
crinos96
Fire Beetle
 
Join Date: Nov 2012
Posts: 7
Default

Yep that was it. Man I guess I have been looking at this for too long to have missed something so simple. Thanks for the help! Up and running like a champ now.
Reply With Quote
  #28  
Old 04-25-2014, 03:45 PM
moltke24
Sarnak
 
Join Date: Dec 2011
Posts: 63
Default

im still figuring it out trying some stuff first before posting alot
Reply With Quote
  #29  
Old 04-25-2014, 04:47 PM
Noport
Opcode Ninja
 
Join Date: Mar 2009
Location: San francisco
Posts: 426
Default

Code:
[Fri Apr 25 15:40:23 2014]00043:*** WorldAuthenticate.  Error connecting to 75.114.228.31:9000 [client:DisconnectReasonConnectFail,server:DisconnectReasonNone]
[Fri Apr 25 15:40:23 2014]00044:Networking: Connection Closed [0] with 0 pending bytes.
[Fri Apr 25 15:40:23 2014]00045:*** ERROR: WorldAuthenticate has failed after attempting to connect.
It's an old post start as step 9. and read this might help you a lot.
what your server just told me your problem is on step 11
http://www.eqemulator.org/forums/showthread.php?t=29043
Reply With Quote
  #30  
Old 04-25-2014, 04:56 PM
moltke24
Sarnak
 
Join Date: Dec 2011
Posts: 63
Default

Quote:
Originally Posted by Noport View Post
edit eqemu_config change the host to your real ip address or dot com etc. on the local use your network ip address

I'm having the exact same problems everyone here is expressing.

Here is my EQ config file

Code:
<?xml version="1.0">
<server>
<world>
<!-- Set the shortname to ONE word. The longname is what shows up on server list -->
<shortname>Moltke</shortname> 
<longname>Moltke's World</longname>

<!-- DO NOT EDIT ANY LINES BETWEEN HERE AND THE DATABASE SECTION -->
<!-- <address>do.not.edit</address> -->
<!-- <localaddress>do.not.edit</localaddress> -->

<!-- Loginserver information. DO NOT EDIT -->
<loginserver>
<host>login.eqemulator.net</host>
<port>5998</port>
<account></account>
<password></password>
</loginserver>

<!-- Server status. Default is unlocked DO NOT EDIT RIGHT NOW -->
<!--<locked/>-->
<!-- <unlocked/> -->

<!-- Sets the ip/port for the tcp connections. DO NOT EDIT -->
<tcp ip="127.0.0.1" port="9000" telnet="disable"/>

<!-- Sets the shared key used by zone/launcher to connect to world -->
<key>somelongrandomstring12345</key>

<!-- Enable and set the port for the HTTP service. Defaults are shown -->
<http port="9080" enabled="false" mimefile="mime.types" />
</world>

<!-- Chatserver (channels) information. DO NOT EDIT -->
<chatserver>
<host>25.46.53.1xx</host>
<port>7778</port>
</chatserver>

<!-- Mailserver (in-game mail) information. DO NOT EDIT -->
<mailserver>
<host>25.46.53.1xx</host>
<port>7778</port>
</mailserver>

<zones>
<!-- The defaultstatus is what status the new toons will have on your server -->
<defaultstatus>200</defaultstatus>

<!-- Sets port range for world to use to auto configure zones DO NOT EDIT RIGHT NOW-->
<ports low="7000" high="7100"/>
</zones>

<!-- Set username to root and password is your MySQL password and db to peq -->
<database>
<host>127.0.0.1</host>
<port>3306</port>
<username>root</username>
<password>stumpy24</password>
<db>peq</db>
</database>
<qsdatabase>
<host>127.0.0.1</host>
<port>3306</port>
<username>root</username>
<password>stumpy24</password>
<db>peq</db>
</qsdatabase>

<!-- Launcher Configuration DO NOT EDIT-->
<launcher>
<!-- <logprefix>logs/zone-</logprefix> -->
<!-- <logsuffix>.log</logsuffix> -->
<!-- <exe>zone.exe</exe> -->
<!-- <timers restart="10000" reterminate="10000"> -->
</launcher>

<!-- File locations. DO NOT EDIT -->
<files>
<!-- <spells>spells_us.txt</spells> -->
<!-- <opcodes>opcodes.conf</opcodes> -->
<!-- <logsettings>log.ini</logsettings> -->
<!-- <eqtime>eqtime.cfg</eqtime> -->
</files>
<!-- Directory locations. DO NOT EDIT -->
<directories>
<!-- <maps>Maps</maps> -->
<!-- <quests>quests</quests> -->
<!-- <plugins>plugins</plugins> -->
</directories>
</server>
and here are my IP addresses, which ones do i need to switch?

INTERNAL IP address: 192.168.x.x
INTERNAL IP address: 25.46.53.1xx
ROUTERS IP Address: 192.168.x.x
EXTERNAL IP address: 75.114.228.xx


And this is from my database, so i think ive made it public?
Code:
 
/*	EQEMu: Everquest Server Emulator
	Copyright (C) 2001-2010 EQEMu Development Team (http://eqemulator.net)

	This program is free software; you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation; version 2 of the License.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY except by those people which sell it, which
	are required to give you total support for your newly bought product;
	without even the implied warranty of MERCHANTABILITY or FITNESS FOR
	A PARTICULAR PURPOSE. See the GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program; if not, write to the Free Software
	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef EQEMU_DATABASEMYSQL_H
#define EQEMU_DATABASEMYSQL_H

#include "Database.h"
#ifdef EQEMU_MYSQL_ENABLED

#include <string>
#include <sstream>
#include <stdlib.h>
#include <mysql.h>

/**
* Mysql Database class
*/
class DatabaseMySQL : public Database
{
public:
	/**
	* Constructor, sets our database to null.
	*/
	DatabaseMySQL() { db = nullptr; }

	/**
	* Constructor, tries to set our database to connect to the supplied options.
	*/
	DatabaseMySQL(std::string user, std::string pass, std::string host, std::string port, std::string name);

	/**
	* Destructor, frees our database if needed.
	*/
	virtual ~DatabaseMySQL();

	/**
	* @return Returns true if the database successfully connected.
	*/
	virtual bool IsConnected() { return (db != nullptr); }

	/**
	* Retrieves the login data (password hash and account id) from the account name provided
	* Needed for client login procedure.
	* Returns true if the record was found, false otherwise.
	*/
	virtual bool GetLoginDataFromAccountName(std::string name, std::string &password, unsigned int &id);

	/**
	* Retrieves the world registration from the long and short names provided.
	* Needed for world login procedure.
	* Returns true if the record was found, false otherwise.
	*/
	virtual bool GetWorldRegistration(std::string long_name, std::string short_name, unsigned int &id, std::string &desc, unsigned int &list_id,
		unsigned int &trusted, std::string &list_desc, std::string &account, std::string &password);

	/**
	* Updates the ip address of the client with account id = id
	*/
	virtual void UpdateLSAccountData(unsigned int id, std::string ip_address);

	/**
	* Updates or creates the login server account with info from world server
	*/
	virtual void UpdateLSAccountInfo(unsigned int id, std::string name, std::string password, std::string email);

	/**
	* Updates the ip address of the world with account id = id
	*/
	virtual void UpdateWorldRegistration(unsigned int id, std::string long_name, std::string ip_address);

	/**
	* Creates new world registration for unregistered servers and returns new id
	*/
	virtual bool CreateWorldRegistration(std::string long_name, std::string short_name, unsigned int &id);
protected:
	std::string user, pass, host, port, name;
	MYSQL *db;
};

#endif
#endif
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 12:45 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3