playXP

서브 메뉴

글쓰기
작성자 아이콘Nios
작성일 2009-06-11 00:09:58 KST 조회 11,837
첨부
제목
워3 1.23b 베타 (한국어 번역 자료)

※ 한국어 토론장에서 별도의 번역 자료를 제공하지 않아 직접 번역하였습니다.

    퍼가실 때는 PlayXP 출처를 꼭 표기 하시기 바랍니다.

※ 프로그래밍 관련 내용이 대부분인 상태라 원어를 보시는 게 더 이해가 빠를 수 있습니다.

   원문을 바로 뒤에 첨부하였으니, 필요시에는 비교하시기 바랍니다.

※ 잘못된 번역은 지적해주시기 바랍니다.

 

--------------------------------------------------------------------------
1.23b 패치
--------------------------------------------------------------------------

 
월드 에디터 변경 사항

- 안전하지 않은 타입 캐스팅(type casting)을 방지하기 위해 일부 기능이 삭제되었습니다.

  하지만, 삭제된 종전 기능을 대체할 수 있는 새로운 JASS 해쉬테이블 함수가 추가되었습니다:

 

   - 해쉬 테이블 - 아이템 핸들 저장
   - 해쉬 테이블 - 유닛 핸들 저장
   - ...
   - 해쉬 테이블 - 아이템 핸들 불러오기
   - 해쉬 테이블 - 유닛 핸들 불러오기
   - ...
   - 해쉬 테이블 - 핸들 ID 얻기

 

 

 

버그 수정

- 지도에서 안전하지 않은 타입 캐스팅으로 사용자가 임의 코드 실행을 허용하던 보안 결함이 수정되었습니다.
- 안전하지 않은 JASS 타입 캐스팅 보안 결함("return bug")이 수정되었습니다.
- 월드 에디터가 정상적으로 실행되지 않던 여러 문제가 해결되었습니다.

 

 

 

(원문)

PC WORLD EDITOR CHANGES

- Added new JASS hash table functions to replace the lost functionality from fixing unsafe type casting.
   - Hash Table - Save Item Handle
   - Hash Table - Save Unit Handle
   - ...
   - Hash Table - Load Item Handle
   - Hash Table - Load Unit Handle
   - ...
   - Hash Table - Get Handle ID

 

FIXES

- Fixed an exploit related to unsafe type casting that allowed users to execute arbitrary code in maps.
- Fixed the JASS unsafe type casting exploit ("return bug").
- Fixed several World Editor crashes.

 


--------------------------------------------------------------------------------


배틀넷 지도 제작 공개 베타 테스트

 

블리자드는 최근 확인된 워크래프트3 보안 결함과 관련하여 임시 조치를 한 상태이며, 배틀넷에서 이 문제를 영구적으로 해결하기 위한 절차에 착수했습니다. 워크래프트3 지도를 통해 악성 소프트웨어를 배포할 수 있는 가능성을 방지하기 위한 이번 수정으로 말미암아, 현재의 지도들이 정상적으로 동작하기 위해서는 일부 기능의 조정이 필요합니다. 이번 업데이트를 정식 서버에 적용하기 전에, 인기 있는 지도의 일부 제작자들과 면밀히 대처하여 배틀넷 상에서 중단 없이 계속해서 플레이 할 수 있도록 하겠습니다. 지도 제작자 분들이 자신의 지도를 테스트 할 수 있도록 2009년 6월 10일(한국 시각)부터 공개 베타 서버(PTR)를 오픈합니다. 또한, 이 과정이 진행되는 동안 지도 제작자 분들이 새로운 패치에 대응할 수 있도록 온라인 가이드를 제공할 것 입니다. 이번 패치가 최종 릴리즈 되기 전까지 업데이트 관한 부분이라면 어떠한 내용이든 글을 남기셔도 좋습니다.

 

Following our temporary fix to address the recently identified Warcraft III exploit, we have begun preparations to implement a permanent resolution of the issue on Battle.net. As a consequence of this fix (which prevents the possibility of malicious software being spread through Warcraft III maps), we do anticipate that some functionality in current maps will need to be adjusted before it will work properly. Before deploying the fix, we’ll be working closely with the makers of some of the most popular maps to ensure that their maps continue to stay playable on Battle.net with little to no interruption. In the meantime, we’ll be hosting a Public Test Realm (PTR) for map makers to test their maps beginning on June 9th, 2009. We will also be hosting online guides to help map makers make the transition into the new patch during this process. Throughout this process we’ll keep everyone posted on any updates leading up to the release of the patch.

 

 

 

