Нужна помощь

Статус
В этой теме нельзя размещать новые ответы.

GigaByte

Пользователь
Пользователь
10 Июн 2012
20
0
6
38
Всем привет, снова нужна ваша помощь. Перенесли сервер на дата-центр, поменяли всё, что можно. Ип в gamesys.conf поставили из дц, пароли к базе новые поставили, но при запуске (директории точь-в-точь как были на виртуалке, там работало) выдаёт:
root@Debian-60-squeeze-64-minimal:/pwserver# ./start_min.sh
=== LOGSERVICE ===
./start_min.sh: 11: ./logservice: not found
=== DONE! ===

=== UNIQUENAMED ===
info : logclient: OnAddSession
info : logclienttcp: OnAbortSession
info : logclienttcp: OnAbortSession
=== DONE! ===

=== AUTH ===
ERROR:incorrect passphrase for this key!
ERROR:load key failed!
log4j:ERROR Could not find manager. All logging will FAIL.
java.net.UnknownHostException: manager
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:867)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1246)
at java.net.InetAddress.getAllByName0(InetAddress.java:1197)
at java.net.InetAddress.getAllByName(InetAddress.java:1128)
at java.net.InetAddress.getAllByName(InetAddress.java:1064)
at java.net.InetAddress.getByName(InetAddress.java:1014)
at org.apache.log4j.helpers.SyslogWriter.<init>(SyslogWriter.java:39)
at org.apache.log4j.net.SyslogAppender.setSyslogHost(SyslogAppender.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.log4j.config.PropertySetter.setProperty(PropertySetter.java:196)
at org.apache.log4j.config.PropertySetter.setProperty(PropertySetter.java:155)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:120)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:87)
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:645)
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:603)
at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:500)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:406)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:432)
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:460)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
at org.apache.log4j.Logger.getLogger(Logger.java:94)
at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:229)
at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:65)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at protocol.GAuthServer.<clinit>(Unknown Source)
at authd.main(authd.java:57)
authd:: add PollIO task.
gauthd: 25 Jun 2012 23:45:43,905 INFO GAuthServer:69 - authd:: add PollIO task.
java.lang.NullPointerException: null buffer || null address
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(DatagramSocket.java:629)
at org.apache.log4j.helpers.SyslogWriter.write(SyslogWriter.java:69)
at org.apache.log4j.helpers.QuietWriter.write(QuietWriter.java:39)
at org.apache.log4j.helpers.SyslogQuietWriter.write(SyslogQuietWriter.java:45)
at org.apache.log4j.net.SyslogAppender.append(SyslogAppender.java:245)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:57)
at org.apache.log4j.Category.callAppenders(Category.java:194)
at org.apache.log4j.Category.forcedLog(Category.java:379)
at org.apache.log4j.Category.log(Category.java:844)
at org.apache.commons.logging.impl.Log4JLogger.info(Log4JLogger.java:133)
at authd.main(authd.java:69)
info : logclienttcp: OnAbortSession
=== DONE! ===

=== GAMEDBD ===
info : InitGameDB, Role delete time is 43200.
info : InitGameDB, acquire region(id=1),[l=-100000.0,r=100000.0,t=100000.0,b=-100000.0].
TRACE : ReadDBConfig init_time 1340660753 open_time 0
info : Init GameDB successfully.
info : logclienttcp: OnAbortSession
info : logclient: OnAddSession
info : logclienttcp: OnAbortSession
info : logclienttcp: OnAbortSession
=== DONE! ===

=== GACD ===
./start_min.sh: 31: ./gacd: not found
info : logclienttcp: OnAbortSession
=== DONE! ===

=== GFACTIOND ===
./start_min.sh: 36: ./gfactiond: not found
info : logclienttcp: OnAbortSession
=== DONE! ===

=== GDELIVERYD ===
TRACE : RewardManager:: consume reward does not open!
District id is 0
TRACE : gdeliveryd::Max player allowed is 6000
TRACE : GameTalkManager: OnStartUp(aid, zoneid)
info : GameDBServer::OnAddSession, sid=13.
TRACE : OnAddSession sid=13
TRACE : Timer update: (0) Mon Jun 25 23:46:08 2012