FAQ

 

제가 즐겨하던 커스텀 맵을 배틀넷에서 플레이 할 수 있나요?

이번 작업이 진행되는 동안, 인기 있는 지도의 일부 제작자들과 면밀히 대처하여 배틀넷 상에서 중단 없이 계속해서 플레이 할 수 있도록 하겠습니다.

 

Will I be able to play my favorite custom maps online on Battle.net? 

We’ll be working closely with the map creators of many popular custom maps on Battle.net to ensure that they’re consistently playable online throughout this process.

 

 

 

지금 배틀넷에서 게임을 하면 제 컴퓨터에 바이러스가 걸리나요?
이 문제가 확인된 직후, 즉시 배틀넷에서 문제가 있는 맵은 플레이 할 수 없도록 임시 조치를 완료했습니다. 하지만, 비공적인 출처나 신뢰할 수 없는 웹사이트에서 다운로드 받은 지도를 플레이 하지 않길 권장합니다. (악성 지도를 다른 인기 지도인것 처럼 위장하여 공유할 수 있음도 유의)

 

Will my computer catch a virus while playing on Battle.net right now?
Our temporary fix has addressed the immediate issues that have been identified on Battle.net, but we still recommend that players avoid downloading maps from unofficial sources or websites they do not trust -- be aware that corrupted maps may share the same name as other popular maps.  

 

 

 

새로운 패치에서 제 맵이 작동하는지 어떻게 알 수 있나요?
베타 서버가 2009년 6월 10일 오픈합니다. 베타 서버에서 테스트 할 수 있습니다.

 

How do I know if my map will work with the new patch?
The PTR will be going live on June 9th, 2009 and you will be able to test your maps there.

 

 

 

베타 서버에서 제 맵이 올바르게 작동하지 않는다면 어떻게 수정하나요?

아래의 가이드를 참고하셔서 지도를 수정하시기 바랍니다.

 

How do I fix my map if it does not work properly on the PTR?

A guide will be up on Battle.net shortly giving more technical details on how to fix many of the issues that may cause certain features on the map to malfunction. A link to that guide will also be updated in this forum thread as well when available.

 

 

 

Note: Only english-US builds will be allowed to connect with Westfall


알림: 영문판 사용자만 Westfall 서버에 접속이 허용됩니다. 한국어 공식 패치나 한글판으로 설치하신 분은 패치가 불가합니다.


알림2: 한워크는 영문판 사용자는 영문판으로 내부 언어 코드를 계속해서 유지시켜드리기 때문에 영문판에 한워크를 설치하신 분은 문제가 없습니다. 다만, 한글판 사용자는 한글판으로 내부 언어 코드를 계속해서 유지시켜드리기 때문에 한글판에 한워크를 설치하신 분은 접속이 불가합니다.
 

 

---------------------------------------------------------------------------------------------


 

개발자 분들께,
 

본 가이드는 숙련된 워크래프트3 지도 개발자 분들께 새로운 JASS 기능 변경에 대한 이해를 도와드리기 위해 작성되었습니다. 이러한 변경 사항은 커스텀 지도 개발자의 일부에만 적용되며, 대부분의 커스텀 지도는 영향을 받지 않음을 알려드립니다. 이번 변경에 따른 영향을 받는 지도의 제작자 분들은 어떤 방법을 통해 새롭게 구현할 수 있는지 아래의 설명을 자세히 읽어주시기 바랍니다.

 

알림: JASS가 사용된 지도는 다음 워크래프트3 패치가 릴리즈된 이후 호환성 문제로 인해 올바르게 작동하지 않을 수 있습니다.

 

Welcome Developers,

 

This guide has been written to help advanced Warcraft III map developers understand the changes that we’ve made to the JASS functionality. Please note that these changes apply to only a small set of custom map developers, and most Warcraft 3 custom maps remain unaffected. For those developers whose maps are affected by the changes we’ve made, please review the steps below to understand how to bring your map into compliance with our new implementation.

 