TRACE : sysauction initialize: auction max=4, total sell item=46
err : BillingAgent, duplicate item,id=16166,amount=500,timeout=0
err : BillingAgent, duplicate menuid,id=000000082000000002910000000001
err : BillingAgent, duplicate item,id=16024,amount=6000,timeout=0
err : BillingAgent, duplicate menuid,id=000000082000000002940000000001
err : BillingAgent, duplicate item,id=16019,amount=6000,timeout=0
err : BillingAgent, duplicate menuid,id=000000082000000002950000000001
TRACE : billing: menu loaded, menuids size=314, itemids size=314
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
info : logclienttcp: OnAbortSession
TRACE : ganticheatclient:: connect to GACD failed!
err : gdelivery::connect to GAuth server failed. Reconnecting....
info : logclient: OnAddSession
TRACE : DBAuctionList, size=0, handle=0
TRACE : DBWebTradeLoad, size=0, handle=0
TRACE : DBFactionFortressLoad, size=0, handle=0
TRACE : DBBattleLoad, count=0.
TRACE : DBStockLoad, size=0, handle=0
TRACE : dbauctionlist: received. res->items.size()=0,res->handle.size()=0 retcode=0
TRACE : dbwebtradeload: received. res->max_sn=0,res->items.size()=0,res->handle.size()=0 retcode=0
TRACE : dbfactionfortressload: received. res->list.size()=0,res->handle.size()=0 retcode=0
TRACE : FactionFortressMan: Sync faction id to gfactiond.
TRACE : BattleManager: Sync map notice to GS.
TRACE : BattleManager: Sync battle faction to gfactiond.
TRACE : DBStockLoad: retcode=0, size=0, handle=0
TRACE : DBWebTradeLoadSold, size=0, handle=0
TRACE : dbwebtradeloadsold: received. res->snlist.size()=0,res->handle.size()=0 retcode=0
TRACE : StockStatus:: uptime=0,trade_price=0,order_volume=0,trade_volume=0,trade_amount=0,idpool=2
info : logclienttcp: OnAbortSession
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
info : logclienttcp: OnAbortSession
TRACE : ganticheatclient:: connect to GACD failed!
err : gdelivery::connect to GAuth server failed. Reconnecting....
err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
=== DONE! ===

=== GLINKD ===
./start_min.sh: 46: ./glinkd: not found
./start_min.sh: 47: ./glinkd: not found
./start_min.sh: 48: ./glinkd: not found
./start_min.sh: 49: ./glinkd: not found
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : ganticheatclient:: connect to GACD failed!
info : logclienttcp: OnAbortSession
err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
err : gdelivery::connect to GAuth server failed. Reconnecting....
err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
err : gdelivery::connect to GAuth server failed. Reconnecting....
info : logclienttcp: OnAbortSession
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
TRACE : ganticheatclient:: connect to GACD failed!
info : logclienttcp: OnAbortSession
=== DONE! ===

=== MAIN WORLD ===
./start_min.sh: 54: ./gs: not found
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
err : gdelivery::connect to GAuth server failed. Reconnecting....
err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
TRACE : gdeliveryserver::statusannounce,online=0,fakemax=6000,load=0,attr=-805306368
err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
TRACE : ganticheatclient:: connect to GACD failed!
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
TRACE : KeepAlive sid=13
info : logclienttcp: OnAbortSession
err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : checkpoint begin.
TRACE : checkpoint end.
info : logclienttcp: OnAbortSession
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
err : gdelivery::connect to GAuth server failed. Reconnecting....
err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
err : gdelivery::connect to GAuth server failed. Reconnecting....
 

ROCKER

Пользователь
Пользователь
2 Апр 2012
9
0
8
31
www.onlydev.ru
1.Проверяй яву
2.И Пути
./start_min.sh: 31: ./gacd: not found
./start_min.sh: 46: ./glinkd: not found
./start_min.sh: 54: ./gs: not found
./start_min.sh: 36: ./gfactiond: not found
 

imb

Пользователь
Пользователь
1 Июн 2012
80
17
8
27
ia32-libs установил пакет??
 

GigaByte

Пользователь
Пользователь
10 Июн 2012
20
0
6
38
1.Проверяй яву
2.И Пути
./start_min.sh: 31: ./gacd: not found
./start_min.sh: 46: ./glinkd: not found
./start_min.sh: 54: ./gs: not found
./start_min.sh: 36: ./gfactiond: not found