Note: JASS-enabled maps that are not brought into compliance with the may not work correctly or at all after we release the next Warcraft III patch.

 

 

새 구현 방법 상세 정보:

 

이번 패치에는 97개의 새로운 네이티브 JASS 함수가 포함되어 있습니다. 또한, 하나의 새로운 JASS 핸들 유형이 지도 제작자분들을 돕기 위해 디자인 되었습니다. 이러한 강화 사항은 GameCache 구조와 매우 유사한 새로운 해쉬테이블 저장 시스템의 일부입니다.

 

종전의 GameCache JASS 함수는 유닛과 JASS 원형(정수, 실수, 부울, 문자열)으로만 저장될 수 있었지만, 해쉬테이블은 대부분의 JASS 핸들 유형을 저장할 수 있습니다. 추가적으로 해쉬테이블에서 데이터를 저장하거나 가져오는 것은 GameCache에 데이터를 저장하는 것 보다 빠르며, 보다 안전합니다.

 

새로운 GetHandleId 및 StringHash 함수는 핸들이나 문자열을 정수로 변환 할 수 있도록 도와줍니다. 이러한 우회적 허용으로 핸들 및 문자열을 해쉬테이블 키로 사용할 수 있습니다.

 

Details on our new implementation:

This patch includes 97 new native JASS functions and one new JASS handle type designed to assist map makers. These enhancements are part of a new hashtable storage system which is very similar in structure to the GameCache.

 

While the original GameCache JASS functions only allowed units and JASS primitives to be stored (Integer, Real, Boolean, and String), hashtables can store most JASS handle types. However unlike the GameCache which uses strings for keys, the hashtable uses integers. Additionally, storing and retrieving data in hashtables are much faster and safer than storing data in the GameCache.

 

The new functions GetHandleId and StringHash are to assist in turning either a handle or a string into an integer. This indirectly allows handles and strings to be used as hashtable keys.

 

 

StringHash:
StringHash는 문자열을 취하여 S2I 와 매우 흡사한 정수를 반환합니다. StringHash는 모든 문자열에 사용할 수 있습니다.

 

StringHash takes a string and returns an integer much like S2I, however StringHash can be used on any string.


 

 

GetHandleId:
GetHandleId는 핸들을 취하여 정수를 반환합니다. GetHandleId는 return bug로 작성된 H2I 기능과 동일하게 작동합니다. 기존 지도들의 JASS 명명(naming) 충돌의 수를 줄이기 위해, GetHandleId로 함수 이름을 지었습니다. 향후 네이티브 H2I 기능을 JASS에 추가할 예정이므로, GetHandleId 함수의 앨리어스(별칭)로 H2I를 만들지 말 것을 지도 제작자 분들께 권고합니다.

 

GetHandleId takes a handle and returns an integer. GetHandleId works exactly like H2I functions that were written with the return bug. In order to reduce the number of JASS naming conflicts with existing maps, we named the function GetHandleId. We ask map makers to not create a GetHandleId alias function with the name H2I, as we will add a native H2I function to JASS in the future.

 

 

 

hashtable:
Hashtable 변수는 'hashtable' 이름의 형식을 사용하여 선언할 수 있습니다. 새로운 해쉬테이블을 만들려면 InitHashTable 함수를 호출하십시오. 예컨데, local hashtable ht = InitHashTable() 호출은 ht 변수에 새로운 해쉬테이블 개체를 생성합니다.

 

모든 핸들 유형은 같은 키 네임스페이스를 공유합니다. 예를 들면, 같은 키로 SaveUnitHandle 다음에 SavePlayerHandle 호출을 할 경우, 유닛 핸들이 플레이어 핸들을 겹쳐씁니다. 핸들 함수는 동일 키 공간을 공유하기 때문에, SaveXHandle 및 LoadXHandle 함수를 사용하면 안전합니다. 예컨데, SavePlayerHandle 다음에 local unit u = LoadUnitHandle을 호출하면 u 변수는 null 값으로 초기화된 결과를 보입니다.

 