1. Как проверить?
2. Пути верны, в том то и дело. Пути точно такие же, как в виртуалке. Там работает корректно.
ia32-libs установил пакет??
Вроде нет
 

imb

Пользователь
Пользователь
1 Июн 2012
80
17
8
27
apt-get install ia32-libs
исправит ошибки "not found"
 

TekkeN

Новичок
Пользователь
22 Июн 2012
1
0
1
31
Паша, у него походу ява не установилась а не библиотеки
 

imb

Пользователь
Пользователь
1 Июн 2012
80
17
8
27
У него 64 разрядная система, значит обязательно нужен пакет ia32-libs из-за него уже и возникают ошибки not found.
Насчёт явы согласен :)
 

GigaByte

Пользователь
Пользователь
10 Июн 2012
20
0
6
38
Немного исправилось теперь, но не всё:
root@Debian-60-squeeze-64-minimal:/pwserver# ./start_min.sh
=== LOGSERVICE ===
info : program started with 6 threads.
info : OnAddSession
=== DONE! ===

=== UNIQUENAMED ===
info : TcpManager OnAddSession
info : logclient: OnAddSession
info : logclienttcp: OnAddSession
info : OnAddSession
=== DONE! ===

=== AUTH ===
ERROR:incorrect passphrase for this key!
ERROR:load key failed!
log4j:ERROR Could not find manager. All logging will FAIL.
java.net.UnknownHostException: manager
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:867)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1246)
at java.net.InetAddress.getAllByName0(InetAddress.java:1197)
at java.net.InetAddress.getAllByName(InetAddress.java:1128)
at java.net.InetAddress.getAllByName(InetAddress.java:1064)
at java.net.InetAddress.getByName(InetAddress.java:1014)
at org.apache.log4j.helpers.SyslogWriter.<init>(SyslogWriter.java:39)
at org.apache.log4j.net.SyslogAppender.setSyslogHost(SyslogAppender.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.log4j.config.PropertySetter.setProperty(PropertySetter.java:196)
at org.apache.log4j.config.PropertySetter.setProperty(PropertySetter.java:155)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:120)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:87)
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:645)
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:603)
at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:500)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:406)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:432)
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:460)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
at org.apache.log4j.Logger.getLogger(Logger.java:94)
at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:229)
at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:65)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at protocol.GAuthServer.<clinit>(Unknown Source)
at authd.main(authd.java:57)
authd:: add PollIO task.
gauthd: 26 Jun 2012 00:21:10,710 INFO GAuthServer:69 - authd:: add PollIO task.
java.lang.NullPointerException: null buffer || null address
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(DatagramSocket.java:629)
at org.apache.log4j.helpers.SyslogWriter.write(SyslogWriter.java:69)
at org.apache.log4j.helpers.QuietWriter.write(QuietWriter.java:39)
at org.apache.log4j.helpers.SyslogQuietWriter.write(SyslogQuietWriter.java:45)
at org.apache.log4j.net.SyslogAppender.append(SyslogAppender.java:245)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:57)
at org.apache.log4j.Category.callAppenders(Category.java:194)
at org.apache.log4j.Category.forcedLog(Category.java:379)
at org.apache.log4j.Category.log(Category.java:844)
at org.apache.commons.logging.impl.Log4JLogger.info(Log4JLogger.java:133)
at authd.main(authd.java:69)
=== DONE! ===

=== GAMEDBD ===
info : TcpManager OnAddSession
info : InitGameDB, Role delete time is 43200.
info : InitGameDB, acquire region(id=1),[l=-100000.0,r=100000.0,t=100000.0,b=-100000.0].
TRACE : ReadDBConfig init_time 1340660753 open_time 0
info : Init GameDB successfully.
info : logclienttcp: OnAddSession
info : logclient: OnAddSession
=== DONE! ===

=== GACD ===
info : TcpManager OnAddSession
info : logclient: OnAddSession
info : logclienttcp: OnAddSession
=== DONE! ===

=== GFACTIOND ===
./gfactiond: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
=== DONE! ===

=== GDELIVERYD ===
TRACE : RewardManager:: consume reward does not open!
District id is 0
info : TRACE : TcpManager OnAddSession
gdeliveryd::Max player allowed is 6000
TRACE : GameTalkManager: OnStartUp(aid, zoneid)
TRACE : Timer update: (0) Tue Jun 26 00:21:35 2012

TRACE : sysauction initialize: auction max=4, total sell item=46
err : BillingAgent, duplicate item,id=16166,amount=500,timeout=0
err : BillingAgent, duplicate menuid,id=000000082000000002910000000001
err : BillingAgent, duplicate item,id=16024,amount=6000,timeout=0
err : BillingAgent, duplicate menuid,id=000000082000000002940000000001
err : BillingAgent, duplicate item,id=16019,amount=6000,timeout=0
err : BillingAgent, duplicate menuid,id=000000082000000002950000000001
TRACE : billing: menu loaded, menuids size=314, itemids size=314
TRACE : ganticheatclient:: connect gacd successfully!
err : gdelivery::connect to GAuth server failed. Reconnecting....
info : logclient: OnAddSession
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
info : logclienttcp: OnAddSession
info : OnAddSession
info : OnAddSession
TRACE : dbauctionlist: received. res->items.size()=0,res->handle.size()=0 retcode=0
TRACE : dbwebtradeload: received. res->max_sn=0,res->items.size()=0,res->handle.size()=0 retcode=0
TRACE : BattleManager: Sync map notice to GS.
TRACE : BattleManager: Sync battle faction to gfactiond.
TRACE : dbfactionfortressload: received. res->list.size()=0,res->handle.size()=0 retcode=0
TRACE : FactionFortressMan: Sync faction id to gfactiond.
TRACE : DBStockLoad: retcode=0, size=0, handle=0
TRACE : dbwebtradeloadsold: received. res->snlist.size()=0,res->handle.size()=0 retcode=0
TRACE : StockStatus:: uptime=0,trade_price=0,order_volume=0,trade_volume=0,trade_amount=0,idpool=2
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
err : gdelivery::connect to GAuth server failed. Reconnecting....
=== DONE! ===

=== GLINKD ===
info : TcpManager OnAddSession
info : TcpManager OnAddSession
info : TcpManager OnAddSession
info : info : TcpManager OnAddSession
logclient: OnAddSession
info : logclienttcp: OnAddSession
info : logclienttcp: OnAddSession
info : logclienttcp: OnAddSession
info : logclient: OnAddSession
info : logclient: OnAddSession
info : logclienttcp: OnAddSession
info : logclient: OnAddSession
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
err : gdelivery::connect to GAuth server failed. Reconnecting....
^[[21~err : gdelivery::connect to GAuth server failed. Reconnecting....
TRACE : gdelivery::gfactionclient: connect server failed. reconnecting...
^C
info : TcpManager OnDelSession
 

imb

Пользователь
Пользователь
1 Июн 2012
80
17
8
27
Какой дебиан?
--- добавлено: 26 июн 2012 в 02:25 ---
Щас.
 

imb

Пользователь
Пользователь
1 Июн 2012
80
17
8
27
Хм странно.
Попробуй это sudo apt-get install sun-java6-jre sun-java6-plugin точно не навредит.
А ты вообще полностью офаешь сервер, просто ошибки так же возникают когда запустил сервер-не выключил, и пытаешься ещё раз запустить.
 

GigaByte

Пользователь
Пользователь
10 Июн 2012
20
0
6
38
root@Debian-60-squeeze-64-minimal ~ # apt-get install sun-java6-jre sun-java6-plugin
Reading package lists... Done
Building dependency tree
Reading state information... Done
sun-java6-jre is already the newest version.
sun-java6-plugin is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 24 not upgraded.
root@Debian-60-squeeze-64-minimal ~ #

Да вроде как полностью, через stop.sh офаются все службы вроде как.
 

imb

Пользователь
Пользователь
1 Июн 2012
80
17
8
27
А ты исправлял пути в файлах .sh?
--- добавлено: 26 июн 2012 в 02:46 ---
там же в некоторых надо исправить /server/ на /pwserver/
 

GigaByte

Пользователь
Пользователь
10 Июн 2012
20
0
6
38
Не требовалось, пути сохранились. Та же папка pwserver.
Я целиком перенёс папку pwserver, она была на виртуалке, всё работало отлично. У тебя есть скайп?
 
Статус
В этой теме нельзя размещать новые ответы.

G2A

Пользователи онлайн

Сейчас на форуме нет ни одного пользователя.

Последние ресурсы

Статистика форума

Темы
3.835
Сообщения
21.242
Пользователи
7.463
Новый пользователь
DuglasS