모든 핸들 개체가 해쉬테이블에서 저장되거나 제거될 때 자동으로 레퍼런스 카운트(reference-count) 됩니다. (단, TextTag, Lightning, Image, Ubersplat, FogState 제외) 이러한 허용 핸들 개체는 메모리 과다 점유 없이 해쉬테이블에 저장할 수 있도록 합니다. 레퍼런스 카운트는 개체가 해쉬테이블에서 추가되거나 내용을 비우거나(flush), 겹쳐쓰여질 경우 갱신됩니다.

 

Hashtable variables can be declared using the type name ‘hashtable’. As mentioned before, hashtables work very similar to gamecache objects. To create a new hashtable call InitHashtable. For example local hashtable ht = InitHashtable() will create a new hashtable object and assign it to ht.

 

All handle types share the same key namespace. For instance, if you call SavePlayerHandle followed by SaveUnitHandle, with the same keys, then the unit handle will overwrite the player handle. Even though the handle functions share the same key space, The SaveXHandle and LoadXHandle functions are type safe. For instance, calling SavePlayerHandle followed by local unit u = LoadUnitHandle will result with u initialized to null.

 

All handle objects saved or removed from a hashtable are automatically reference-counted (with the exception of TextTag, Lightning, Image, Ubersplat, and FogState). This allows handle objects to be saved in the hashtable without risk of the object’s being prematurely memory freed. The reference counts are updated when an object is either added to, flushed, or overwritten in a hashtable.

 

 


다음은 새로운 JASS 함수의 전체 목록입니다:

 

InitHashtable
GetHandleId
StringHash

SaveInteger
SaveReal
SaveBoolean
SaveStr
SavePlayerHandle
SaveWidgetHandle
SaveDestructableHandle
SaveItemHandle
SaveUnitHandle
SaveAbilityHandle
SaveTimerHandle
SaveTriggerHandle
SaveTriggerConditionHandle
SaveTriggerActionHandle
SaveTriggerEventHandle
SaveForceHandle
SaveGroupHandle
SaveLocationHandle
SaveRectHandle
SaveBooleanExprHandle
SaveSoundHandle
SaveEffectHandle
SaveUnitPoolHandle
SaveItemPoolHandle
SaveQuestHandle
SaveQuestItemHandle
SaveDefeatConditionHandle
SaveTimerDialogHandle
SaveLeaderboardHandle
SaveMultiboardHandle
SaveMultiboardItemHandle
SaveTrackableHandle
SaveDialogHandle
SaveButtonHandle
SaveTextTagHandle
SaveLightningHandle
SaveImageHandle
SaveUbersplatHandle
SaveRegionHandle
SaveFogStateHandle
SaveFogModifierHandle

LoadInteger
LoadReal
LoadBoolean
LoadStr
LoadPlayerHandle
LoadWidgetHandle
LoadDestructableHandle
LoadItemHandle
LoadUnitHandle
LoadAbilityHandle
LoadTimerHandle
LoadTriggerHandle
LoadTriggerConditionHandle
LoadTriggerActionHandle
LoadTriggerEventHandle
LoadForceHandle
LoadGroupHandle
LoadLocationHandle
LoadRectHandle
LoadBooleanExprHandle
LoadSoundHandle
LoadEffectHandle
LoadUnitPoolHandle
LoadItemPoolHandle
LoadQuestHandle
LoadQuestItemHandle
LoadDefeatConditionHandle
LoadTimerDialogHandle
LoadLeaderboardHandle
LoadMultiboardHandle
LoadMultiboardItemHandle
LoadTrackableHandle
LoadDialogHandle
LoadButtonHandle
LoadTextTagHandle
LoadLightningHandle
LoadImageHandle
LoadUbersplatHandle
LoadRegionHandle
LoadFogStateHandle
LoadFogModifierHandle

HaveSavedInteger
HaveSavedReal
HaveSavedBoolean
HaveSavedString
HaveSavedHandle

RemoveSavedInteger
RemoveSavedReal
RemoveSavedBoolean
RemoveSavedString
RemoveSavedHandle


FlushParentHashtable
FlushChildHashtable

 

 

 

번역: Nios (PlayXP) 

 


 

파일포켓 이미지

▲ 베타 패치인 만큼, 게이트웨이에서 Westfall (Beta) 를 선택하여 접속해야 합니다.

 

파일포켓 이미지

▲ 패치가 완료되면 1.23.0 에서 1.23.1 버전으로 업그레이드 됩니다.

 

참고: 다시 칼림도어 같은 종전 서버로 접속하면 1.23 버전으로 롤백됩니다.

        따라서, 1.23 버전과 1.23b 버전을 번갈아가면서 쓰실 수 있으니 패치에 따른 불이익은 없습니다.

 

 

 

워3 1.23b 패치는 지난 달 초에 공지되었던 워3 커스텀 맵 보안 취약점을 완전히 해결하기 위한 업데이트 입니다. 따라서, 별다른 밸런스 등의 변경 없이 순수히 월드에디터와 관련된 패치입니다.

 

다만, 이번 업데이트 인해 현재 맵들의 호환성 문제가 불거질 수 있습니다. 이에 따라 블리자드에서는 웨스트폴(베타) 서버를 오픈하여 정규 서버에 업데이트 되기 전에 현재 맵들에 대해 충분히 호환성 개선 작업을 할 수 있도록 맵 제작자 분들께 편의를 제공할 예정입니다.

 

맵 제작자 분들은 이번 업데이트에 따른 맵의 호환성 부분을 체크하여 보시기 바랍니다.

 

참고 사항

1.23b 패치가 정규 서버에 적용될 경우, 호환성 점검을 미처 하지 못해 호환성 문제가 발생하는 맵들은 더 이상 배틀넷에서 플레이 할 수 없게 됩니다. 때문에, 맵 제작자 분들은 이번 호환성 점검을 꼭 하시길 강력히 추천합니다.

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

발도장 찍기
  |   아이콘 The_Rainbow   |   아이콘 진유온   |     |   아이콘 디카만한바퀴벌레   |   아이콘 뒷북코도   |   아이콘 A.onE)VEGA   |   아이콘 [Enemy]   |     |   아이콘 [친절한워든씨]   |   아이콘 죽은사람   |  
고전게임 (2009-06-11 02:32:21 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
어려운 프로그래밍 용어가 나와서 몰르겟네요 ㅠ
아이콘 진유온 (2009-06-11 04:52:19 KST) JinYuOn@Kalimdor (Lv.0)
0↑ ↓0
센스 이미지
아...머리야...ㅠㅠ
구지성 (2009-06-11 07:57:11 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
걍 게임만 해야지...힘들군 ㅋ
메론빵의샤나 (2009-06-11 09:39:33 KST)
0↑ ↓0
센스 이미지
결론은 이번 악성맵들 탓에 핸들들을 바꿨다는 소리인가
yamo (2009-06-11 11:33:33 KST) - 203.237.xxx.178
0↑ ↓0
센스 이미지를 등록해 주세요
역시 워크는 게임에뮬
Nivi (2009-06-11 17:52:44 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
당분간 워크가 게임에뮬 기능을 못한다 그건가? 안 돼! 내 에뮬이......
as (2009-06-11 18:21:02 KST) - 221.155.xxx.116
0↑ ↓0
센스 이미지를 등록해 주세요
ㅋㅋ 역시 블리자드도 워크를 유즈맵 에뮬로 생각하네요
이지브 (2009-06-11 18:48:50 KST) - 122.32.xxx.39
0↑ ↓0
센스 이미지를 등록해 주세요
LHV못쓰잖아 블리자드 개새끼야 ㅜㅜ
겔4스 (2009-06-11 20:58:09 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
맵 보내주고 싶다
아이콘 부릉이운전병 (2009-06-12 07:39:04 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
워매 뭔 소린지 모르겄다.....
똥아 (2009-06-12 11:22:22 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
1.23.0 인데 1.23.1 로 어떻게 해야된다는 말인가? 뭐가 뭔소리인지 모르겠어요
rain-seven (2009-06-12 19:16:09 KST)
0↑ ↓0
센스 이미지
우린 상관없이 게임만 하면됩니다
아이콘 알루미나 (2009-06-13 12:45:00 KST)
0↑ ↓0
센스 이미지
맵 개발자들에게만 해당되는 내용
..... (2009-06-15 12:16:45 KST) - 119.64.xxx.137
0↑ ↓0
센스 이미지를 등록해 주세요
본격 월드맵 에디터 패치..
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.